Issues 211, 212, 214, 216, 217 resolved; 215's fix recorded #342

Merged
mesh-admin merged 1 commits from issues/211-217-resolved into main 2026-10-03 22:25:07 +00:00
6 changed files with 32 additions and 5 deletions
@@ -1,9 +1,10 @@
--- ---
status: located status: resolved
opened: 2026-10-03 opened: 2026-10-03
located-in: located-in:
- mesh-controller - mesh-controller
fixed-by: fixed-by:
- mesh-controller#246
amended-design: amended-design:
--- ---
@@ -45,3 +46,7 @@ have to write — a bundle of language L depends on the module that publishes L'
bundle lands in the tier after it. A test: a merge touching the toolchain module and a TypeScript bundle lands in the tier after it. A test: a merge touching the toolchain module and a TypeScript
bundle plans the bundle one tier later. Worked around on the day by building the bundle again once bundle plans the bundle one tier later. Worked around on the day by building the bundle again once
the toolchain was built. the toolchain was built.
## Resolved
Every mesh-tools plan since the fix ran in two rounds: the toolchain and runtime images first, what is built in or on them after. Before it, a merge moving both tiered them together. The planner's test proves the order: a merge moving a bundle and its toolchain plans two rounds.
@@ -1,10 +1,11 @@
--- ---
status: located status: resolved
opened: 2026-10-03 opened: 2026-10-03
located-in: located-in:
- mesh-tools - mesh-tools
- mesh-controller - mesh-controller
fixed-by: fixed-by:
- mesh-tools#44
amended-design: amended-design:
--- ---
@@ -42,3 +43,7 @@ install from a lockfile that a release updates, or build the install layer witho
the build should record which SDK version the image carries, so a bundle's record says what it was the build should record which SDK version the image carries, so a bundle's record says what it was
compiled against. A check: after an SDK release and a toolchain rebuild, a bundle built on it reports compiled against. A check: after an SDK release and a toolchain rebuild, a bundle built on it reports
the released version. the released version.
## Resolved
The toolchain now installs the exact SDK version the mesh last published, passed in as a build argument from the SDK module's published package, and the planner orders the toolchain after the SDK. Proven 2026-10-04: the toolchain built with the published SDK, and the six TypeScript bundles built in it serve their tools and seat verbs.
@@ -1,9 +1,10 @@
--- ---
status: located status: resolved
opened: 2026-10-03 opened: 2026-10-03
located-in: located-in:
- mesh-controller - mesh-controller
fixed-by: fixed-by:
- mesh-controller#246
amended-design: amended-design:
--- ---
@@ -34,3 +35,7 @@ Owner mesh-controller (the planner). **Fix direction:** on start, and whenever a
build, the plan settles an `asked` build against the build records — a build recorded as built from build, the plan settles an `asked` build against the build records — a build recorded as built from
the plan's commit is that tier's outcome — so a plan resumes after the controller replaced itself. the plan's commit is that tier's outcome — so a plan resumes after the controller replaced itself.
A test: a plan whose build outcome was recorded while no controller followed it resumes on start. A test: a plan whose build outcome was recorded while no controller followed it resumes on start.
## Resolved
A plan settles an asked build from the build records, whoever heard the outcome. Proven 2026-10-03 and 2026-10-04: both controller merge plans since the fix finished all three rounds, including the round that replaced the controller, without being stopped by hand.
@@ -4,6 +4,7 @@ opened: 2026-10-03
located-in: located-in:
- mesh-controller - mesh-controller
fixed-by: fixed-by:
- mesh-controller#246
amended-design: amended-design:
--- ---
@@ -1,9 +1,10 @@
--- ---
status: located status: resolved
opened: 2026-10-03 opened: 2026-10-03
located-in: located-in:
- mesh-controller - mesh-controller
fixed-by: fixed-by:
- mesh-controller#246
amended-design: amended-design:
--- ---
@@ -28,3 +29,7 @@ Owner mesh-controller (the catalogue's registration check). **Fix direction:** a
loads, runs or unpacks — no `loads`, no `tools` list on its module, no resource naming it — is refused loads, runs or unpacks — no `loads`, no `tools` list on its module, no resource naming it — is refused
at registration, naming the field that would deliver it. A test: such a manifest is refused; adding at registration, naming the field that would deliver it. A test: such a manifest is refused; adding
`loads` admits it. `loads` admits it.
## Resolved
A bundle nothing would deliver is refused at registration, by name. Proven by the controller's tests; the catalogue's bundles all name what the runtime loads (mesh-catalog#243).
@@ -1,9 +1,11 @@
--- ---
status: located status: resolved
opened: 2026-10-03 opened: 2026-10-03
located-in: located-in:
- mesh-tools - mesh-tools
fixed-by: fixed-by:
- mesh-tools#42
- mesh-tools#43
amended-design: amended-design:
--- ---
@@ -50,3 +52,7 @@ announcement subscriptions are allowed for every principal kind.
Recovered on the day without the forge's API: the toolchain images built by the controller straight Recovered on the day without the forge's API: the toolchain images built by the controller straight
from the fix branch, every module image rebuilt on them, and the machine pushed. from the fix branch, every module image rebuilt on them, and the machine pushed.
## Resolved
A refused announcement is logged and the runtime serves on, and every runtime subscribes only the discovery subjects its grants allow. Proven 2026-10-04: after rolling out to every machine, no container restarts anywhere, and the discovery console lists no runtime as not answering. A refused tool subscription was made non-fatal the same way afterwards, under issue 218 (mesh-tools#46).