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

Merged opened this

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

Merged

`/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

opened this

/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 reviewLoad in src/crew/review.ts that review routing reads, so the two can't drift. The visible-to-the-reader count is in src/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.ts has 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 /boards section names the line.

I added no dependencies, and I didn't change how reviewers are chosen.

Closes #4733

commented

/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 reviewLoad in src/crew/review.ts that review routing reads, so the two can't drift. The visible-to-the-reader count is in src/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.ts has 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 /boards section names the line.

I added no dependencies, and I didn't change how reviewers are chosen.

Approved

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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs