to-be 30: the mesh updates itself on a push #147

Merged
jschoubben merged 1 commits from design/the-mesh-updates-itself into main 2026-09-27 12:49:32 +00:00
Owner

Registers the exact update process (the ask: "code it into our mesh so this isn't a manual action"). Captures the manual flow (module moved → build → reconcile) and the breaking-change freeze/re-register recovery, then the two findings that make self-update a real build, not a webhook: (1) build-on-push currently rides on HAL's hal-gitea-tools (:9877) — a retirement gap the mesh must replace with its own forge-webhook trigger, wired to every repo including mesh-controller; (2) the builder validates manifests too, so breaking changes couple controller+builder+manifests+hosts, and renaming the builder's own seat deadlocks its rebuild — hence a transition discipline (accept old+new for one release) is required so a push doesn't auto-freeze.

Registers the exact update process (the ask: "code it into our mesh so this isn't a manual action"). Captures the manual flow (module moved → build → reconcile) and the breaking-change freeze/re-register recovery, then the two findings that make self-update a real build, not a webhook: (1) build-on-push currently rides on **HAL's** `hal-gitea-tools` (:9877) — a retirement gap the mesh must replace with its own forge-webhook trigger, wired to every repo including mesh-controller; (2) the **builder validates manifests too**, so breaking changes couple controller+builder+manifests+hosts, and renaming the builder's own seat deadlocks its rebuild — hence a transition discipline (accept old+new for one release) is required so a push doesn't auto-freeze.
jschoubben added 1 commit 2026-09-27 12:49:11 +00:00
Records the manual update process (module moved -> build -> reconcile; and the
breaking-change freeze/re-register recovery), and the two things that make
self-update more than a webhook: the build-on-push trigger is currently HAL's
(hal-gitea-tools on :9877), a retirement gap the mesh must replace with its own
forge-webhook trigger wired to every repo including mesh-controller; and the
builder validates manifests too, so a breaking change couples controller +
builder + manifests + hosts, and renaming the builder's own seat deadlocks its
rebuild. Names the transition discipline (accept old+new for one release) that
self-update needs so a push does not auto-freeze.
jschoubben merged commit d98d6fca11 into main 2026-09-27 12:49:32 +00:00
jschoubben deleted branch design/the-mesh-updates-itself 2026-09-27 12:49:33 +00:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/hq#147