Reading Startup Waves
At boot, FlowLayer prints a computed execution plan before starting services.
Example shape:
services: 4
plan:
[0] db, cache
[1] api, worker
[2] frontend
How to read it
- each bracket is one startup wave
- services in one wave are independent and can start concurrently
- next wave starts only after current wave startup conditions are satisfied
What this reveals quickly
- unnecessary serialization from over-declared dependencies
- hidden startup chokepoints
- whether a late service is blocked by readiness or by topology
Debug pattern
- compare expected vs printed wave membership
- inspect
dependsOnfor accidental coupling - verify readiness gates only where startup correctness requires them
If planning fails before any wave is printed, check Dependency Cycle.
Reference: Waves.