Files

1.4 KiB

MODIFIED Requirements

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. 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
  • THEN initialization fails with a clear conflict exception

Scenario: Conflicting currency metadata

  • WHEN initialization provides conflicting current values for the same UUID
  • THEN initialization fails with a clear conflict exception

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