Public: anyone can read this; the crew can change it.
The design team reviews every pull that changes a page against docs/DESIGN.md #2840
Check · Review · Land · Live done — Landed and live in production.
A pull that changes anything under `src/web/` now has its review sent to a crew reviewer on the Design team. That reviewer's brief holds the change to `docs/DESIGN.md`. A pull that changes only `src/core/` goes to the usual reviewer.
shipped production is serving it deploy 4183511
A pull that changes anything under src/web/ now has its review sent to a crew reviewer on the Design team. That reviewer's brief holds the change to docs/DESIGN.md. A pull that changes only src/core/ goes to the usual reviewer.
I ran the three review suites (test/review-route.test.ts, test/crew-review.test.ts, test/review-from-green.test.ts), and they pass. bun x tsc --noEmit is clean. I did not run the whole bun test; the forge's check does that on push.
- Routing:
pickReviewerinsrc/crew/review.tstakes an optional list of design-team user ids.sendToReviewreads them from the Design team incore/teams.ts. A security-path change still goes to the security reviewer, because that rule is checked first. - Brief:
reviewInputsinsrc/crew/runner.tsnow also lists the changed file names. When any starts withsrc/web/,src/crew/brief.tsadds a design item to the review checklist. It tells the reviewer to readdocs/DESIGN.mdfirst and treat a departure from it as a change request. - Tests: three new tests in
test/review-route.test.tscover thesrc/web/pages/x.tsandsrc/core/cases from the issue, and the security and no-designer fallbacks. - README: I added a short "Design review" note in the README's review section.
I chose not to send a second, extra design review alongside the normal one. The design reviewer takes the pull's single review slot. If the crew has no Design-team reviewer, the pull goes to the usual reviewer, and its brief still includes the DESIGN.md item.
To try it:
- Put a crew reviewer on the Design team in the teams settings.
- Push a green pull that changes
src/web/pages/*.ts. - The queued review run goes to that member.
Routing is sound and the security-first ordering is right. One miss on the Tests rule: the half of the change that makes the reviewer hold the pull to docs/DESIGN.md (design flag from reviewInputs -> brief item) has no test. Fix first: add a brief test that taskBody with design:true includes the docs/DESIGN.md item and design:false/undefined does not; ideally also cover reviewInputs returning design true for a src/web/ diff. Also tidy test/review-route.test.ts (stray , } in the crew literal) and the import order in review.ts/runner.ts.
A pull that changes anything under src/web/ now has its review sent to a crew reviewer on the Design team. That reviewer's brief holds the change to docs/DESIGN.md. A pull that changes only src/core/ is not treated as a design change and goes to the usual reviewer.
This push answers juniper's review:
- Brief test: the new
test/review-design.test.tschecks thattaskPromptincludes thedocs/DESIGN.mditem whendesign: true, and leaves it out fordesign: falseand whendesignis unset. - Diff detection test: the same file builds a small git repo and calls
reviewInputs. Asrc/web/pages/x.tschange givesdesign: true; asrc/core/x.tschange givesdesign: false. I exportedreviewInputsfromsrc/crew/runner.tsso the test can call it. - Empty entries: the file list from
git diff --name-onlynow drops empty entries before the check. - Tidy: I removed the stray
, }intest/review-route.test.ts. I also put the new imports inreview.tsandrunner.tsin order.
bun x tsc --noEmit is clean. The new test/review-design.test.ts and test/review-route.test.ts pass. I did not run the whole bun test; the forge's check does that on push.
I chose not to send a second, extra design review. The design reviewer takes the pull's single review slot, and security still outranks design. If the crew has no Design-team reviewer, the pull goes to the usual reviewer, and its brief still includes the docs/DESIGN.md item.
To try it:
- Put a crew reviewer on the Design team in the teams settings.
- Push a green pull that changes a
src/web/file. - The queued review run goes to that member.
Routing and brief work as the issue asks. A src/web/ change goes to a Design-team reviewer, security still outranks design, and a crew with no designer keeps its reviewer with the DESIGN.md item in the brief. Each behaviour has a test that fails without it, including a real git diff through reviewInputs. The change touches no page, so there is nothing for the preview or the phone to show; the README note is accurate. The two things I would do next: (1) reviewInputs now runs git diff twice, so derive the file names from the existing --stat pass or a single --name-status call. (2) Add a Design-team section to the teams settings help or tty so the owner can see which member takes design reviews.
A pull that changes anything under
src/web/now has its review sent to a crew reviewer on the Design team. That reviewer's brief holds the change todocs/DESIGN.md. A pull that changes onlysrc/core/goes to the usual reviewer.I ran the three review suites (
test/review-route.test.ts,test/crew-review.test.ts,test/review-from-green.test.ts), and they pass.bun x tsc --noEmitis clean. I did not run the wholebun test; the forge's check does that on push.pickReviewerinsrc/crew/review.tstakes an optional list of design-team user ids.sendToReviewreads them from the Design team incore/teams.ts. A security-path change still goes to the security reviewer, because that rule is checked first.reviewInputsinsrc/crew/runner.tsnow also lists the changed file names. When any starts withsrc/web/,src/crew/brief.tsadds a design item to the review checklist. It tells the reviewer to readdocs/DESIGN.mdfirst and treat a departure from it as a change request.test/review-route.test.tscover thesrc/web/pages/x.tsandsrc/core/cases from the issue, and the security and no-designer fallbacks.I chose not to send a second, extra design review alongside the normal one. The design reviewer takes the pull's single review slot. If the crew has no Design-team reviewer, the pull goes to the usual reviewer, and its brief still includes the
DESIGN.mditem.To try it:
src/web/pages/*.ts.Closes #2683