Repository navigation
evidence(OMN-19997): bind each criterion to the test that decides it, retire the merge-state bindings - #11828
Merged
Merged
Conversation
… retire the merge-state bindings Autobind (OCC#11766) bound AC1, AC2 and AC3 to dod-OmniNode-ai-omninode_infra-pr-1742, whose whole check is `gh pr view 1742 --json number,state`. That succeeds for as long as the PR exists, so it discharged every criterion without measuring any of them -- the OMN-18849 pattern. The autoclose sweep held the ticket for exactly this (gap_ac_unbound). The test_passes item from the same run was left unbound, and its receipt's probe is the PR read, not a test run. Each criterion now binds to its own selection from tests/scripts/test_c17_customer_surface_probe_rate_limit_omn19997.py, with a receipt of the run on omninode_infra dev @ 3a44a495 (post-merge of #1742): AC1 -> ac1-rate-limit-retry-and-token-fallback 3 passed AC2 -> ac2-public-visibility-check-fails-closed 2 passed AC3 -> ac3-unreadable-source-verdict-distinct-from-fail 3 passed Negative control: the same three commands with scripts/ci/c17_customer_surface_probe.py restored to a85caba4^ exit 1 (3 errors / 2 errors / 2 failed + 1 error). The ticket's own falsifiers name test_c17_customer_surface_probe_omn19182.py. The tests are not in that file; each falsifier selects 0 of 68 tests there and exits 5, so as written it can neither pass nor fail on the change. Recorded in the contract; the ticket text is left alone so the criterion hashes hold. Add-only. The pr-1742 bindings are withdrawn via supersedes_ac_binding, not deleted.
jonahgabriel
force-pushed
the
jake/omn-19997-bind-ac-to-behaviour-proof
branch
from
September 29, 2026 21:08
34ed451 to
9237f01
Compare
Contributor
|
The check-trailers red came from the AI co-author trailer in the first commit message. The message was rewritten without the trailer (tree byte-identical, new sha 9237f01) and force-pushed with lease from qfix-onex-change-control-11828; the bot re-minted the owed self-bind on the new head, and check-trailers is green on 522b68b. |
2 tasks done
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.
Why
The autoclose sweep held OMN-19997 (
gap_ac_unbound). Autobind (OCC#11766) bound AC1, AC2 and AC3 todod-OmniNode-ai-omninode_infra-pr-1742, whose whole check isgh pr view 1742 --json number,state. That passes for as long as the PR exists, so it discharged every criterion without measuring any of them (the OMN-18849 pattern). Thetest_passesitem from the same run was left unbound, and its receipt's probe is the PR read, not a test run.What
Add-only changes to
contracts/OMN-19997.yaml, plus three receipts:tests/scripts/test_c17_customer_surface_probe_rate_limit_omn19997.pyac1-rate-limit-retry-and-token-fallbackac2-public-visibility-check-fails-closed-k public_visibilityac3-unreadable-source-verdict-distinct-from-failThe pr-1742 bindings are withdrawn via
supersedes_ac_bindingwith a reason each, not deleted.Note on the ticket's falsifiers
The ticket's falsifiers name
tests/scripts/test_c17_customer_surface_probe_omn19182.py. The tests landed intest_c17_customer_surface_probe_rate_limit_omn19997.py, so each falsifier as written selects 0 of 68 tests and exits 5. The contract records this. The ticket text is left alone so the criterion hashes hold.Verification
check_ac_binding_acceptance(hosted mode, live ticket body): pass.reject-deploy-gate-skip-token, which was skipped locally because it needs Bash 4+ and the local Mac has 3.2. The diff was checked by hand for its[skip-…pattern (none), and CI runs it on Linux.🤖 Generated with Claude Code