Skip to content

evidence(OMN-19997): bind each criterion to the test that decides it, retire the merge-state bindings - #11828

Merged
jake-b-omni merged 2 commits into
devfrom
jake/omn-19997-bind-ac-to-behaviour-proof
Sep 29, 2026
Merged

jake-b-omni merged 2 commits into
devfrom
jake/omn-19997-bind-ac-to-behaviour-proof

Conversation

@jake-b-omni

Copy link
Copy Markdown
Contributor

Why

The autoclose sweep held OMN-19997 (gap_ac_unbound). 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 passes for as long as the PR exists, so it discharged every criterion without measuring any of them (the OMN-18849 pattern). The test_passes item 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:

Criterion New item Selection in tests/scripts/test_c17_customer_surface_probe_rate_limit_omn19997.py dev @ 3a44a495 Pre-change (a85caba4^)
AC1 ac1-rate-limit-retry-and-token-fallback retry recovers, falls back to token, backoff grows 3 passed 3 errors, exit 1
AC2 ac2-public-visibility-check-fails-closed -k public_visibility 2 passed 2 errors, exit 1
AC3 ac3-unreadable-source-verdict-distinct-from-fail UNREADABLE-SOURCE verdict + summary, real clause failure stays FAIL/exit 1 3 passed 2 failed + 1 error, exit 1

The pr-1742 bindings are withdrawn via supersedes_ac_binding with 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 in test_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

  • Criterion hashes recomputed from the contract and matched against the live ticket body.
  • check_ac_binding_acceptance (hosted mode, live ticket body): pass.
  • Pre-commit: all hooks pass except 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

… 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
jonahgabriel force-pushed the jake/omn-19997-bind-ac-to-behaviour-proof branch from 34ed451 to 9237f01 Compare September 29, 2026 21:08
@jonahgabriel

Copy link
Copy Markdown
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.

@jake-b-omni
jake-b-omni merged commit 024240c into dev Sep 29, 2026
87 checks passed
@jake-b-omni
jake-b-omni deleted the jake/omn-19997-bind-ac-to-behaviour-proof branch September 29, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants