2.6 KiB
2.6 KiB
Why
Issue #76 made the Registry manager the composition root and lifecycle owner, but design review established that these are responsibilities of one running NenjimHub rather than of the Registry subsystem. The architecture now needs a canonical process contract and an explicit Hub runtime owner before later Journal and process-management work builds on the wrong boundary.
What Changes
- BREAKING: Replace
NenjimApplicationwith the canonical minimalNenjimProcesscomponent contract. - Reintroduce
NenjimHubas the global composition and runtime owner, with single-attempt startup and an immutable ordered snapshot of successfully started process IDs. - Move Registry construction, the complete hardcoded component graph, explicit process startup, the online point, and the blocking runtime wait into
NenjimHubImpl. - BREAKING: Reduce
NenjimRegistryServiceManagerto a passive registration handle that is retained by the Hub and is neither a component nor a process. - Add an implementation-only Registry construction boundary that provides read-only service, process, and manager views without exposing the package-private administration interface.
- Preserve all current component bindings, enabled process choices and order, inactive components, Registry lookup guarantees, and fail-fast startup behavior.
- Keep
com.r35157.nenjim.hubd.Mainas the thin configured entry point and update directly affected documentation and JavaDoc.
Capabilities
New Capabilities
None.
Modified Capabilities
nenjim-component-registry: Corrects component lifecycle terminology, Registry-manager responsibility, global Hub ownership, startup tracking, and outer bootstrap behavior.assetaz-currency-identity-service: Transfers hardcoded catalogue composition ownership from the Registry manager toNenjimHub.assetaz-ticker-service: Transfers price-source construction and registration ownership from the Registry manager toNenjimHub.
Impact
- Changes public lifecycle and runtime APIs under
com.r35157.nenjim.process,com.r35157.nenjim.hubd, andcom.r35157.nenjim.service.registry. - Moves the current reference composition from
NenjimRegistryServiceManagerImpltoNenjimHubImplwhile preserving its operational bindings and sequence. - Updates all modern startable reference implementations to the new process contract and removes
NenjimApplicationwithout a compatibility alias. - Updates the active OpenSpec delta, Nenjim architecture documentation, terminology, and public HTML; no Journal, Context, classloader, configurable autorun, process-manager, stop/restart/health, or business behavior is introduced.