Skip to content

spec: define direct CG non-success outcome errors (IR-621) - #487

Open
kreneskyp wants to merge 11 commits into
code/ir-615-profile-consumerfrom
spec/ir-621-cg-direct-outcomes
Open

kreneskyp wants to merge 11 commits into
code/ir-615-profile-consumerfrom
spec/ir-621-cg-direct-outcomes

Conversation

@kreneskyp

Copy link
Copy Markdown
Contributor

The retained CG family and corpus APIs expose impossible outcome-construction errors even when their caller has already selected a non-success kind. This specification amendment defines direct Result<Success, KaniOutcome> errors using IR’s infallible constructors, retiring FamilyLoweringError and BoundedCorpusError without compatibility aliases or replacement wrappers.

FR-015-AC-120/121 and TC-023 specify external signature checks and preservation of exact kind, cause, source/profile context, successful outputs, failure ordering, and no Boolean claim or partial artifact. Interface-001, AD-003 and NFR-005 agree with that contract. Both criteria and implementation remain planned; terminal cancellation pairing and AD-004’s final generator retirement are excluded.

Validation: all five changed Markdown artifacts pass structural quire validate; git diff --check passes. No Cargo, native tests, backend or aggregate was run for this spec-only change.

Stacked on the frozen reviewed IR-615 consumer branch. Merge is blocked until its parent lands, followed by normal retarget/rebase to main and independent review. IR-621 remains open through implementation and acceptance.

@kreneskyp
kreneskyp force-pushed the code/ir-615-profile-consumer branch from f758336 to 2f24b78 Compare October 21, 2026 13:25
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