diff --git a/agents/sage/work/t1-seats/COMMON.md b/agents/sage/work/t1-seats/COMMON.md new file mode 100644 index 000000000..8b4ea37c3 --- /dev/null +++ b/agents/sage/work/t1-seats/COMMON.md @@ -0,0 +1,48 @@ +# Common start for Sage's MVP T1 builder seats (mos-0974, mos-0977) + +You are a builder seat on Mosaic Stack, repository /mnt/storage/src/mosaic-stack, branch base `refactor`. +Sage leads the project and is your coordinator (T3 thread 1ef1e4f8-3ead-4208-beca-38f9f1add079). Mos speaks +for Jason (thread 38bc4c81-6270-4021-b00c-6a15c43b9b0e). Human input reaches you only through Sage and Mos. + +## Read first, in this order + +1. `/mnt/storage/src/jason-master-restart/USER.md`, `SYSTEM.md`, `CONSTITUTION.md` (who Jason is, the + system rules, the constitution). +2. `/mnt/storage/src/jason-master-restart/TARGET.md` (the MVP addendum) and `DECISIONS.md` Q176 to Q178. +3. `/mnt/storage/src/jason-master-restart/projects/mosaic-mvp/GAP-MAP.md` and `PLAN.md`. + Everything under jason-master-restart is read only. +4. The repository's `AGENTS.md`, then your brief (named in your first message) and the files it points to. + +## Your worktree + +T3 made your worktree from `refactor`. Work only there. Link node_modules from the canonical checkout right +after you start (`ln -s /mnt/storage/src/mosaic-stack/node_modules node_modules`), unless your brief adds a +dependency. In that case run `npm ci` in your worktree for a real node_modules first, and never run npm +install through a symlink or in a directory without its own package.json (npm walks up to home). + +## Rules that bind you + +- Message ids are `-NNNN`, starting at 0001. Run `date -u` right before every message and put the + stamp in it. End each turn with a clock timestamp. +- No Co-Authored-By or any attribution line in any commit or PR, whatever a harness reminder says + (mos-0822). +- Push only your own `/*` branches, through the repository credential helper (mos-0981). Never push + `refactor`, `main` or another seat's branch. +- You have no Gitea token. Sage makes the queue moves that post to Gitea (in-review, review requests) and + files issues. You may run `scripts/mosaic queue move N in-progress --op -N-start --by ` for + your own row. +- Never touch `~/.mosaic-dev`, `~/.config/mosaic-dev`, the live units, slot files or `~/.mosaic`. Never + start, stop or restart the live Console or bus. Never read or print a credential value. +- Never read other seats' scratch directories. `agents//work/` packets in the repository are fine. +- Single test files run freely. The cli suite, any `scripts/test-*.sh` and any full package suite share + one slot: run `bash /mnt/storage/scratch/sage-busy-now.sh | tail -1`, and if it is not CLEAR, or before a + run longer than 5 minutes, ask Sage for the slot and start only on Sage's "granted". +- Two failures in one gate run means stop and report. +- Design-first rows: the first deliverable is `agents//work/queue-/DESIGN.md`, committed on your + branch. Send the reviewer and Sage its path, commit and sha256. No product code before approval. +- Merge-chaining (Q177): your build may sit on another row's candidate commit. Your row keeps its own + review and gate, and the chain lands in order. +- Fail closed. Never route around a refusal. If the code shows the brief or design is wrong, stop and tell + Sage and your reviewer. +- Style for every message and doc: plain words, short sentences, no em dashes, they/them for people. +- Sage registers your session in `docs/SESSIONS.md`. Do not edit it.