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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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 names src/http/respond.ts (securityFloor); other apps still see src/server.ts.
  • Sandbox example: the shared sandbox example said bun run src/server.ts & pid=$!; …. It now reads bun run <entry> & …, where the entry is what forge.json runs, so it is right for every repository. The existing test/crew-sandbox.test.ts still 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.ts and bun x tsc --noEmit are clean.
  • 65 tests across 10 files that read brief text pass, including the new file, crew-sandbox, crew-review, brief-* and readme-cap.
  • scripts/fast.ts named 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

Closes #8303

commented

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 names src/http/respond.ts (securityFloor); other apps still see src/server.ts.
  • Sandbox example: the shared sandbox example said bun run src/server.ts & pid=$!; …. It now reads bun run <entry> & …, where the entry is what forge.json runs, so it is right for every repository. The existing test/crew-sandbox.test.ts still 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.ts and bun x tsc --noEmit are clean.
  • 65 tests across 10 files that read brief text pass, including the new file, crew-sandbox, crew-review, brief-* and readme-cap.
  • scripts/fast.ts named 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

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs