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/