Repository navigation
Define the Annotated Type Map API shape family adoption - #10954
richlander wants to merge 2 commits into
Conversation
Add the focused owner for planning step 4: the API shape-fact producer in ILInspector.Metadata, a Finding Diff Any API settlement seam beside the Body reader seam, and the Sections family, adapter, and settler. Amend planning Focus to one Type focus authority per version side, and settle generation's open points: missing-result failure, one key set per side, and NoApplicableInput for a Member the surface does not admit. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Round 1 reconciliation (head
|
Record in finding-diff-any.md that the API shape family owner moves projection selection to Member keys and adds a settlement seam, and declare that amendment in the new owner. Qualify the producer's image-wide scans, drop the unreachable generated-code owner case, retain each side's focus in the plan with its construction failures, and settle a Type admitted on neither side as Unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Round 2 reconciliation (head
|
Held for PR #10956The maintainer settled what the map is for: it holds the Type's coordinate plus Once PR #10956 merges, this PR gets a round 3 with two changes:
I removed 🤖 Generated with Claude Code |
Summary
Adds
docs/design/annotated-type-map-api-family.md, the focused owner forplanning step 4. Planning step 4 registers the API shape-fact family and routes
Finding Diff Any's API census settlement through a family contribution request.
Finding Diff Any's settlement depends on code internal to
ILInspector.Metadata: the census key grammar, the Member key function, andAPI-equality extraction.
DotnetInspector.Sectionscannot see that code, sothe design splits the work at that boundary:
ILInspector.Metadata: returns one side's API shape factsfor one Type, keyed by Finding Diff Any Member key. It selects Members by
key, not name, so asking for one overload extracts only that overload.
ILInspector.Metadata: a public delegate beside theexisting Body reader seam.
DotnetInspector.Sections: the family registration, its adapter, anda settler that forms a family contribution request over the pair. The
settler settles that request with
SettleContributionsand compares the twosides with the complete API comparison.
There is one producer and one comparison. Without the seam, Finding Diff Any
settles inline through the same producer.
Amendments
registration, so a pair request now carries one Type focus authority per
side.
(
InspectionQueryException).enforces it.
NoApplicableInput.2. Slice 2's fact comparison needs fact-stream content that the map's
adoption step 3 has not yet defined.
Validation
npx markdownlint-clipasses on all three changed documents.Tracked by #10215, under theme #10169.
🤖 Generated with Claude Code