Conversation
This branch has not been deployed
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.
Purpose
Add the first source-grounded Assurance IR extractor for application-level protected effects.
This profile is deliberately narrower than the existing FastAPI authorization profile. It trusts only repository-declared semantic anchors and represents unsupported semantics explicitly.
Trusted inputs
The repository supplies:
No LLM output or name heuristic becomes trusted policy.
Extracted semantics
For supported direct FastAPI handlers the compiler records:
protected_effect_integritycompiler introduced in feat: compile protected-effect integrity obligations #31.Conservative boundaries
The initial profile explicitly downgrades coverage for:
include_routermounting that is not yet modeled;Unsupported behavior becomes Assurance IR
unknowns; it does not silently become an allow result.Example property path
authorize(user, "billing.invoice.refund", invoice)followed by
issue_refund(invoice)produces equal principal/effect/resource bindings.
If the sink instead receives
other_invoice, resource binding is explicitlyunknown, so downstream verification cannot claim equivalence.Stack
This is a draft stacked on #31, which is stacked on #30. It targets
feat/protected-effect-integrity, notmain, to preserve the current release-candidate evidence boundary.