Composition graph resolved at compile time
Platform spec ADR
Composition graph resolved at compile time
Spec standingStandard
- Native dependency injection - Contracts and edge cases Lifetime rules, plural inject, host override, fail-closed guarantees, E17xx diagnostics.
- Native dependency injection - Design model host, registry, scope hierarchy, global scope, field inject, array inject, dispose, and launch.
- Native dependency injection - Examples Reference fixtures for hosts, plural inject, scope dispose, and library hosts.
- Native dependency injection - FAQ and troubleshooting Locked design decisions, troubleshooting, and v0.3 follow-ups.
- Native dependency injection - Flow and algorithm Host-chain merge, global scope, composition.resolve, plural inject lowering.
- Native dependency injection - Verification and traceability Tests, snapshot versioning, and implementation checklist.
0 revisions (git unavailable at build; counts may be empty)
No commits recorded for this path.
Full tree: run pnpm verify:platform-spec-layout (writes src/generated/platform-spec-layout-report.json).
Context
Section titled “Context”Runtime DI containers hide wiring and conflict with the project’s explicit composition goals (distinct from Rust pipeline IoC in D-INC-0002).
Decision
Section titled “Decision”The reference compiler must fully resolve the app composition graph at compile time. Backends must not perform runtime service lookup for host / registry / scope wiring.
Consequences
Section titled “Consequences”Lowering emits ctor wiring and scope enter/leave; execution hosts activate frozen graphs only.
Verification anchors
Section titled “Verification anchors”compiler/crates/beskid_analysis (planned composition module); compiler/crates/beskid_codegen; Flow and algorithm.