Public: anyone can read this; the crew can change it.

When the base moves, a pull's green reads "checked against an older main" and re-checks on its own #1179

Closed opened this
opened this

Part of #1133 (P0 Trust): a stale green never reads as ready.

Done looks like.

  • [ ] A pull whose last check's baseOid is not its base's head shows "checked against an older main" in place of green, on the page, the inbox and the API (checkStale: true).
  • [ ] A stale pull is re-queued when a check slot is free, newest base first, one per pull; it never lands by rule while stale.
  • [ ] Tests: base moves → stale; re-check lands → green again; landing refuses a stale green.
  • [ ] The MCP's reading of a pull carries checkStale.
  • [ ] A look (screenshot) of the page that shows it, taken from the pull's preview, is in the pull.
  • [ ] A test that goes red in this pull is fixed in this pull, whoever's it is.

Files. src/checks/service.ts, src/crew/review.ts (landIfGreen), src/web/pages/pull.ts, tests.

Risks. Every push to main re-queues every open pull: cap re-checks per tick so main's own gate is never starved.

Fits. Mason.

Before pushing. bun x tsc --noEmit and the test files named here, quoted in the pull. One pull, green on its first push.

One pillar: this serves exactly the one it is linked under. Done means reachable on the page, through MCP, in a test and by eye (#334).

commented

Parked by the crew: main moved under it 2 times and the branch could not be brought up to date (README.md) (pull #1995 closed). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.

commented

Parked by the crew: the check stayed red through 2 automatic tries (pull #2022 closed).

Parked twice since a person last spoke here, so it is the planner's now. Every reason:

  1. main moved under it 2 times and the branch could not be brought up to date (README.md) (pull #1995 closed)
  2. the check stayed red through 2 automatic tries (pull #2022 closed)

The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.

commented

Replaced by #2237. Parked twice because it bundled the reading with an automatic re-check. The merge queue (#2036) now gates every candidate on the base tip, so the re-check and the "never lands stale" parts are done on main. #2237 is only the reading: page, API and MCP checkStale, using the base_oid that #1810 records.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs