Skip to content

fix(OMN-15418): add-only honesty supersession — attestation framing + compose-file fact correction - #5945

Merged
jonahgabriel merged 2 commits into
devfrom
jonah/omn-15418-honesty-supersession
Aug 2, 2026
Merged

jonahgabriel merged 2 commits into
devfrom
jonah/omn-15418-honesty-supersession

Conversation

@jonahgabriel

@jonahgabriel jonahgabriel commented Aug 2, 2026 •

Copy link
Copy Markdown
Contributor

OMN-15418 — add-only honesty supersession of landed OCC evidence

OCC #5937 merged at 622c78f631bdc4110064dd41c10158430eb4ea04 (2026-08-02T05:43:46Z). Two statements it landed are false. Both are about the entry it appended, dod-deploy-assessment-falsifiable. This PR corrects both add-only; it edits and deletes nothing.

What was false

(a) Framing — the entry claims a falsifiability it does not have.
The entry is named -falsifiable and its description says "falsifiability was demonstrated rather than asserted", presenting it as escaping the OMN-14443 unfalsifiable class. It does not. Its probe greps file content at an immutable 40-hex commit pin (3863623e…). At that pin it exits 0 unconditionally — frozen-true forever; no change to product source, deploy surface, or runtime can move it. The rc=1-at-the-first-parent demonstration proves content discrimination (the probe reads real bytes rather than passing vacuously), which is strictly weaker than falsifiability at its own pin. The merged prose conflated the two.

(b) Fact — the compose-file claim is wrong.
The entry and its receipt state: "#2548 changed 130 files and NOT ONE of them is a compose file." False. PR OmniNode-ai/omnibase_infra#2548 ADDED two compose files:

added   docker/application-acl-proof/compose.yml
added   docker/domain-adapter-proof/compose.yml

(re-verified 2026-08-02 against the live 130-path list from repos/OmniNode-ai/omnibase_infra/pulls/2548/files).

The load-bearing half is true and survives: the one path the dead generated dod-deploy-assessment probe greps for — docker/docker-compose.e2e.yml — is absent from those 130 paths (grep -Fx over the live list returns rc=1). That absence, not a blanket "no compose files", is why the generated probe is permanently RED.

What is now stated

New contract entry dod-deploy-assessment-merged-tree-attestation, carrying evidence_artifact: supersedes_dod_evidence:dod-deploy-assessment-falsifiable:

  • A point-in-time attestation that the merged tree at receipt(OMN-13014): OCC contract + dod receipts for hot-patch ledger rebuild preflight gate #2548's squash merge commit 3863623e4844dc9b0db69ceb4e77942737fbca32 carries the OMN-15418 deliverable — the application-relation ownership validator definition and the exactly-one-owner enforcement call site — both in src/omnibase_infra/validation/application_relation_ownership.py.
  • It states explicitly that it is an immutable-ref attestation making NO ongoing-falsifiability claim, and that the rc=1-at-parent demo shows discrimination, not falsifiability at the pin.
  • It corrects the compose-file fact precisely, naming both added compose files and the narrower true statement.

The probe body is byte-identical to the superseded entry's. The defect was the claim about the probe, never the probe.

Why append-only

#5937 merged mid-remediation. A merged dod_evidence entry is immutable: validator_occ_append_only compares every base-side entry's compute_contract_entry_sha256 against head and rejects any edit or removal, and the merged receipt pins that hash. An in-place rewrite of the honest prose would have been rejected by the gate and would have invalidated the receipt binding. So the correction is a net-new appended entry plus a net-new receipt directory — zero edits, zero deletions to any existing line.

Seam

old id new id edge
dod-deploy-assessment (generated, permanently RED) dod-deploy-assessment-falsifiable landed in #5937, left verbatim
dod-deploy-assessment-falsifiable (honest probe, dishonest framing) dod-deploy-assessment-merged-tree-attestation this PR

Chain: dod-deploy-assessment → dod-deploy-assessment-falsifiable → dod-deploy-assessment-merged-tree-attestation. node_dod_verify's _terminal_superseder walks it and resolves the attestation as the terminal carrier; both upstream entries resolve to superseded and their checks are not executed. _supersession_is_in_effect requires the terminal carrier to be VERIFIED in its own right — it is (see gates below), so the supersession removes a false red rather than manufacturing a green.

Gates run before push

  • validator_occ_append_only --base-ref origin/dev → {"ok": true, "detail": "No append-only violations: existing entries and receipts unchanged."}
  • All 7 pre-existing per-entry contract_entry_sha256 values recomputed and unchanged (HEADER_FIELDS = ('ticket_id','schema_version'); appending does not disturb prior entries). New entry hash sha256:18c56f32b23e55675a6dd55ae63b1594d5e6c293e44d613a0fe60309d64bed76 is bound by the new receipt.
  • Hash re-verified after the yamlfmt reflow of the folded scalar — parsed value identical (no internal newline, no yamlfmt line-marker sentinel).
  • pre-commit run --files: yamlfmt contamination ratchet, yamlfmt, validate-yaml (ModelTicketContract), lint_contract_check_values, dod-evidence-required, Receipt Honesty Gate, Contract Substance Floor, DoD-authoring hygiene, Receipt Hardening Gate (incl. OMN-15459 S1/S2), Evidence-Commit SHA gate, normalization-symmetry — all Passed.
  • Active-checks execution from the OCC repo root — all 4 non-superseded checks exit 0:
    dod-occ-evidence-admissibility-validator, occ-self-bind-pr-5635-merged, occ-self-bind-pr-5937, dod-deploy-assessment-merged-tree-attestation.

Receipt-prose corrections (commit 2), also add-only

validator_occ_append_only rejects M/D/R on any file under drift/dod_receipts/<TICKET>/ — a merged receipt is immutable. The sanctioned correction primitive is a net-new higher-token <check_type>.supersede.<NNNN>.yaml, so two were added at token 5945:

record corrects
dod-deploy-assessment-falsifiable/command.supersede.5945.yaml withdraws "#2548 changed 130 files and none is a compose file" and the "RED-proven … the check therefore discriminates" falsifiability reading
occ-self-bind-pr-5937/command.supersede.5945.yaml corrects the same compose-file framing, re-points "substantive evidence" at the attestation entry; probe re-run live and now reads state: MERGED where the base receipt recorded OPEN

Both replacements keep the superseded item's check_value unchanged — the bar is not weakened, only the prose about it is made true. Both merged base receipts stay byte-for-byte intact. resolve_supersession returns each record cleanly (no error, no tombstone).

occ-self-bind-pr-5945 (contract entry + receipt) binds OMN-15418 to this PR per the OCC in-repo invariant I3, mirroring occ-self-bind-pr-5937.

Gates run before push (commit 2)

  • validator_occ_append_only --base-ref origin/dev → ok:true; all four receipt diffs are A (add), none M/D/R.
  • OMN-15459 supersession corpus: 2344 violating files vs baseline 2344 — exact match in both directions. The two new supersede records add zero S1 (distinctness) or S2 (family binding) violations.
  • resolve_supersession on both keys → record parsed, no error, not tombstoned.
  • uv run pytest tests/ → 4345 passed, 47 skipped.
  • All five active (non-superseded) checks execute PASS from the OCC repo root.

Scope notes

… compose-file fact correction

OCC #5937 merged at 622c78f (2026-08-02T05:43:46Z) with two false statements
in landed history, both about the appended dod-deploy-assessment-falsifiable
entry:

(a) FRAMING — the entry's id and prose claim its pinned-ref content probe
    escapes the OMN-14443 unfalsifiable class ("falsifiability was
    demonstrated rather than asserted"). False. A content grep at an
    immutable 40-hex commit pin exits 0 unconditionally at that pin; it is
    frozen-true forever. The rc=1-at-the-parent demo proves CONTENT
    DISCRIMINATION, a strictly weaker property, and the prose conflated
    the two.

(b) FACT — the entry states "#2548 changed 130 files and NOT ONE of them is
    a compose file". False: #2548 ADDED docker/application-acl-proof/compose.yml
    and docker/domain-adapter-proof/compose.yml (both status "added").
    The true, narrower, load-bearing half — docker/docker-compose.e2e.yml,
    the one path the dead generated probe greps for, is absent from those
    130 paths — stands.

Repaired ADD-ONLY, because the defective entry and its receipt are merged
and immutable under validator_occ_append_only: a new entry
dod-deploy-assessment-merged-tree-attestation carries
evidence_artifact: supersedes_dod_evidence:dod-deploy-assessment-falsifiable
with the corrected framing and the corrected fact. Its probe body is
BYTE-IDENTICAL to the superseded entry's — the defect was the claim about
the probe, never the probe. No existing contract entry or receipt line is
edited or deleted.

Gates: validator_occ_append_only vs origin/dev -> ok:true; all seven
pre-existing per-entry hashes unchanged; pre-commit (yamlfmt contamination
ratchet, yamlfmt, validate-yaml, lint_contract_check_values, receipt
honesty, substance floor, DoD-authoring hygiene, receipt hardening,
Evidence-Commit SHA gate) green; all four active (non-superseded) checks
execute PASS from the OCC repo root.
@coderabbitai

coderabbitai Bot commented Aug 2, 2026 •

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 3 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: bd2857c5-29f1-4306-87fd-6824ac831504

📥 Commits

Reviewing files that changed from the base of the PR and between ab1a8b3 and 0e97a61.

📒 Files selected for processing (5)
  • contracts/OMN-15418.yaml
  • drift/dod_receipts/OMN-15418/dod-deploy-assessment-falsifiable/command.supersede.5945.yaml
  • drift/dod_receipts/OMN-15418/dod-deploy-assessment-merged-tree-attestation/command.yaml
  • drift/dod_receipts/OMN-15418/occ-self-bind-pr-5937/command.supersede.5945.yaml
  • drift/dod_receipts/OMN-15418/occ-self-bind-pr-5945/command.yaml

Comment @coderabbitai help to get the list of available commands.

… corrections

Second half of the add-only honesty supersession.

1. occ-self-bind-pr-5945 (contract entry + receipt) — binds OMN-15418 to
   THIS PR so occ-preflight eligibility resolves a PASS receipt from the
   PR's own checkout (OCC in-repo invariant I3). Mirrors the
   occ-self-bind-pr-5937 precedent one PR upstream. Binding stamp only;
   adjudicates nothing, flips no Linear status.

2. Two net-new command.supersede.5945.yaml records — the only sanctioned
   add-only correction primitive for a merged receipt
   (validator_occ_append_only rejects M/D/R on any receipt file):

   - dod-deploy-assessment-falsifiable/command.supersede.5945.yaml
     withdraws that receipt's two false claims: "#2548 changed 130 files
     and none is a compose file" (#2548 ADDED two compose files), and
     "RED-proven ... the check therefore discriminates" read as
     falsifiability (an immutable-ref content grep exits 0 unconditionally
     at its pin; rc=1-at-parent proves discrimination, not falsifiability).

   - occ-self-bind-pr-5937/command.supersede.5945.yaml corrects the same
     compose-file framing and re-points "substantive evidence" at
     dod-deploy-assessment-merged-tree-attestation. Its probe was re-run
     live and now reads state MERGED where the base receipt recorded OPEN.

   Both replacements keep the superseded item's check_value UNCHANGED —
   the bar is not weakened, only the prose about it is made true. Both
   merged base receipts stay byte-for-byte intact.

Gates: validator_occ_append_only vs origin/dev -> ok:true (all four receipt
diffs are 'A'); OMN-15459 supersession corpus 2344 violations vs baseline
2344, exact match (no new S1/S2 violations); resolve_supersession returns
both records cleanly with no error and no tombstone; pre-commit green;
all five active checks execute PASS; uv run pytest tests/ -> 4345 passed,
47 skipped.
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.

1 participant