76: Introduce the Nenjim component registry and move runtime composition into its manager
This commit is contained in:
@@ -67,7 +67,7 @@ The Currency Identity Service SHALL return all configured external references fo
|
||||
- **THEN** the result contains its configured Solana mint reference
|
||||
|
||||
### Requirement: Immutable conflict-free hardcoded catalogue
|
||||
The hardcoded Currency Identity Service SHALL preserve the existing AssetAZ currency UUIDs, maintain one current currency value for each UUID, support multiple external references per UUID, reject conflicting UUID or external-identity mappings during initialization, expose no public mutation operation, and be safe for concurrent reads after construction. NenjimHub SHALL create exactly one hardcoded service instance for its autorun context and SHALL pass that same instance to every autorun component that requires currency identities.
|
||||
The hardcoded Currency Identity Service SHALL preserve the existing AssetAZ currency UUIDs, maintain one current currency value for each UUID, support multiple external references per UUID, reject conflicting UUID or external-identity mappings during initialization, expose no public mutation operation, and be safe for concurrent reads after construction. The Nenjim Registry service manager SHALL create exactly one hardcoded service instance for the current hardcoded component graph, register it as `assetaz.currency-identity.hardcoded`, and SHALL pass that same instance to every component in that graph that requires currency identities.
|
||||
|
||||
#### Scenario: Conflicting external mapping
|
||||
- **WHEN** initialization maps the same namespace and external identifier to two different AssetAZ UUIDs
|
||||
@@ -77,9 +77,9 @@ The hardcoded Currency Identity Service SHALL preserve the existing AssetAZ curr
|
||||
- **WHEN** initialization provides conflicting current values for the same UUID
|
||||
- **THEN** initialization fails with a clear conflict exception
|
||||
|
||||
#### Scenario: Compose autorun components
|
||||
- **WHEN** NenjimHub constructs its autorun component graph
|
||||
- **THEN** it creates one hardcoded Currency Identity Service and injects that same instance into every component that requires it
|
||||
#### Scenario: Compose hardcoded components
|
||||
- **WHEN** the Registry service manager constructs the current hardcoded component graph
|
||||
- **THEN** it creates and registers one hardcoded Currency Identity Service and injects that same instance into every component that requires it
|
||||
|
||||
### Requirement: Trading pairs use service-owned identities
|
||||
Production code SHALL construct trading pairs from currency values obtained from the current Currency Identity Service and SHALL NOT maintain a parallel static registry of canonical currency or trading-pair instances.
|
||||
|
||||
Reference in New Issue
Block a user