feat(fleet): seed role registry markdown library #655

Merged
jason.woltje merged 1 commits from feat/a2-role-registry into main 2026-06-24 14:39:55 +00:00
Owner

Card A2 — seed role registry markdown library

Adds one markdown role-contract per fleet roster class, modeled on the existing packages/mosaic/framework/fleet/roles/enhancer.md (matching its title / mandate / boundaries structure). enhancer.md was left untouched.

New role files (packages/mosaic/framework/fleet/roles/)

Role Tier Summary
board front Owns NORTH_STAR.yaml; ratifies/vetoes goals & assumptions; never codes or merges
planner front Alias of the existing orchestrator class (documented, not a competing class — two-agent floor preserved); emits phased FRs + depends_on DAG, not tasks
decomposition front Splits FRs into one-PR cards via the native mosaic fleet backlog; never starts work
code exec Implements one card to green CI; opens PR via pr-create.sh; stays in card scope
review exec Correctness/scope/coverage; approves or requests changes; does not merge
security-review exec Secret/auth/forbidden-path second line (authoritative list lives in the pr-merge.sh guard)
site-tester exec Runtime/behavioral verification vs acceptance criteria
documentation exec Prose docs + NORTH_STAR projections; single-writer per TASKS file
merge-gate gate Sole approver/auto-merger; names pr-merge.sh + pr-ci-wait.sh as the ONLY merge path; no raw tea/Gitea API; per-decision heartbeat; honors fleet/run/PAUSED
rebase exec Owns stale / mergeable==false PRs; rebase+re-run or escalate on real conflict
operator meta Consumes/re-raises escalations; owns the PAUSE switch surface
session-review meta Post-task retros into structured signals for the enhancer

Every file states explicit non-merge / non-code boundaries.

install.sh

fleet/roles/ is already seeded by the normal sync (rsync/cp path; see the comment block ~lines 27-34 and the seed logic). New fleet/roles/*.md files therefore land automatically — verified by running install in MOSAIC_SYNC_ONLY=1 mode, which seeded all 13 role files (12 new + enhancer) into the target. No new PRESERVE_PATHS entry is needed (that list is for user-owned files that must survive sync, not framework-seeded ones). Added a one-line confirming comment to make the auto-seed guarantee explicit.

No Hermes

No Hermes references anywhere in the new files or the install.sh change (decomposition uses the native mosaic fleet backlog).

Gates

typecheck · lint · format:check · vitest 553/553

🤖 Generated with Claude Code

## Card A2 — seed role registry markdown library Adds one markdown role-contract per fleet roster class, modeled on the existing `packages/mosaic/framework/fleet/roles/enhancer.md` (matching its title / mandate / boundaries structure). `enhancer.md` was left untouched. ### New role files (`packages/mosaic/framework/fleet/roles/`) | Role | Tier | Summary | |---|---|---| | board | front | Owns NORTH_STAR.yaml; ratifies/vetoes goals & assumptions; never codes or merges | | planner | front | **Alias of the existing orchestrator class** (documented, not a competing class — two-agent floor preserved); emits phased FRs + depends_on DAG, not tasks | | decomposition | front | Splits FRs into one-PR cards via the native `mosaic fleet backlog`; never starts work | | code | exec | Implements one card to green CI; opens PR via `pr-create.sh`; stays in card scope | | review | exec | Correctness/scope/coverage; approves or requests changes; does not merge | | security-review | exec | Secret/auth/forbidden-path second line (authoritative list lives in the `pr-merge.sh` guard) | | site-tester | exec | Runtime/behavioral verification vs acceptance criteria | | documentation | exec | Prose docs + NORTH_STAR projections; single-writer per TASKS file | | merge-gate | gate | **Sole approver/auto-merger; names `pr-merge.sh` + `pr-ci-wait.sh` as the ONLY merge path**; no raw tea/Gitea API; per-decision heartbeat; honors fleet/run/PAUSED | | rebase | exec | Owns stale / mergeable==false PRs; rebase+re-run or escalate on real conflict | | operator | meta | Consumes/re-raises escalations; owns the PAUSE switch surface | | session-review | meta | Post-task retros into structured signals for the enhancer | Every file states explicit non-merge / non-code boundaries. ### install.sh `fleet/roles/` is already seeded by the normal sync (rsync/cp path; see the comment block ~lines 27-34 and the seed logic). New `fleet/roles/*.md` files therefore land automatically — verified by running install in `MOSAIC_SYNC_ONLY=1` mode, which seeded all 13 role files (12 new + enhancer) into the target. No new PRESERVE_PATHS entry is needed (that list is for *user-owned* files that must survive sync, not framework-seeded ones). Added a one-line confirming comment to make the auto-seed guarantee explicit. ### No Hermes No Hermes references anywhere in the new files or the install.sh change (decomposition uses the native `mosaic fleet backlog`). ### Gates typecheck ✅ · lint ✅ · format:check ✅ · vitest 553/553 ✅ 🤖 Generated with [Claude Code](https://claude.com/claude-code)
jason.woltje added 1 commit 2026-06-24 14:16:36 +00:00
feat(fleet): seed role registry markdown library
All checks were successful
ci/woodpecker/pr/ci Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
1ca9fa90df
Add one markdown role-contract per fleet roster class, modeled on the
existing enhancer.md (title / mandate / boundaries structure):

- board (front): owns NORTH_STAR.yaml; ratifies/vetoes goals; never codes/merges
- planner (front): alias of the orchestrator class; emits phased FR + depends_on DAG
- decomposition (front): splits FRs into one-PR cards via native `mosaic fleet backlog`
- code (exec): implements one card to green CI; opens PR via pr-create.sh
- review (exec): correctness/scope/coverage; approves or requests changes
- security-review (exec): secret/auth/forbidden-path second line (guard lives in pr-merge.sh)
- site-tester (exec): runtime/behavioral verification vs acceptance criteria
- documentation (exec): prose + NORTH_STAR projections; single-writer per TASKS file
- merge-gate (gate): sole approver/merger via pr-merge.sh + pr-ci-wait.sh only
- rebase (exec): owns stale / mergeable==false PRs; rebase+rerun or escalate
- operator (meta): consumes/re-raises escalations; owns the PAUSE switch
- session-review (meta): post-task retros into structured signals for the enhancer

Every file states non-merge / non-code boundaries; merge-gate names the
wrapped scripts as the only merge path. No Hermes references. install.sh
gains a confirming comment: fleet/roles/*.md seed automatically via the
existing normal sync, so no per-file PRESERVE/entry is required.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
jason.woltje merged commit cabb179d5a into main 2026-06-24 14:39:55 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mosaicstack/stack#655