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 L53
orchestrata_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 L42
orchestrata_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