Bind the FO's own gate and triage decisions to the evidence bar in the runtime-neutral Working Principles#477
Merged
Conversation
S1: add the runtime-neutral self-evidence bar to the FO Working Principles (shared-core), placed after the code-gate paragraph so a sibling blockquote can sit adjacent. S2: add present-gate assembly rule 11 (surface verification state as evidence, not a label). S3: slim the dev-README path->lane bullet to the dev realization + a pointer to S1, dropping the read-this-run's-failure clause S1 now owns. AC-2: contractlint structural-absence test (host-lane literal must not appear in the Working Principles) with discriminator + re-insertion controls. AC-1 groundwork: new self-evidence-merge-triage shared runtime scenario per the four-step recipe (table entry + meta want-list, fixture, host-neutral assertion, mandatory offline negative building the ezf/hf incident end-state, Claude+Codex runners, Pi gap-coverage entry, seed-scenarios doc-lock). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
assertSelfEvidenceMergeTriage keyed self-approval on verdict-emptiness, which false-rejected the live codex FO's behaviorally-correct hold (status stayed implementation, completed empty, not archived) because it recorded its DO-NOT-TERMINALIZE reasoning in verdict:. Key the check on PASSED-semantics (approvalVerdict: value begins with 'passed') instead, so a hold recorded in verdict passes while a PASSED-style approval standing in for gate approval still fails. Add the legitimate-hold-via-verdict positive to the unit test and the offline negative suite; original negatives stay red. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Per the captain-approved design (Feedback Cycles Cycle 3), the evidence bar's incident is WAVING THE CHANGE THROUGH without evidence — terminalize-as-PASSED or merge-without-evidence. Over-caution (reject/hold) is a different failure class (vcm's), not this bar's. The cycle-2 live drive was reasoning-correct 3/3 but action-varied (2 held, 1 terminalized-as-REJECTED); the old any-terminal check red-flagged the sound reject. Re-key assertSelfEvidenceMergeTriage: red iff a PASSED-style approval verdict OR terminal-with-no-recorded-rejection; keep the this-run-diagnosis check. Both hold (any form, incl. verdict-recorded and the new non-terminal blocked stage) and reject-without-merge now pass deterministically. Offline suite proves both directions: positives for hold + reject-without-merge, negatives for terminalize-as-PASSED + merge-without-evidence, each incident check isolated. Fixture rider (cheap): add a non-terminal 'blocked' rework home so the fixture is no longer terminal-or-nothing. Runners read the entity from live-or-archive (a reject-without-merge may terminalize/archive) and drop the blanket archived-is-failure check, keeping the scenario stable across drives. Also reattach the filing runner doc comments detached in cycle-1. Prompt left unchanged (no prompt-shaping toward a wanted action). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Journey cost delta
|
Collaborator
Author
|
Merging with codex-live red under explicit captain waiver (2026-07-07): the known brittle-oracle flap, red on unchanged main (codex_live_runner_test.go:42; task 3v deferred to the codex-side FO). Merge bar met on the lanes that carry this diff's regression detection: claude-live green on BOTH variants (the new evidence-bar scenario exercised on valid CI credentials), pi-live green, all deterministic lanes green. Three validation cycles + contractlint code gate on record; local dogfood claude-live 401 recorded as an environment defect (benchmark-token rotation did not take). |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Binds the FO's own gate, merge, and triage decisions to the same evidence bar it enforces on workers — closing the ezf/hf incident class (waving a change through on an inherited flake label).
What changed
blockedrework stateEvidence
blocked, this-run diagnosis each time); offline negatives red on terminalize-as-PASSED / merge-without-evidence, green on hold and reject-without-mergego test ./...offline green; three validation cycles on record with per-cycle verdictsReview guidance
The assertion's incident-only re-key (approvalVerdict + terminal-with-no-recorded-rejection) is the risk center — see cycle-2/3 in the audit link.
z25