Learning
DotNetTypeUseFacts.Emit(...) currently emits members declared directly on the supplied type. Existing CritterStack concept binding and Marten document discovery traverse inherited public readable properties. Atomic adapter migration cannot safely drop those members, duplicate aggregate property lists, or reintroduce facade-local Roslyn binding.
Scope
- Add an additive .NET helper/API for an exact ordered inherited member surface.
- Define override, hiding, duplicate normalized-name and declaration-order semantics.
- Preserve exact terminal subjects and nested optional/collection shape.
- Emit unique producer-scoped member declaration/type-use/role facts suitable for atomic admission.
Non-goals
- Guessing concepts or identifiers from names/types.
- Rewriting complete
ArtifactFact.Properties to bind one use.
- Framework-specific Marten/Wolverine behavior.
Acceptance criteria
Related: #19, Cratis/Screenplay.CritterStack#44.
Learning
DotNetTypeUseFacts.Emit(...)currently emits members declared directly on the supplied type. Existing CritterStack concept binding and Marten document discovery traverse inherited public readable properties. Atomic adapter migration cannot safely drop those members, duplicate aggregate property lists, or reintroduce facade-local Roslyn binding.Scope
Non-goals
ArtifactFact.Propertiesto bind one use.Acceptance criteria
Related: #19, Cratis/Screenplay.CritterStack#44.