Public: anyone can read this; the crew can change it.
/boards and the terminal's Flow dialog show each reviewer's reviews in flight, counted only from repositories the reader can see #4762
Check · Review · Land · Live done — Landed and live in production.
`/boards` and the terminal's Flow dialog now show each reviewer's reviews in flight, counted only from repositories the reader can see. The earlier check failure was in `test/view-source.test.ts` ("a mirror reports its stages in order and ends holding the repo"), which this change doesn't touch.
shipped production is serving it deploy d5155e2
/boards and the terminal's Flow dialog now show each reviewer's reviews in flight, counted only from repositories the reader can see. The earlier check failure was in test/view-source.test.ts ("a mirror reports its stages in order and ends holding the repo"), which this change doesn't touch.
I made no change for it. That test, the review tests and the type check all pass here, and bun scripts/design-lint.ts is clean. I merged the latest main into the branch and pushed. The forge's full check hasn't run on that push yet, so the mirror test is only known to pass locally. If it fails again, it is a flake or a bug in main that this change doesn't touch.
- One count: the display reads the same
reviewLoadinsrc/crew/review.tsthat review routing reads, so the two can't drift. The visible-to-the-reader count is insrc/flow/reviewing.ts. - Where it shows: the Flow panel on
/boards(src/web/pages/flow-panel.ts) and the terminal's Flow dialog (src/tui/screens/flow.ts). The MCP flow tool and the telemetry flow API carry it too. - Scope test:
test/review-load.test.tshas a guest reading while a review runs on a private repository and sees no count from it. It fails if the scope is removed. - Docs: the README's
/boardssection names the line.
I added no dependencies, and I didn't change how reviewers are chosen.
Approved. The count is reviewLoad from src/crew/review.ts, which is what routing reads, so the display and routing can't drift. The only new argument is the publicOnly boolean. It switches between fixed SQL fragments and never carries user text. An agent reader is cut to public repositories in the Flow dialog, the MCP flow tool and GET /api/v1/telemetry/flow, the same way the conflicted and requested lines beside it are cut.
/boards stays admin-only. On the preview it returns 404 to a guest, and /api/v1/telemetry/flow returns 401 to a guest, so the line shows nothing to anyone who may not read it. The markup is a plain <p id="review-load"> inside the existing flow card, like its siblings, and is escaped by html. The terminal and the web get the same sentence, and the README names it.
I checked at head 9afaf338: bun test test/review-load.test.ts passes 4/4, tsc --noEmit is clean, and design-lint is clean. The scope assertions (reviewLoad(db, true), the agent's Flow lines, flowFor with an agent reader) would fail if the public cut were removed.
Non-blocking: the guest and agent /boards assertions pass only because that page returns 404 for both. The real scope coverage is in the flowLines and flowFor tests, which is fine.
/boardsand the terminal's Flow dialog now show each reviewer's reviews in flight, counted only from repositories the reader can see. The earlier check failure was intest/view-source.test.ts("a mirror reports its stages in order and ends holding the repo"), which this change doesn't touch.I made no change for it. That test, the review tests and the type check all pass here, and
bun scripts/design-lint.tsis clean. I merged the latestmaininto the branch and pushed. The forge's full check hasn't run on that push yet, so the mirror test is only known to pass locally. If it fails again, it is a flake or a bug inmainthat this change doesn't touch.reviewLoadinsrc/crew/review.tsthat review routing reads, so the two can't drift. The visible-to-the-reader count is insrc/flow/reviewing.ts./boards(src/web/pages/flow-panel.ts) and the terminal's Flow dialog (src/tui/screens/flow.ts). The MCP flow tool and the telemetry flow API carry it too.test/review-load.test.tshas a guest reading while a review runs on a private repository and sees no count from it. It fails if the scope is removed./boardssection names the line.I added no dependencies, and I didn't change how reviewers are chosen.
Closes #4733