Files

2.2 KiB

1. Lifecycle and Registry Boundaries

  • 1.1 Add the canonical minimal NenjimProcess, migrate every modern startable implementation and lookup, and remove NenjimApplication without an alias.
  • 1.2 Reduce the public Registry manager contract and reference implementation to passive registration only.
  • 1.3 Add the implementation-only Registry assembly that preserves service/process identity and keeps administration package-private.
  • 1.4 Strengthen changed API and internal-admin JavaDoc, including the warning against publicly exposing the Registry mutation interface.

2. Hub Composition and Runtime Ownership

  • 2.1 Add the public NenjimHub contract with single-start delegation and an immutable ordered started-process snapshot.
  • 2.2 Move the complete hardcoded component graph and all registration into NenjimHubImpl without changing component bindings.
  • 2.3 Start and record the Registry first, then preserve the exact enabled process order, inactive set, fail-fast behavior, online point, and blocking wait.
  • 2.4 Update Main to construct and start exactly one NenjimHub while keeping the configured entry point unchanged.

3. Documentation

  • 3.1 Update docs/Nenjim.md and docs/Terminologi.md to distinguish component, service, application role, process lifecycle, Hub ownership, and passive Registry administration.
  • 3.2 Update directly affected public HTML and operational documentation without changing deferred-feature or business behavior.
  • 3.3 Add ownership deltas for AssetAZ Currency Identity and Ticker so their composition requirements name NenjimHub rather than the Registry manager.

4. Verification

  • 4.1 Strictly validate the active OpenSpec change and all repository specs without synchronizing or archiving the change.
  • 4.2 Run the existing Gradle build and Detag/Java compilation without invoking production main().
  • 4.3 Run safe temporary probes for Registry assembly identity/admin boundaries and pre-start immutable Hub snapshots, then remove all probe artifacts.
  • 4.4 Inspect the complete redacted diff, working tree, package references, generated-source status, acceptance criteria, and out-of-scope boundaries without committing or pushing.