Repository navigation
Add bounded semantic MethodDef identity - #9874
richlander wants to merge 3 commits into
Conversation
Publish structural method identity through exact Method Query Source plans with independent budgets, typed unavailable outcomes, and receipted work. Keep caller safety as a separate producer-owned fact. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Round 1 reconciliation is clean for exact head GPT-6 Sol returned CLEAN with no qualifying findings or prior obligations. Current-head Authored with GitHub Copilot CLI. |
|
Carry-forward classification: no interaction.
The candidate head remains unchanged, no integration or new validation is required, and Authored with GitHub Copilot CLI. |
Compose semantic identity with the newly landed memory-safety contract capability by preserving both receipts and producer participation layers. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
Conflict recovery published a replacement candidate.
The previous Authored with GitHub Copilot CLI. |
|
Round 2 reconciliation is clean for exact recovery head GPT-6 Sol returned CLEAN with no blocking findings, non-blocking observations, scope proposals, or prior finding obligations. The review confirms the conflict resolution preserves independent semantic-identity and memory-safety layers, coverage, and participation receipts. The live base is conflict-free; The Authored with GitHub Copilot CLI. |
|
Carry-forward classification after round 2: no interaction.
The candidate remains unchanged; Authored with GitHub Copilot CLI. |
|
Closing this in favor of #9970, at the operator's direction. Both PRs implement #9830. They differ in two ways that matter for retiring Library Body Analysis:
This PR also has independent work budgets with an exhausted outcome, which #9970 doesn't yet carry; #9970 relies on the existing per-method decode guards. If a request-level cap is wanted, it belongs as a follow-up on #9970. Thanks for the work here. The branch is left in place. 🤖 Generated with Claude Code |
dotnet-inspect builds robust, capable inspection features that provide
foundational capabilities or compelling experiences and are conventionally
sound, delightfully new or unique, or both. This slice advances that mission by
replacing a legacy Library Body Analysis identity dependency with one bounded,
receipted Method Query Source capability.
Summary
MethodSemanticIdentityindependently from display identityand caller-safety ownership
unavailable outcomes and independent work budgets
and per-producer layer participation
MethodIdentitysemantics across synthetic boundary casesand a sparse exact-method CoreLib gate
Design basis
Normative owner:
docs/design/method-query-source.md#semantic-methoddef-identity.The capability intentionally rejects all-definition, exact-TypeDef, predicate,
and generated-body expansion plans.
CallerUnsafeModeremains a separateproducer-owned prerequisite and must be supplied explicitly when composing the
legacy
MethodIdentityshape.Validation
dotnet build dotnet-inspect.slnx -c Releasedotnet run --project tests/ILInspector.Analysis.Tests -c Release --no-build --no-restoreis not installed
dotnet run --project tests/ILInspector.Analysis.Tests -c Release --no-build --no-restore -- --filter-class '*MethodRowGateTests'mainnpx markdownlint-cli docs/design/method-query-source.mdgit diff origin/main...HEAD --checkCloses #9830.
Advances #8965.
Authored with GitHub Copilot CLI.