[layers v2] Define and implement whole-layer scheduling
- Dominant language
- Go
- Stars
- 569
- Forks
- 364
- Avg merge
- 2d 19h
- Merged PRs (30d)
- 136
Description
Part of #9765. Related: #9904 (layer/service targeting).
#9913 and #9915 add the layer model and extension API, but execution still schedules individual infrastructure entries and services, not whole project layers.
Define and implement what layer grouping means during execution:
- When can a layer start, and does completion include infrastructure, services, or both?
- Do we need explicit layer dependencies? Which work can run concurrently?
- How do failures, cancellation, hooks, and environment state affect dependent layers?
Reuse the existing execution graph where practical. Don't assume declaration order means sequential execution. Preserve flat and legacy `infra.layers[]` behavior, with tests for ordering, concurrency, and failures.
Input/output remapping (#9771) and the known `env.Config` propagation bug are separate work.
Contributor guide
Assessment
This issue has not been assessed yet.