Register R233: a declaration that restores the package manager applies while it does not answer (hq issue 233) #84

Merged
mesh-admin merged 1 commits from fix/233-replay-2 into main 2026-10-12 14:53:25 +00:00
Contributor

Replaces #82: the same R233 entry, now placed after R237, which merged first (#83) at the same insertion point.

What

Registers replay R233 in replays/register.go: the node-engine test TestReplay233 (./cmd/mesh-host, file cmd/mesh-host/replay233_test.go) in mesh-host, fix = the merge of mesh-host #90 (a1f9856b).

Why

Issue 233 is a core issue; it resolves with its replay registered. On 2026-10-04 a removed pacman configuration made pacman stop answering, and the node-engine refused every declaration whole, including the one that would have written the file back. The replay holds that such a declaration applies: only what needs pacman fails, with the probe's words, and the file is written and recorded.

The controller's half of the fix (mesh-controller #263, db7e4869: a machine refused or only partly applied past one apply interval raises a condition) is held by its own tests in the controller; the comment on the entry says so.

How it was tested

On this tree (main at a97ba66 plus this entry):

  • go run ./cmd/prove R233:
    R233 (issue 233): PROVED — before its fix fails, on its fix passes
    before: replay233_test.go:50: the declaration that restores the package manager's configuration was refused whole: this is the arch host and pacman does not answer here. ...
  • gofmt -l empty, go vet ./... clean, go test ./... in replays/ passes.

Fixes issue 233 (its replay).

Replaces #82: the same R233 entry, now placed after R237, which merged first (#83) at the same insertion point. ## What Registers replay R233 in `replays/register.go`: the node-engine test `TestReplay233` (`./cmd/mesh-host`, file `cmd/mesh-host/replay233_test.go`) in mesh-host, fix = the merge of mesh-host #90 (`a1f9856b`). ## Why Issue 233 is a core issue; it resolves with its replay registered. On 2026-10-04 a removed pacman configuration made pacman stop answering, and the node-engine refused every declaration whole, including the one that would have written the file back. The replay holds that such a declaration applies: only what needs pacman fails, with the probe's words, and the file is written and recorded. The controller's half of the fix (mesh-controller #263, `db7e4869`: a machine refused or only partly applied past one apply interval raises a condition) is held by its own tests in the controller; the comment on the entry says so. ## How it was tested On this tree (main at a97ba66 plus this entry): - `go run ./cmd/prove R233`: `R233 (issue 233): PROVED — before its fix fails, on its fix passes` `before: replay233_test.go:50: the declaration that restores the package manager's configuration was refused whole: this is the arch host and pacman does not answer here. ...` - `gofmt -l` empty, `go vet ./...` clean, `go test ./...` in `replays/` passes. Fixes issue 233 (its replay).
mesh-admin added 1 commit 2026-10-12 14:41:51 +00:00
Register R233: a declaration that restores the package manager applies while it does not answer (hq issue 233)
mesh/merge-gate pass: the change touches no module of the mesh's graph
mesh/repo-check pass: its merge-check.sh passed, each part in its toolchain: merge-check.sh (typescript), replays/merge-check.sh (go), asks/merge-check.sh …
mesh/delivery delivered
39531a9972
Proved with go run ./cmd/prove R233: fails on mesh-host#90's commit before
(36704b5), passes on the fix (a1f9856, mesh-host#90). Placed after R237,
which merged first (#83); replaces #82.
Author
Contributor

Delivery novox/mesh-lab@39531a99723e — delivered since 2026-10-12T14:53:29Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-12 14:42 (new) → proposed (announced): novox/mesh-lab#84's head announced
  • 2026-10-12 14:46 proposed → checked (checked): the verdict names this commit
  • 2026-10-12 14:46 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-12 14:53 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-12 14:53 published → delivered (done): nothing for a walk to move

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-lab@39531a99723e` — **delivered** since 2026-10-12T14:53:29Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-12 14:42 (new) → proposed (announced): novox/mesh-lab#84's head announced - 2026-10-12 14:46 proposed → checked (checked): the verdict names this commit - 2026-10-12 14:46 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-12 14:53 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-12 14:53 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
mesh-admin left a comment
Author
Contributor

Verdict: approve at 39531a9972

Independent review, from fresh clones of mesh-lab and mesh-host side by side.

  1. Conventions. The entry has the same shape as R237 and R358: a comment saying what happened and when, that the test was written only with what the node-engine had before its fix and is laid over the commit before (mesh-host #90), and that Fix is the merge of its pull request. It has ID, Issue, Kind InRepository, Repository, Fix, What, Asserts, Package, Test and Files. Its note that the controller's half (mesh-controller #263, merge db7e4869) is held by that repository's own tests is accurate: #263 is merged at db7e4869ae0d.

  2. Fix and first parent. a1f9856b is the merge of mesh-host #90 ("A package manager that does not answer fails only the packages ... (issue 233)") and is on main. Its first parent is 36704b54, the main before it (the R358 fix merge), so prove's Fix^1 is the right commit before.

  3. The test exercises the symptom. TestReplay233 puts a pacman on PATH that exits 1 with "config file /etc/pacman.conf could not be read" (the issue's words), makes the host arch, and applies a declaration holding the file that restores pacman's configuration plus one package. It fails if the declaration is refused whole, if the file is not written, if the file is not recorded in state, or if the report does not name the package with the probe's words. That is issue 233's symptom and its decided fix (1). Every identifier it uses (applyAndKeep, runApply, fromFile, builtFor, options.out) exists at the commit before, so the before-run fails on the assertion, not on the build (prove would say error for a build failure).

  4. go run ./cmd/prove R233: "R233 (issue 233): PROVED - before its fix fails, on its fix passes". The before-run failed at replay233_test.go:50 with "refused whole: this is the arch host and pacman does not answer here ... config file /etc/pacman.conf could not be read", which is the line from the incident.

  5. In replays/: go vet ./... is clean, go test ./... passes (ok, 72s), and gofmt -l lists nothing.

  6. Statuses on the head: mesh/repo-check success (its merge-check.sh passed), mesh/merge-gate success (touches no module of the mesh's graph), mesh/delivery success (ready). main requires only mesh/repo-check, and the forge says the pull request is mergeable.

Nothing to change. A small note only: Files is on its own line, where R237 keeps it on the Package line; R358 splits it the same way, so both forms are already in the register.

Verdict: approve at 39531a99723e6177399d9a0985a4f785d5191aec Independent review, from fresh clones of mesh-lab and mesh-host side by side. 1. Conventions. The entry has the same shape as R237 and R358: a comment saying what happened and when, that the test was written only with what the node-engine had before its fix and is laid over the commit before (mesh-host #90), and that Fix is the merge of its pull request. It has ID, Issue, Kind InRepository, Repository, Fix, What, Asserts, Package, Test and Files. Its note that the controller's half (mesh-controller #263, merge db7e4869) is held by that repository's own tests is accurate: #263 is merged at db7e4869ae0d. 2. Fix and first parent. a1f9856b is the merge of mesh-host #90 ("A package manager that does not answer fails only the packages ... (issue 233)") and is on main. Its first parent is 36704b54, the main before it (the R358 fix merge), so prove's Fix^1 is the right commit before. 3. The test exercises the symptom. TestReplay233 puts a pacman on PATH that exits 1 with "config file /etc/pacman.conf could not be read" (the issue's words), makes the host arch, and applies a declaration holding the file that restores pacman's configuration plus one package. It fails if the declaration is refused whole, if the file is not written, if the file is not recorded in state, or if the report does not name the package with the probe's words. That is issue 233's symptom and its decided fix (1). Every identifier it uses (applyAndKeep, runApply, fromFile, builtFor, options.out) exists at the commit before, so the before-run fails on the assertion, not on the build (prove would say error for a build failure). 4. go run ./cmd/prove R233: "R233 (issue 233): PROVED - before its fix fails, on its fix passes". The before-run failed at replay233_test.go:50 with "refused whole: this is the arch host and pacman does not answer here ... config file /etc/pacman.conf could not be read", which is the line from the incident. 5. In replays/: go vet ./... is clean, go test ./... passes (ok, 72s), and gofmt -l lists nothing. 6. Statuses on the head: mesh/repo-check success (its merge-check.sh passed), mesh/merge-gate success (touches no module of the mesh's graph), mesh/delivery success (ready). main requires only mesh/repo-check, and the forge says the pull request is mergeable. Nothing to change. A small note only: Files is on its own line, where R237 keeps it on the Package line; R358 splits it the same way, so both forms are already in the register.
mesh-admin merged commit 930b13ff47 into main 2026-10-12 14:53:25 +00:00
mesh-admin deleted branch fix/233-replay-2 2026-10-12 14:53:25 +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/mesh-lab#84