Remove lifecycle operations from the EvelynIOUBurnerService API #83

Closed
opened 2026-09-04 10:00:29 +02:00 by minimons · 0 comments
Owner

Background

EvelynIOUBurnerService currently exposes only start() and stop().

This conflicts with the current Nenjim architecture:

  • Service interfaces expose domain operations, not lifecycle control.
  • Active implementations separately implement NenjimProcess.
  • NenjimProcess currently supports only Hub-owned start().
  • Common stop and restart lifecycle are not yet supported.

An empty EvelynIOUBurnerService is acceptable until external domain operations are introduced. It still provides typed Registry and dependency identity.

Required changes

  • Remove start() and stop() from EvelynIOUBurnerService.
  • Keep EvelynIOUBurnerServiceImpl.start() as its NenjimProcess.start() implementation.
  • Remove the public stop() operation and stop-specific implementation state.
  • Preserve cleanup when worker scheduling fails during startup.
  • Keep Hub startup wiring and Burner behavior unchanged.
  • Update OpenSpec, JavaDoc, and relevant documentation.

Out of scope

  • Adding stop() to NenjimProcess.
  • Hub shutdown or restart support.
  • Adding new Burner domain operations.
  • Changing transaction, polling, or notification behavior.
  • New automated tests.

Acceptance criteria

  • EvelynIOUBurnerService exposes no operations.
  • EvelynIOUBurnerServiceImpl remains both an EvelynIOUBurnerService and a NenjimProcess.
  • The Hub continues to start the Burner through NenjimProcess.
  • The implementation exposes no general stop operation.
  • Failed worker scheduling still cleans up the created executor.
  • OpenSpec and documentation describe lifecycle as Hub-owned.
  • The project compiles and OpenSpec validates successfully.
## Background `EvelynIOUBurnerService` currently exposes only `start()` and `stop()`. This conflicts with the current Nenjim architecture: - Service interfaces expose domain operations, not lifecycle control. - Active implementations separately implement `NenjimProcess`. - `NenjimProcess` currently supports only Hub-owned `start()`. - Common stop and restart lifecycle are not yet supported. An empty `EvelynIOUBurnerService` is acceptable until external domain operations are introduced. It still provides typed Registry and dependency identity. ## Required changes - Remove `start()` and `stop()` from `EvelynIOUBurnerService`. - Keep `EvelynIOUBurnerServiceImpl.start()` as its `NenjimProcess.start()` implementation. - Remove the public `stop()` operation and stop-specific implementation state. - Preserve cleanup when worker scheduling fails during startup. - Keep Hub startup wiring and Burner behavior unchanged. - Update OpenSpec, JavaDoc, and relevant documentation. ## Out of scope - Adding `stop()` to `NenjimProcess`. - Hub shutdown or restart support. - Adding new Burner domain operations. - Changing transaction, polling, or notification behavior. - New automated tests. ## Acceptance criteria - `EvelynIOUBurnerService` exposes no operations. - `EvelynIOUBurnerServiceImpl` remains both an `EvelynIOUBurnerService` and a `NenjimProcess`. - The Hub continues to start the Burner through `NenjimProcess`. - The implementation exposes no general stop operation. - Failed worker scheduling still cleans up the created executor. - OpenSpec and documentation describe lifecycle as Hub-owned. - The project compiles and OpenSpec validates successfully.
minimons added the enhancement label 2026-09-04 10:00:29 +02:00
minimons self-assigned this 2026-09-04 10:00:29 +02:00
minimons added this to the Evelyn project 2026-09-04 10:00:29 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: r35157/com_r35157_nenjim-hubd-impl_ref#83