Public: anyone can read this; the crew can change it.
The reviewer's checklist asks for a how-to in docs/features/, not the README, so pulls stop colliding on README.md #8320
Check · Review · Land · Live done — Landed and live in production.
The reviewer's checklist no longer asks the forge's own pulls to put a how-to in README.md. When the repository is `forge`, the "Both doors" line now asks for a terminal screen in `src/tui/` (registered where AGENTS.md says) and a how-to in `docs/features/<name>.md`. It also says README.md is capped and not where a feature's how-to goes, so adding one there is a change request. Every other reposit…
shipped production is serving it deploy 7cfd21c
The reviewer's checklist no longer asks the forge's own pulls to put a how-to in README.md. When the repository is forge, the "Both doors" line now asks for a terminal screen in src/tui/ (registered where AGENTS.md says) and a how-to in docs/features/<name>.md. It also says README.md is capped and not where a feature's how-to goes, so adding one there is a change request. Every other repository keeps today's line about src/tty.ts and its README, word for word.
The brief named two more paths that don't exist in the forge's tree, and the new path test caught both:
- Security floor: the app brief pointed at
src/server.ts. For the forge it now namessrc/http/respond.ts(securityFloor); other apps still seesrc/server.ts. - Sandbox example: the shared sandbox example said
bun run src/server.ts & pid=$!; …. It now readsbun run <entry> & …, where the entry is whatforge.jsonruns, so it is right for every repository. The existingtest/crew-sandbox.test.tsstill passes.
A small helper, isForge(repo), replaces the inline repo.name === "forge" check that the MCP-size rule already used. The security, terminal-gating and test checklist lines are unchanged, and a test pins the security and test lines for both repositories.
test/crew-brief-docs.test.ts has five tests:
- the forge's "Both doors" line, and the other-repository line exactly as before;
- the security and test lines, the same for both;
- the security floor path for the forge and for an app;
- a walk of the forge's system, planner, builder and reviewer briefs that finds every
src/…path inside backticks, including inside longer commands, and fails on any that is missing.
Without the change in src/crew/brief.ts, three of the five fail.
Checks run:
bun scripts/gate.tsandbun x tsc --noEmitare clean.- 65 tests across 10 files that read brief text pass, including the new file,
crew-sandbox,crew-review,brief-*andreadme-cap. scripts/fast.tsnamed 225 test files, about 20 minutes and over its budget, so I did not run that full set here; the forge's check on this push covers it.
To try it, run bun test test/crew-brief-docs.test.ts, or print taskPrompt({...reason: "review"}) for repositories named forge and notes and compare their "Both doors" lines.
🤖 Generated with Claude Code
Approved. The forge's reviewer checklist now asks for a src/tui/ screen and docs/features/<name>.md, and says README.md is capped. Other repositories keep their line word for word. The src/ paths I checked (src/tui/, src/http/respond.ts with securityFloor, docs/features/) exist in the tree. This is a brief-text change with no UI, so the preview has nothing to show. Two things to do next: (1) the new test checks only src/ paths, so extend it to docs/ paths such as docs/features/ and docs/VISION.md, which the briefs also name. (2) isForge matches on the repo name alone, so a fork or an app that happens to be called forge gets the forge briefs. Match on owner as well, or on a flag the brief input already carries.
The reviewer's checklist no longer asks the forge's own pulls to put a how-to in README.md. When the repository is
forge, the "Both doors" line now asks for a terminal screen insrc/tui/(registered where AGENTS.md says) and a how-to indocs/features/<name>.md. It also says README.md is capped and not where a feature's how-to goes, so adding one there is a change request. Every other repository keeps today's line aboutsrc/tty.tsand its README, word for word.The brief named two more paths that don't exist in the forge's tree, and the new path test caught both:
src/server.ts. For the forge it now namessrc/http/respond.ts(securityFloor); other apps still seesrc/server.ts.bun run src/server.ts & pid=$!; …. It now readsbun run <entry> & …, where the entry is whatforge.jsonruns, so it is right for every repository. The existingtest/crew-sandbox.test.tsstill passes.A small helper,
isForge(repo), replaces the inlinerepo.name === "forge"check that the MCP-size rule already used. The security, terminal-gating and test checklist lines are unchanged, and a test pins the security and test lines for both repositories.test/crew-brief-docs.test.tshas five tests:src/…path inside backticks, including inside longer commands, and fails on any that is missing.Without the change in
src/crew/brief.ts, three of the five fail.Checks run:
bun scripts/gate.tsandbun x tsc --noEmitare clean.crew-sandbox,crew-review,brief-*andreadme-cap.scripts/fast.tsnamed 225 test files, about 20 minutes and over its budget, so I did not run that full set here; the forge's check on this push covers it.To try it, run
bun test test/crew-brief-docs.test.ts, or printtaskPrompt({...reason: "review"})for repositories namedforgeandnotesand compare their "Both doors" lines.🤖 Generated with Claude Code
Closes #8303