Repository navigation
Closed
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.priority: P2Medium; normal planned work.Medium; normal planned work.status: blockedCannot move forward until an external dependency is resolved.Cannot move forward until an external dependency is resolved.type: featureNew user-facing or operator-facing capability.New user-facing or operator-facing capability.
Description
Parent
Rewrite the spec and the compiler in place, release 1.0.0, and hand over every Project
What to build
Routes render once edge itself is on the estate path, not only once no Project is legacy. Chapter 60 today says no Project's artifact carries a route until the ledger is empty, so all 48 live routes would flip in the very last change, together with the secrets move. Operator decision of 2026-10-23: routes flip with the edge handover, in the same window as Traefik, and the later secrets move does not touch routes. Legacy Projects' routes stay on the old path until each leaves.
Acceptance criteria
- Chapter 60 states the new condition, and chapters 14 and 55 agree.
- With
edgehanded over and another Project stilllegacy, composition renders everyestateProject's routes and none of thelegacyone's. - The chapter states the rule and its refusals, with short rationale only, and
CONTEXT.mdcarries each new term in the same pull request. - A worked example shows it; its resolved artifact and its rendered tree are updated and reviewed by hand, never regenerated in CI.
- Each refusal has a refusal example with its diagnostics file.
- The JSON Schemas and their corpus admit the new shape and refuse a malformed one.
- The behaviour-ledger row lands with its test, and
npm run verifypasses.
Blocked by
Metadata
Metadata
Assignees
Labels
area: deployhomelab-deploy, deploy-v2, manifests, and rollout flow.homelab-deploy, deploy-v2, manifests, and rollout flow.priority: P2Medium; normal planned work.Medium; normal planned work.status: blockedCannot move forward until an external dependency is resolved.Cannot move forward until an external dependency is resolved.type: featureNew user-facing or operator-facing capability.New user-facing or operator-facing capability.
Activity
feat(compose): routes flip with the edge's own handover