Repository navigation
Partial IR-550: typed unsupported direct requests - #372
Merged
Merged
Conversation
added 8 commits
October 12, 2026 03:25
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.
Summary
Partial IR-550 implementation for typed refusals of direct unsupported scalar, equality, and function requests. This PR does not close IR-550.
Covered behavior
Unsupported.caserequest returns typedUnsupported, retains request identity, emits no code for that item, and leaves a healthy equality sibling byte-identical.Unsupported.PackageAccountingrecord and source occurrences. TC-029 node40 guards this boundary.Known gap
No authentic admitted
temporal/fairnesspackage or direct AC-33 fairness test exists yet. The typed reader candidate was rejected withInvalidSemanticGraphat the formula node ID, including after correcting formula/fairness occurrence roles toexpression. The exact candidate/refusal and FR-322 preimage hypothesis are recorded in/tmp/ir550-fairness-reader-refusal.txt. IR-774 owns reader admission. SR-8663 FND-003 is deferred for this explicitly partial slice, not resolved; IR-550 remains Coding/open until IR-774 supplies the admitted package and the direct fairness test is added.Verification
4b3be14: TC-029 node40 accounting regression, equality direct-case sibling, scalar direct formula, and function direct formula/case passed 1/1 each.make -k ciona8dd9cd: PASS; 247 unit, 507 integration, one doctest; 27 Kani-only tests ignored by ordinary CI. All configured stages passed. Log:/tmp/ir550-prepr-ci-a8dd9cd.log.make kani-gateona8dd9cd: PASS, 27/27, Kani 0.68.0, clean tree. Log:/tmp/ir550-prepr-kani-a8dd9cd.log.make kani-scope: required sources aresrc/oracle/equality/mod.rs,src/oracle/function/mod.rs,src/oracle/mod.rs, andsrc/oracle/scalar/mod.rs.make spec, formatting, and diff checks passed on the reviewed source changes.d3026cfexposed the node40 accounting regression; fixed in4b3be14and confirmed by the focused control above.Review and gate state
Independent code and gap reviews found no new concern in the fix. FND-003 is explicitly deferred to IR-774 for this partial slice, while IR-550 stays open. The first CI/Kani pair passed on
a8dd9cd. The second full CI/Kani pair passed on the final PR head2ffa2cd:make -k ciexit 0 (247 unit, 507 integration, one doctest; 27 expected Kani-only ignores; all configured stages green), log/tmp/ir550-premerge-ci-2ffa2cd.log;make kani-gateexit 0 (27/27, Kani 0.68.0), log/tmp/ir550-premerge-kani-2ffa2cd.log. The tree remained clean.This draft was opened before the first full CI/Kani pair; that cadence deviation was reported to the lane lead.
Refs IR-550; IR-774