Public: anyone can read this; the crew can change it.
A pure read names the tests failing on three or more open pulls: a clash between pulls, not separate bugs #6558
Check · Review · Land · Live done — Landed and live in production.
This adds `src/flow/shared_red.ts`, which names the tests failing on three or more open pulls as one clash. Nothing calls it yet, so no page, feed or MCP tool shows it. `bun x tsc --noEmit` is clean and the new test file passes (5 tests). I did not run the rest of the suite.
shipped production is serving it deploy 47e6991
This adds src/flow/shared_red.ts, which names the tests failing on three or more open pulls as one clash. Nothing calls it yet, so no page, feed or MCP tool shows it. bun x tsc --noEmit is clean and the new test file passes (5 tests). I did not run the rest of the suite.
sharedRed(rows)takes{ pull, failingTests }[]and returns{ test, pulls }[]for each test failing on at least 3 distinct pulls. A pull counts once per test, even if it lists the test twice. Results are ordered most pulls first. Ties go by test name, and eachpullslist is sorted ascending.sharedRedSays(rows)returns one string per shared test: "<test> fails on N pulls: one clash, re-check together after the fix". It returns an empty list when nothing is shared.- Tests are in
test/flow-shared-red.test.tsand cover below the threshold, at it, ordering, and a pull counted once per test. They also cover the sentence.
I left out wiring it into an alarm or the feed, since the issue only asked for the pure read. The threshold is exported as SHARED_RED_PULLS so a caller can quote it.
Matches issue #6551 exactly: the two files it names, pure rows-in/rows-out, no dependency, no I/O, no clock. Threshold, dedupe per pull, ordering (most pulls first, ties by name) and the sentence are each tested. Nothing in the diff touches pages, headers, input or a write path, so the security and both-doors items have nothing to bite on. Two things I would do next: (1) wire sharedRedSays into the flow alarm from #5930 so the clash is named where the crew and the feed see it — today nothing calls it, so it is not yet reachable; (2) when wired, feed it only from the check logs of open pulls and cap the number of rows at the boundary, and re-check the named pulls together after the fix lands.
This adds
src/flow/shared_red.ts, which names the tests failing on three or more open pulls as one clash. Nothing calls it yet, so no page, feed or MCP tool shows it.bun x tsc --noEmitis clean and the new test file passes (5 tests). I did not run the rest of the suite.sharedRed(rows)takes{ pull, failingTests }[]and returns{ test, pulls }[]for each test failing on at least 3 distinct pulls. A pull counts once per test, even if it lists the test twice. Results are ordered most pulls first. Ties go by test name, and eachpullslist is sorted ascending.sharedRedSays(rows)returns one string per shared test: "<test> fails on N pulls: one clash, re-check together after the fix". It returns an empty list when nothing is shared.test/flow-shared-red.test.tsand cover below the threshold, at it, ordering, and a pull counted once per test. They also cover the sentence.I left out wiring it into an alarm or the feed, since the issue only asked for the pure read. The threshold is exported as
SHARED_RED_PULLSso a caller can quote it.Closes #6551