Repository navigation
Description
Part of #324.
What to build
A Move with no method, that is a stateless Application changing namespace or Project, resolves and renders its source and target Instances, but no step Jobs (#335, #334). So nothing performs its flip: updating the Stable Addresses (<app>-<surface> ExternalName Services in estate-system) to point at the target.
Decide which image runs the flip for a Move with no method, and render a flip Job (and a reverse Job if the Move is reversible) for it, run as <process>-move with the same resourceNames-scoped Role the method-based Move uses.
Options to weigh:
- a small flip image published by the delivery repo and locked like any other;
- the Release Gate performing the flip itself, so no Job is rendered.
Acceptance criteria
- A stateless Move renders a step that flips its Stable Addresses, or the spec says who performs the flip instead.
- Chapter 55's step list and the worked example cover it.
-
npm run verifypasses.
Blocked by
Decisions (the maintainer, 2026-10-27)
- A flip image flips every Move. The Platform document gains an optional
delivery.move.flip: {image: move-flip}. The delivery repo publishes the image, and it is locked in the images lock like any other. Engine method images no longer perform the flip step: chapter 14's method contract, 0095 (rewritten in place) andCONTEXT.md's Move method entry change with it. - Two Jobs per Move:
flipandflip-back, both suspended, both the flip image with the direction as the step, run as<process>-moveunder the sameresourceNames-scoped Role. The gate unsuspendsflip-backwhen a step fails or the timeout expires; the flip Jobs stay the Stable Addresses' only writers. - A Move with no data is one step,
flip. The Release Gate unsuspends it only once the target Instance is ready, reading readiness as it already does for consumers; it still writes nothing butsuspend, and the flip Job needs no read Role. - No flip image declared: a derived Move is
E_MOVE_UNSUPPORTEDat composition, so a Move that could never finish is never started. The field stays optional, so it is additive. - When: the first 1.x minor, before any live Move. Not in 1.0.0.
Resume here (updated 2026-10-27)
State: decided, not started.
Next step: after 1.0.0, a spec change (chapters 14, 20 and 55, the flip/flip-back step rows, 0095 rewritten, CONTEXT.md), then the render, then a delivery-repo ticket for the move-flip image.
Blocked by: 1.0.0 (#379).
Activity
ExtraToast commentedon Nov 2, 2026
Closing as not planned: the maintainer decided (2026-11-02) to remove the Move from the model now that every Project is on the estate path. The Move existed only to carry data across the migration off the previous delivery path. The removal is tracked in #807.