Delivers FCM-M5-001 documentation, examples, deterministic documentation validation, and tracking for parent #758. Parent #758 remains open.
M5 checklist evidence
Baseline contracts
Roster desired-state authority, derived/observed state, lifecycle, generated/local boundary, authority separation, and local-tmux exclusions: docs/PRD.md, docs/fleet/README.md, and docs/fleet/concepts/.
M0-M5 DAG and exact M4-001 completion evidence: docs/TASKS.md.
Shipped example/profile/service disposition: docs/fleet/LEGACY-EXAMPLE-PROFILE-DISPOSITION-INVENTORY.md and docs/fleet/migration/example-profile-disposition.md.
Accepted documentation IA
Entry point and decision tree: docs/fleet/README.md.
Concepts: docs/fleet/concepts/desired-vs-observed-state.md, identity-class-runtime.md, role-authority-and-leases.md, and generated-env-launch-chain.md.
Schema and reference: docs/fleet/reference/roster-v2.schema.json, roster-v2-fields.md, cli.md, role-classes.md, lifecycle-transitions.md, status-and-drift.md, and generated-env-boundary.md.
Operator how-tos: CRUD, one-shot lifecycle, configurable interaction/validator instances, and role customization under docs/fleet/how-to/.
Operations: reconcile/recover, quarantine, systemd/tmux troubleshooting, backup/restore boundaries, and upgrade-asset hold under docs/fleet/operations/.
Migration: v1-to-v2 preview, disposition, and alias rules under docs/fleet/migration/.
Navigation: docs/SITEMAP.md.
Closure/deferral evidence: docs/reports/documentation/758-fleet-config-ia-closure.md and docs/reports/deferred/758-fleet-config-deferrals.md.
Deterministic validation
packages/mosaic/src/fleet/fleet-documentation.spec.ts verifies every accepted IA page exists, local fleet-book/sitemap links resolve, the canonical v2 example validates through the production parser and shared semantic resolver, and the example contains no sensitive-looking keys, arbitrary command override, or hardcoded Tess/Ultron identity.
docs/fleet/examples/roster-v2.yaml is the generic canonical example.
FCM-M4-002 remains unchecked and held: no executable/live cutover, canary, stopped-state migration, rollback, orphan migration, deployment, systemd/tmux/session, or generated-projection action was implemented or executed.
FCM-M5-002 remains unchecked and held: no asset-drift implementation, rolling canary, validator certificate, merge-gate approval, or parent-issue closure is claimed.
Independent exact-head review and terminal-green PR CI remain post-PR gates.
roster.yaml remains the sole writable desired-state authority; generated state remains derived/observed.
mos-comms remains temporary and is not documented as permanent architecture.
No credentials, sensitive values, privileged command content, remote reconciliation, connector mutation, or product mutation is introduced.
VERIFIED REQUEST CHANGES — reviewer-of-record lane: independent current-main prospective-tree review; exact head 862dbd520498a31d2e3f19216e0d513bc6ce04eb; base main d3bf52898b6db2fc7845d4a29af4600973844443; merge-base 9745bc3f29c26b021a478b7ad03cfb494f6c9de3; prospective tree cb2d2aa8c772d630765c2e404134ee5af57d8521.
Blocking findings:
packages/mosaic/src/fleet/fleet-documentation.spec.ts:138-525 implements a general shell parser (segmentation, quoting/escaping, tokenization, GNU env/command, recursive sh/bash -c, and su option semantics), violating the approved no-general-shell-parser boundary. Replace with the closed ConcreteCommand/Synopsis/DataProfile/InlineLiteral grammar model.
packages/mosaic/src/fleet/fleet-documentation.spec.ts:527-570,872-887 scans only fenced blocks plus roster YAML and returns unconstrained heuristic string categories. Rendered inline-code spans and indented code blocks are omitted, so the required exactly-one closed classification is neither comprehensive nor closed. Raw HTML code containers and indented code must reject.
docs/fleet/reference/cli.md:16-17,27-30 and docs/fleet/how-to/start-stop-restart.md:12 use [name]; accepted optional-agent notation is [].
Exact-tree evidence otherwise passed: focused Vitest 7 files / 300 tests, mosaic typecheck, lint, and git diff --check. Publish a blocker-only new head; no design approval, CI, review, or tree evidence transfers. Parent #758 remains open; M4-002/M5-002 and all live action remain held.
VERIFIED REQUEST CHANGES — reviewer-of-record lane: independent current-main prospective-tree review; exact head 862dbd520498a31d2e3f19216e0d513bc6ce04eb; base main d3bf52898b6db2fc7845d4a29af4600973844443; merge-base 9745bc3f29c26b021a478b7ad03cfb494f6c9de3; prospective tree cb2d2aa8c772d630765c2e404134ee5af57d8521.
Blocking findings:
1. packages/mosaic/src/fleet/fleet-documentation.spec.ts:138-525 implements a general shell parser (segmentation, quoting/escaping, tokenization, GNU env/command, recursive sh/bash -c, and su option semantics), violating the approved no-general-shell-parser boundary. Replace with the closed ConcreteCommand/Synopsis/DataProfile/InlineLiteral grammar model.
2. packages/mosaic/src/fleet/fleet-documentation.spec.ts:527-570,872-887 scans only fenced blocks plus roster YAML and returns unconstrained heuristic string categories. Rendered inline-code spans and indented code blocks are omitted, so the required exactly-one closed classification is neither comprehensive nor closed. Raw HTML code containers and indented code must reject.
3. docs/fleet/reference/cli.md:16-17,27-30 and docs/fleet/how-to/start-stop-restart.md:12 use [name]; accepted optional-agent notation is [<name>].
Exact-tree evidence otherwise passed: focused Vitest 7 files / 300 tests, mosaic typecheck, lint, and git diff --check. Publish a blocker-only new head; no design approval, CI, review, or tree evidence transfers. Parent #758 remains open; M4-002/M5-002 and all live action remain held.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Scope
Delivers FCM-M5-001 documentation, examples, deterministic documentation validation, and tracking for parent #758. Parent #758 remains open.
M5 checklist evidence
Baseline contracts
docs/PRD.md,docs/fleet/README.md, anddocs/fleet/concepts/.docs/TASKS.md.docs/fleet/LEGACY-EXAMPLE-PROFILE-DISPOSITION-INVENTORY.mdanddocs/fleet/migration/example-profile-disposition.md.Accepted documentation IA
docs/fleet/README.md.docs/fleet/concepts/desired-vs-observed-state.md,identity-class-runtime.md,role-authority-and-leases.md, andgenerated-env-launch-chain.md.docs/fleet/reference/roster-v2.schema.json,roster-v2-fields.md,cli.md,role-classes.md,lifecycle-transitions.md,status-and-drift.md, andgenerated-env-boundary.md.docs/fleet/how-to/.docs/fleet/operations/.docs/fleet/migration/.docs/SITEMAP.md.docs/reports/documentation/758-fleet-config-ia-closure.mdanddocs/reports/deferred/758-fleet-config-deferrals.md.Deterministic validation
packages/mosaic/src/fleet/fleet-documentation.spec.tsverifies every accepted IA page exists, local fleet-book/sitemap links resolve, the canonical v2 example validates through the production parser and shared semantic resolver, and the example contains no sensitive-looking keys, arbitrary command override, or hardcoded Tess/Ultron identity.docs/fleet/examples/roster-v2.yamlis the generic canonical example.Validation
pnpm format:check: passed.pnpm lint: 23 tasks passed.pnpm typecheck: 42 tasks passed.pnpm test: 43 tasks passed;@mosaicstack/mosaic61 files / 1,045 tests passed.git diff --check: passed.Explicit holds and boundaries
roster.yamlremains the sole writable desired-state authority; generated state remains derived/observed.mos-commsremains temporary and is not documented as permanent architecture.Parent: #758
VERIFIED REQUEST CHANGES — reviewer-of-record lane: independent current-main prospective-tree review; exact head 862dbd520498a31d2e3f19216e0d513bc6ce04eb; base main d3bf52898b6db2fc7845d4a29af4600973844443; merge-base 9745bc3f29c26b021a478b7ad03cfb494f6c9de3; prospective tree cb2d2aa8c772d630765c2e404134ee5af57d8521.
Blocking findings:
Exact-tree evidence otherwise passed: focused Vitest 7 files / 300 tests, mosaic typecheck, lint, and git diff --check. Publish a blocker-only new head; no design approval, CI, review, or tree evidence transfers. Parent #758 remains open; M4-002/M5-002 and all live action remain held.
VERIFIED APPROVE — reviewer-of-record W-jarvis:reviewer; exact head a39bafb8e3a56e1e663ba8304f50bd17522e2896; exact base/current main 0582a8912b133a86849bea99903ea7431db28595; tree
a7f1fcb0e4. Prior stale-head blockers independently verified closed: closed ConcreteCommand/Synopsis/DataProfile/InlineLiteral grammar only; exhaustive exactly-one classification with inline/indented/raw-HTML rejection; optional-agent notation []. Full prospective-tree review found no blockers. Validation: diff check; focused 7 files/214 tests; @mosaicstack/mosaic 61 files/1064 tests; root 43/43 tasks; package/root typecheck+lint; format; credential-pattern scan. Exact-head CI #1907 terminal success. Lane provenance: author jason.woltje; reviewer process W-jarvis:reviewer dispatched by W-jarvis:orchestrator; reviewer made no edits/provider mutations. Content-addressed RoR sha256 0ad2d3d1bd4f1afe360b521e9a2766495be344abec7ec399f7b7244fe6c9e193 (7482 bytes), locally re-hashed byte-exact by Mos. Parent #758 remains open; M4-002/M5-002 and every live action remain held.