Emit a variant app graph per TestingKey (phase 1: seed-façade variants)#224
Merged
tachyonics merged 2 commits intoJul 26, 2026
Conversation
@BindType only rewrote the seed-scope consumer to the doubles-sourced mock; the @BindType'd base binding stayed in the shared _wireBootstrap, so an eager binding's init still ran under the mocked suite (the wire-mvc overlay leak). Emit, per TestingKey, _<Variant>WireGraph + Wire.bootstrap<Variant>() = the production app graph minus the bindings the variant reconstructs per scope entry (the @BindType'd/@Scopable-lifted set) and the contributor proxies (rebuilt by façades). Re-point the variant seed façades' wireGraph: parameter type to it; the keyless _WireGraph and the contributor-proxy façades are untouched. Phase 1 is gated to seed-façade, non-opaque-dropping variants: a route-carrying variant (phase 2) or an opaque @singleton(as: T) drop (phase 3, generic-subject axis re-index) emits no variant graph yet and keeps _WireGraph. Gate: EagerSingletonBindType (existential eager binding) + ScopableCascade (Registry-style eager @singleton) prove the dropped binding is absent from the variant graph via introspect(); BindTypeDoubles/ScopableCascade/ReplacesBindType Compose migrated onto Wire.bootstrap<Variant>().
tachyonics
deleted the
sp_Emit_a_variant_app_graph_per_TestingKey_phase_1_seed_facade_variants
branch
July 26, 2026 04:13
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.
@BindType only rewrote the seed-scope consumer to the doubles-sourced mock; the @BindType'd base binding stayed in the shared _wireBootstrap, so an eager binding's init still ran under the mocked suite (the wire-mvc overlay leak). Emit, per TestingKey, _WireGraph + Wire.bootstrap() = the production app graph minus the bindings the variant reconstructs per scope entry (the @BindType'd/@Scopable-lifted set) and the contributor proxies (rebuilt by façades). Re-point the variant seed façades' wireGraph: parameter type to it; the keyless _WireGraph and the contributor-proxy façades are untouched.
Phase 1 is gated to seed-façade, non-opaque-dropping variants: a route-carrying variant (phase 2) or an opaque @singleton(as: T) drop (phase 3, generic-subject axis re-index) emits no variant graph yet and keeps _WireGraph.
Gate: EagerSingletonBindType (existential eager binding) + ScopableCascade (Registry-style eager @singleton) prove the dropped binding is absent from the variant graph via introspect(); BindTypeDoubles/ScopableCascade/ReplacesBindType Compose migrated onto Wire.bootstrap().