All v0.9.0 roadmap items validated in production (reverse-order shutdown, Shutdown
idempotency via sync.Once, OnStop behavior when OnStart was never reached). No
API changes. Bumps logz dependency from v0.9.0 to v1.0.0. API committed as stable.
launcher only imports logz (Tier 1) — it belongs at Tier 2, not 5.
The wrong tier implied it had to be pushed last, when in reality worker,
postgres, mysql, sqlite, valkey, firebase, and httpserver all depend on it
and cannot be tagged before it.
Application lifecycle manager enforcing a three-phase init/wire/start sequence with reverse-order graceful shutdown and per-component stop timeouts.
What's included:
- `Component` interface (OnInit / OnStart / OnStop) and `Hook` type for BeforeStart wiring functions
- `Launcher` interface with Append, BeforeStart, Run (blocks on SIGINT/SIGTERM), and idempotent Shutdown(ctx)
- `New(logger, opts...)` constructor with configurable ComponentStopTimeout (default 15 s); no global state
Tested-via: todo-api POC integration
Reviewed-against: docs/adr/