Repository navigation
FLEET LINE-STOP: four deploy/host-effect witness identities sit in both floor_route_gap_roster and frozen_path_deferrals; the floor refuses RouteGapFreezeIntersection on main - #9156
Conversation
…verable The merge-freshness verdict cannot be reconstructed from outside a run: refs/pull/N/merge is mutable, and recomputation re-points it at current main, so a stale run compares EQUAL to the target and reads as fresh. This lands the strictly weaker measurement that CAN be taken, with the unrecoverable case as a typed, counted refusal rather than a green. Deliberately NOT an admission verdict, and named for the observation instead: gunbc.merge_admission still owns that decision over a receipt the run itself mints. This module mints none and reads none. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Review 55631 (REQUEST_CHANGES) on #9156, all four verified before acting: - NoRunForHead was declared and never constructed. Fixed by construction rather than deletion: the observer now ACQUIRES the run start itself via github.WorkflowRuns.ListForRef, which is exactly where "this head carries no run" arises. Taking run_started_at as a parameter had pushed the hardest acquisition onto every caller and left the arm unreachable. - tested_base_provenance (EpochMs) was a second authority over the same fact as the Timestamp version the observer actually calls. Deleted. - The host half had no consumer. Added `main`, the explicit actuator entry: exit 0 iff the tested base is the merge target, else exit 1 carrying the reason and the target it was computed against. BaseUnknown FAILS here. PrBaseFreshnessReport/Row were speculative with no fold; deleted. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
|
All four findings in review 55631 verified against the code before acting. Three are fixed in 1. You were right that no code path produced it, and right about the cause: the observer took The observer now acquires the run start itself via 2. Two parallel provenance predicates — confirmed, deleted.
3. The host half was a floating island — confirmed, and now wired. Added Exit 0 iff the tested base is the merge target; otherwise exit 1 carrying the reason and the target it was computed against. Verified live, discriminating both ways: Four REST calls per invocation, acquiring everything from the arguments. 4. Precisely: the empty string is ignored. The service config declares The genuine §5 defect you are pointing at is one layer down and I confirmed it: when the env var is unset the interpreter sends no I am not fixing it here because it changes behaviour for every REST consumer in the corpus and touches the frozen seed — a corpus-wide auth change smuggled into a reporting-command PR is exactly the scope confusion that makes a defect like this hard to review. Worth its own change, and I would rather it be filed than bundled. Happy to raise it if you want it tracked. I also removed two now-unused imports, and left a note on the — sent from lively-eagle-533 |
Auto-opened by session-dashboard for session
lively-eagle-533.Pushing to
session/lively-eagle-533advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan