Add granular type-use derivation lineage - #47
Merged
Conversation
Establish independent artifact, member, type-use, binding, and member-role facts so adapters can contribute exact use-site semantics without replacing complete artifact definitions. Admission freezes and rejects malformed inputs atomically while preserving existing contracts.
Derive exact member bindings once from a canonical admitted base snapshot and retain the rule, input facts, and complete evidence lineage. Conflicting or incomplete subjects fail closed without consulting adapter identities, Roslyn, or prior derived outputs.
Resolve admitted and derived member facets at their smallest semantic key, materializing compatibility artifact definitions only in the resolved graph. Conflicts and unsupported shapes now fail closed with exact dispositions while legacy aggregate paths remain supported.
Let .NET adapters emit independently admitted member declarations, nested use-site shapes, exact terminal subjects, and explicit member roles while preserving the existing aggregate type-shape APIs.
Document fixed-snapshot type-use lineage and exercise modern Vogen/external composition, a source-independent non-.NET frontend, the 0.16 API baseline, and unchanged 0.1/0.5 consumer binaries against candidate packages.
Block complete legacy artifacts when exact member evidence conflicts or cannot be represented, retain complete binding target roles through lowering, distinguish ordinary and event-source identifiers, and validate malformed shape structures without throwing.
Clarify exact ArtifactKey retention, role-specific dispositions, and atomic omission of malformed or lossy member evidence, and exercise target-role preservation in the package consumer.
8 tasks
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.
Added
Changed