Issues 301 and 302: a push of recorded builds is no repair, and the lab's Go is checked in Go
301: S15 counted the operator's pushes of recorded builds, the word ADR 0242 asks for, as repairs and wanted a healer for three causes. 302: the lab's replays register was never compiled before a merge, because its check ran in the TypeScript toolchain. To-be 45 §7 and §9 say how each is now decided and checked.
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
layer: to-be
|
||||
status: in-progress
|
||||
code: [mesh-controller, mesh-host, mesh-tools, mesh-catalog, mesh-sdk, mesh-lab]
|
||||
updated: 2026-10-07
|
||||
updated: 2026-10-08
|
||||
decisions:
|
||||
- 02-DECISIONS/0240-a-module-says-how-it-is-healthy-and-the-node-engine-judges-it.md
|
||||
- 02-DECISIONS/0239-a-delivery-is-owned-by-the-mesh-delivery-module-and-runs-from-commit-to-delivered.md
|
||||
@@ -424,6 +424,16 @@ row no longer sees.
|
||||
`hand-act record` refuses that cause, so a repair cannot pass for a drill by the word it gives (issue
|
||||
292; checked by the controller's S15 tests).
|
||||
|
||||
**A push of recorded builds is no repair.** A build of a module whose upgrade policy records moves only
|
||||
by a person's push ([ADR 0242](../../02-DECISIONS/0242-a-recorded-build-moves-only-by-a-persons-push-and-a-send-says-what-it-recreates.md)),
|
||||
and that push is the word the policy asks for. So a push says what it was, read by the controller from
|
||||
what it carries and never from a word the person gives. It is a push of recorded builds when it names one
|
||||
machine, that machine's last send is known and its last report is no failure, and every build it moves
|
||||
records rather than rolls out: a held new build, or a recorded module's first build on a machine newly
|
||||
assigned it. The act is written with its kind and what it carried; the table lists a push of that kind as
|
||||
a person's decision, and S15 never counts it. Any other push by hand still counts (issue 301; checked by
|
||||
the controller's replay R301 and its tests of the rule).
|
||||
|
||||
> **Progressive insight — 2026-10-06.** This paragraph said before: "except `retire-waiting` and
|
||||
> `cleanup-waiting`: approving a retirement and deleting what was retired are a person's decision by
|
||||
> design (ADR 0230), and no healer may take them over." The exception was keyed on two causes, and the
|
||||
@@ -536,7 +546,10 @@ A changed file touches exactly the modules whose build reads it; a file no build
|
||||
change reaching a module, or adding one, runs **the gate** on the build seat (`mesh/merge-gate`): the
|
||||
touched manifests through `module check`, failing only what the change brings; every machine composed with
|
||||
the definitions of the modules the plan moves or adds; the replays. Every repository of the mesh runs **its
|
||||
own** `merge-check.sh` (`mesh/repo-check`) in the toolchain it declares; one with none has "no repository
|
||||
own** `merge-check.sh` (`mesh/repo-check`) in the toolchain it declares. A repository in two languages
|
||||
declares each further part of its check and the toolchain that part runs in, and the build seat runs each
|
||||
part in that toolchain's own container: the layer passes only when every part does (issue 302; checked by
|
||||
the builder's `TestARepositoryInTwoLanguagesIsCheckedInBoth`). A repository with none has "no repository
|
||||
check defined", a success where the branch does not require `mesh/repo-check` and a failure for a person
|
||||
where it does. **A note is never a warning on a required status**: the forge combines `warning` as a
|
||||
failure, so a note — a wide rebuild, a problem already so on the base — is a success that says it, and only
|
||||
|
||||
Reference in New Issue
Block a user