A built-by edge orders and gates a plan; it never widens it — and plans stop

The first live plan took seventy-five modules along for a controller change: the builder packages the
controller's source, everything is built by the builder, so everything was reachable. A module built by
the build machine is not changed by a new build machine. Reachability now follows the code and build
edges only; built-by still orders a tier after the build machine and gates it on the machine's roll-out.
plans stop <id> ends a plan by hand: what was asked still builds and registers, nothing further is asked.
This commit is contained in:
2026-10-01 18:16:47 +02:00
parent 882687afd4
commit d94f9e7f9f
4 changed files with 46 additions and 10 deletions
+3
View File
@@ -70,6 +70,9 @@ func argvFor(verb string, args map[string]any) ([]string, error) {
}
return []string{"builds"}, nil
case "plans":
if id := str("stop"); id != "" {
return []string{"plans", "stop", id}, nil
}
if id := str("id"); id != "" {
return []string{"plans", id}, nil
}