Orchestrata Ultimate / RTM / 024-dependency-injection
RTM: 024-dependency-injection
Requirement to symbol to test rows for 024-dependency-injection: Dependency Injection Container.
At a glance
| Item | Value |
|---|---|
| Requirement IDs | 53 |
Traced from src/ |
49 (92.5%) |
| Untraced | 4 |
Cited from tests/ |
0 (0.0%) |
Traced in src/ but not cited from tests/ |
49 |
Reading this matrix
This matrix lists each of the 53 requirement IDs of spec 024-dependency-injection with the src/ symbols that cite it and the tests that cite it. 49 of them (92.5%) have at least one citing symbol and 4 have none.
0 requirements are also cited from tests/, and 49 are traced in code but never named by a test. A test citation is a @traces on a test function; it shows intent to cover, not that the test runs or reaches the symbol.
Rows showing none in the symbols column are the gaps to close first. The densest untraced groups are REQ-024-* (4).
Requirement to symbols to tests
| Requirement | Symbols in src/ |
Tests citing it |
|---|---|---|
REQ-024-001 DIContainer.register() accepts an interface class and an implementation class and... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-002 register() accepts a scope parameter of type ComponentScope (SINGLETON, TRANSIENT,... |
orchestrata_ultimate/core/protocols/base ComponentScope L53orchestrata_ultimate/di/container register L96 |
none |
REQ-024-003 register() accepts an optional config dict that is stored with the registration and... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-004 register() accepts an optional factory callable; when provided, the factory is used... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-005 When factory is None, register() validates that implementation is a subclass of... |
orchestrata_ultimate/di/container _validate_registration L176 |
none |
REQ-024-006 register() raises ValueError when neither implementation nor factory is provided. |
orchestrata_ultimate/di/container _validate_registration L176 |
none |
REQ-024-007 The config dict is shallow-copied at registration time so subsequent mutation of the... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-008 register() accepts an optional dependencies list of types that explicitly override... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-009 register() returns self to allow method chaining. |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-010 Registering the same interface a second time on the same container raises ValueError... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-011 DIContainer.resolve() is an async method that returns an instance satisfying the... |
orchestrata_ultimate/di/container resolve L248 |
none |
REQ-024-012 resolve() raises ValueError when the requested interface has no registration in the... |
orchestrata_ultimate/di/container resolve L248 |
none |
REQ-024-013 SINGLETON-scoped registrations return the same instance object on every call to... |
orchestrata_ultimate/di/container _cached_instance L369 |
none |
REQ-024-014 TRANSIENT-scoped registrations return a new instance object on every call to resolve(). |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-015 REQUEST-scoped registrations return the same instance within a single resolution tree... |
orchestrata_ultimate/di/container _cached_instance L369 |
none |
REQ-024-016 After instantiating a class, resolve() calls await instance.initialize(config) if... |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-017 initialize() is called exactly once per singleton instance (not on every resolve). |
orchestrata_ultimate/di/container _store_instance L386 |
none |
REQ-024-018 resolve() inspects the constructor (init) signature of the implementation class... |
orchestrata_ultimate/di/container _resolve_dependencies L450 |
none |
REQ-024-019 Parameters without type annotations or with built-in types (str, int, etc.) are... |
orchestrata_ultimate/di/container _resolve_param L481 |
none |
REQ-024-020 If the factory callable is registered, resolve() calls await factory(container)... |
orchestrata_ultimate/di/container _create_instance L405 |
none |
REQ-024-021 resolve() passes the stored config dict to the factory as a keyword argument when... |
orchestrata_ultimate/di/container _create_instance L405 |
none |
REQ-024-022 Resolved instances from register_instance() are returned directly without calling... |
none | none |
REQ-024-023 resolve() supports generic type parameters (e.g., resolve(IStore[int])) by falling... |
orchestrata_ultimate/di/container resolve L248 |
none |
REQ-024-024 resolve() propagates exceptions raised inside factory callables or initialize()... |
orchestrata_ultimate/di/container _create_instance L405 |
none |
REQ-024-025 The ResolutionContext cache is per-call (not shared across concurrent resolve calls)... |
orchestrata_ultimate/di/container ResolutionContext L42 |
none |
REQ-024-026 When resolving interface A causes a recursive resolve of A, a CircularDependencyError... |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-027 The CircularDependencyError message contains the full dependency chain as a readable... |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-028 Circular detection works for transitive cycles of arbitrary depth (A→B→C→A). |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-029 Diamond dependencies (A→B, A→C, B→D, C→D) do not trigger a false CircularDependencyError. |
orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-030 The resolving stack is stored on ResolutionContext and is unwound correctly if an... |
orchestrata_ultimate/di/container ResolutionContext L42orchestrata_ultimate/di/container _resolve_with_context L314 |
none |
REQ-024-031 ContainerBuilder.with_component() accepts interface, implementation, scope, and config... |
orchestrata_ultimate/di/container with_component L714 |
none |
REQ-024-032 ContainerBuilder.build() constructs and returns a fully configured DIContainer with... |
orchestrata_ultimate/di/container build L785 |
none |
REQ-024-034 build() validates that all registrations are internally consistent (no duplicate... |
orchestrata_ultimate/di/container build L785 |
none |
REQ-024-035 CORRECTED 2026-07-06 (was a doc/code mismatch, D4 audit) — the DIContainer returned by... |
orchestrata_ultimate/di/container build L785 |
none |
REQ-024-036 DIContainer.register_instance() accepts an interface type and a pre-created instance... |
orchestrata_ultimate/di/container register_instance L209 |
none |
REQ-024-037 register_instance() raises ValueError if the instance does not implement (is not an... |
orchestrata_ultimate/di/container register_instance L209 |
none |
REQ-024-038 resolve() returns the pre-created instance directly for interfaces registered via... |
orchestrata_ultimate/di/container factory L238 |
none |
REQ-024-039 Instances registered via register_instance() coexist with class-based registrations in... |
orchestrata_ultimate/di/container register_instance L209 |
none |
REQ-024-040 register_instance() returns self to allow method chaining. |
none | none |
REQ-024-041 ContainerRegistry.register() stores a DIContainer under a given string name. |
orchestrata_ultimate/di/container register L848 |
none |
REQ-024-042 ContainerRegistry.get() retrieves a previously registered container by name and raises... |
orchestrata_ultimate/di/container get L860 |
none |
REQ-024-043 ContainerRegistry.has() returns True if a container is registered under the given... |
orchestrata_ultimate/di/container has L879 |
none |
REQ-024-045 ContainerRegistry is a global singleton accessible without instantiation. |
orchestrata_ultimate/di/container ContainerRegistry L833 |
none |
REQ-024-046 DIContainer.get_registry_info() returns a dict mapping interface names to registration... |
orchestrata_ultimate/di/container get_registry_info L625 |
none |
REQ-024-047 DIContainer.has() returns True if the given interface has a registration, False otherwise. |
orchestrata_ultimate/di/container has L653 |
none |
REQ-024-048 DIContainer.get_all_registrations() returns the raw mapping of interface type to... |
orchestrata_ultimate/di/container get_all_registrations L668 |
none |
REQ-024-049 DIContainer.set_context() stores an arbitrary key-value pair accessible throughout... |
orchestrata_ultimate/di/container set_context L561 |
none |
REQ-024-050 DIContainer.get_context() retrieves a stored ambient value by key, returning the... |
orchestrata_ultimate/di/container get_context L572 |
none |
REQ-024-051 All write operations to the registration map (_registrations) and singleton cache... |
orchestrata_ultimate/di/container register L96 |
none |
REQ-024-052 Resolution (read path) does not hold the lock during async instantiation or... |
orchestrata_ultimate/di/container resolve L248 |
none |
REQ-024-053 Singleton creation uses a double-checked locking pattern: check without lock, acquire... |
orchestrata_ultimate/di/container _store_instance L386 |
none |
REQ-024-044 removed from |
none | none |
REQ-024-033 ) — deleted because it bypassed register()'s own |
none | none |