Skip to content

Accept the runtime_notice kwarg in the withheld-content gate double - #28

Closed
Parad0x-Labs wants to merge 1 commit into
mainfrom
mission/withheld-gate-double
Closed

Parad0x-Labs wants to merge 1 commit into
mainfrom
mission/withheld-gate-double

Conversation

@Parad0x-Labs

Copy link
Copy Markdown
Owner

What failed

tests/test_withheld_content_unsatisfies_its_slot.py — 3 of 5 cases red in the main CI
census (run 35570948370) and every PR run since; deterministic locally:

  • test_a_withheld_statement_unsatisfies_the_slot_it_was_about — demand_satisfied 2,
    expected 1
  • test_the_served_bytes_never_carry_the_withheld_statement
  • test_the_reader_is_told_which_slot_went_missing

Root cause

The suite's _gate double for core.grounding_publication.gate_publishable_content has the
pre-runtime_notice signature. core.finalization calls the gate with
runtime_notice=…; the double raises TypeError, finalization logs "grounding publication
gate failed; publishing ungated" and falls back to UNGATED bytes — which is precisely the
corruption the suite exists to pin: with ungated bytes every demand reads satisfied, so the
withheld statement wrongly satisfies its slot (demand_satisfied 2 instead of 1). The
suite was failing for the opposite of its purpose — the production accounting it checks is
correct once the gate actually runs.

Repair (test-only, one file, +5/−1)

The double accepts runtime_notice=False. Every assertion is unchanged.

Validation

  • Target suite: 3 failed → 5 passed (control case still certifies both slots with
    nothing withheld).
  • Cumulative batch — the six gate_publishable_content neighbor suites
    (test_served_evidence_binding_p0, test_operator_class_new_wording_2026_09_07,
    test_final_answer_author_eligibility_p0, test_unsupported_current_claims_cannot_publish_m3,
    test_truth_boundaries_representation_and_execution, test_mixed_turn_knowledge_sibling_p1)
    plus the repaired file: 97 passed, 2 failed — the same two conductor cases fail
    identically on clean main
    (stash-verified; pre-existing, untouched here).
  • ruff check . clean (pinned 0.16.7).

Base: main 8153a96. One file changed.

finalization calls gate_publishable_content with runtime_notice (the
gated-publication seam); the suite's double predated the kwarg, so the
gate crashed and finalization published UNGATED -- the exact corruption
the suite pins, silently: with ungated bytes every demand reads
satisfied and the withheld statement wrongly satisfies its slot. The
double accepts the kwarg; every assertion is unchanged. 3 CI failures
(main run 35570948370) -> 5 passed; the six grounding-publication
neighbor suites run identically apart from two pre-existing conductor
cases that fail the same on clean main.
@Parad0x-Labs
Parad0x-Labs deleted the mission/withheld-gate-double branch September 23, 2026 03:49
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