# Spec Delta ## MODIFIED Requirements ### Requirement: Selected processes are constructed and started lazily in exact order The Hub SHALL support the modern process IDs `nenjim.registry.service`, `nenjim.journal.service`, `assetaz.ticker.default`, `jupiter-perps-alarm.default`, `evelyn.status.prod`, `evelyn.status.test`, `evelyn.iou-burner.prod`, `nenjim.javafx-runtime.service`, `evelyn.mission-control.default`, and `nenjim.process-manager.default` through implementation-only construction capability that creates no process instance during validation. After passive composition, the Hub SHALL visit every configured entry after Registry in declared order, beginning with Journal. At each entry it SHALL construct only that process and any process-specific passive administration view, register the process under the exact configured ID, resolve it through the canonical `NenjimProcess` contract where applicable, call `start()`, and record the ID only after successful return. The configuration SHALL be the complete manually ordered process dependency closure. The Hub SHALL not discover, insert, recursively construct, reorder, or automatically start dependencies. A process omitted from `[AUTO_START]` SHALL not be constructed, registered, started, or recorded, even when its implementation is available. Legacy process prototypes outside the modern Hub graph SHALL not be selectable. #### Scenario: Configured process starts successfully - **WHEN** a configured process entry is reached and its dependencies are already available - **THEN** that process is constructed, registered, started, and recorded before the next entry is reached #### Scenario: Process is omitted - **WHEN** a known process ID does not appear in `[AUTO_START]` - **THEN** no instance of that process is constructed or registered and its lifecycle is never started or recorded #### Scenario: Jupiter Perps Alarm is selected - **WHEN** `jupiter-perps-alarm.default` is explicitly listed after its required predecessors - **THEN** the otherwise inactive modern alarm process is constructed, registered, started and recorded at that exact position #### Scenario: Dependency order is invalid - **WHEN** a selected process is reached before a process dependency required by its current constructor or startup behavior - **THEN** construction or startup fails clearly without implicit dependency construction, repair, or reordering #### Scenario: JavaFX processes are omitted - **WHEN** a valid headless plan omits `nenjim.javafx-runtime.service`, `evelyn.mission-control.default`, and `nenjim.process-manager.default` - **THEN** none of those objects is constructed or registered and the JavaFX toolkit remains uninitialized by the Hub #### Scenario: Renamed status services retain dependency wiring - **WHEN** `evelyn.status.prod` and `evelyn.status.test` are listed after Ticker and before Mission Control - **THEN** the Hub constructs separate Production/Test status services, registers the renamed IDs, and injects the corresponding typed service views into Mission Control in the configured order #### Scenario: Deployment still contains an old status ID - **WHEN** a private deployment configuration contains `evelyn.service.prod` or `evelyn.service.test` - **THEN** validation rejects the unknown ID before startup; deployment migration replaces only that ID with `evelyn.status.prod` or `evelyn.status.test`, preserving selection and order