From 120cdcd25ab0009f219f779ba3b7297f45dbee60 Mon Sep 17 00:00:00 2001 From: jochen Date: Fri, 9 Oct 2026 02:19:09 +0200 Subject: [PATCH] Issues 310, 312, 313, 314, 318, 325, 327, 330, 337: resolved, their fixes merged and seen live Each fix's pull requests are merged and delivered; each issue now says what was read live on 2026-10-09 to show it, so the record stops listing fixed faults as located. --- .../00-report.md | 2 +- .../01-diagnosis.md | 12 ++++++++++++ .../00-report.md | 2 +- .../01-diagnosis.md | 6 ++++++ .../00-report.md | 4 ++-- .../01-diagnosis.md | 11 +++++++++++ .../00-report.md | 2 +- .../01-diagnosis.md | 10 ++++++++++ .../00-report.md | 2 +- .../01-diagnosis.md | 9 +++++++++ .../00-report.md | 8 +++++++- .../00-report.md | 2 +- .../01-diagnosis.md | 14 ++++++++++++++ .../00-report.md | 2 +- .../01-diagnosis.md | 9 +++++++++ .../00-report.md | 4 ++-- .../01-diagnosis.md | 10 ++++++++++ 17 files changed, 98 insertions(+), 11 deletions(-) diff --git a/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/00-report.md b/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/00-report.md index 42d2df2d..4fee15f9 100644 --- a/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/00-report.md +++ b/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller internal/builder (check.go, the build agent's merge check), the forge's branch protection of mesh-media-catalog] fixed-by: mesh-controller#135, mesh-lab#65 diff --git a/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/01-diagnosis.md b/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/01-diagnosis.md index e622e989..0f2effb5 100644 --- a/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/01-diagnosis.md +++ b/04-ISSUES/310-a-pull-request-ran-its-own-copy-of-its-check/01-diagnosis.md @@ -54,3 +54,15 @@ The fix is described in the report. The base branch is read as `origin/` i cannot be read, the check answers an error rather than falling back to the head. A path the base branch does not hold is told apart from a read that failed: `git ls-tree` answers nothing for an absent path and fails only when it cannot read. + +## 2026-10-09, resolved + +**Merged.** mesh-controller#135 (the build agent judges a pull request by the base branch's +`merge-check.sh`) merged on 2026-10-08 at 09:10 UTC, and mesh-lab#65 (R310) at 09:10 UTC. Every later +controller delivery carries it; the last, of mesh-controller#170, finished its walk on 2026-10-09 at +00:11 UTC, and `mesh-controller.status` named no machine behind. + +**The open half is closed.** `gitea_branch_protection_get` for the media catalogue's main, read on +2026-10-09, requires `mesh/merge-gate` and `mesh/repo-check`, with administrator override off. Nothing +checks a repository's protection automatically yet: a repository that adds a `merge-check.sh` without +requiring its status would still not be said by anything. diff --git a/04-ISSUES/312-no-tool-said-a-machines-disk-load/00-report.md b/04-ISSUES/312-no-tool-said-a-machines-disk-load/00-report.md index 32968cec..649d972b 100644 --- a/04-ISSUES/312-no-tool-said-a-machines-disk-load/00-report.md +++ b/04-ISSUES/312-no-tool-said-a-machines-disk-load/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-catalog modules/disk-load] fixed-by: novox/mesh-catalog PR #120 diff --git a/04-ISSUES/312-no-tool-said-a-machines-disk-load/01-diagnosis.md b/04-ISSUES/312-no-tool-said-a-machines-disk-load/01-diagnosis.md index f7d418a5..616023c2 100644 --- a/04-ISSUES/312-no-tool-said-a-machines-disk-load/01-diagnosis.md +++ b/04-ISSUES/312-no-tool-said-a-machines-disk-load/01-diagnosis.md @@ -47,3 +47,9 @@ only as a second view, and it says how many it could not read. Two kinds of doub avoided: `io.stat` includes a cgroup's descendants, so only the innermost unit counts, and a write through an encrypted volume is charged again to the disk under it, so only a disk built on nothing counts. + +## 2026-10-09, resolved + +mesh-catalog#120 merged on 2026-10-08 at 08:55 UTC. The module was assigned to every machine by the +operator's word that morning (hand acts at 09:03 and 09:05 UTC). On 2026-10-09 `disk_load` answered on the +control node and on the laptop, with iowait, I/O pressure, each device and the busiest units. diff --git a/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/00-report.md b/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/00-report.md index 9ca202b7..09d7ff71 100644 --- a/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/00-report.md +++ b/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/00-report.md @@ -1,8 +1,8 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-catalog modules/mesh-delivery (holder.go, adoption of a merge from the forge's word; effects.go, the owed effects; table.go, the state table)] -fixed-by: +fixed-by: mesh-catalog#121, mesh-controller#136 amended-design: 03-DESIGN/01-to-be/47-delivery-from-commit-to-delivered.md --- diff --git a/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/01-diagnosis.md b/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/01-diagnosis.md index d8ec9d79..2e05cd42 100644 --- a/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/01-diagnosis.md +++ b/04-ISSUES/313-history-was-held-for-a-person-and-its-views-retried-for-ever/01-diagnosis.md @@ -35,3 +35,14 @@ mesh: the holder must tolerate it, not prevent it. **Located** in the delivery's owner: its adoption of a merge made from the forge's word (holder.go `PullMerged`), its table, which had no state for history, and its owed effects (effects.go `Flush`). + +## 2026-10-09, resolved + +**Merged.** mesh-controller#136 (the seat promises `retire-history`) merged on 2026-10-08 at 09:27 UTC, +mesh-catalog#121 (the delivery's owner retires history and ends owed work the forge cannot do) at 09:36 UTC, +under [ADR 0250](../../02-DECISIONS/0250-a-merge-heard-only-from-the-buss-history-is-retired-and-owed-work-the-forge-cannot-do-ends.md). + +**Seen live.** `mesh-delivery.deliveries` on 2026-10-09 lists the held history as `retired`, all at +2026-10-08 09:40:40 UTC, and `mesh-delivery.retire-history` answers as a verb of the seat. The walk of +mesh-catalog#121's own delivery reads `stopped`; the holder that answers today serves the fix all the +same, and `mesh-controller.status` names no machine behind. diff --git a/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/00-report.md b/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/00-report.md index 72fcb19e..6b481f40 100644 --- a/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/00-report.md +++ b/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller internal/link (seattools.go, calls.go, the reply to a seat's verb), mesh-controller cmd/mesh-controller (conditions.go, readable.go, doctor.go, seatverbs.go: the overviews), mesh-tools node-tools/internal/bus (bus.go: the asker and a module's reply)] fixed-by: novox/mesh-controller PR #138, novox/mesh-tools PR #22, novox/mesh-lab PR #66 diff --git a/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/01-diagnosis.md b/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/01-diagnosis.md index 6f4ac831..b07ea777 100644 --- a/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/01-diagnosis.md +++ b/04-ISSUES/314-a-large-answer-was-lost-on-its-way-back/01-diagnosis.md @@ -115,3 +115,13 @@ was about 1.9 MB. The overviews will grow past the limit again. When they do, pa **Resolved when** the three pull requests have merged, and `mesh-controller.conditions` without a filter answers through the mesh MCP server while 689 conditions are open, and the operator's channel reads it again. + +## 2026-10-09, resolved + +**Merged and delivered.** mesh-controller#138, mesh-tools#22 and mesh-lab#66 (R314) merged on 2026-10-08 +around 11:06 UTC. The controller's delivery of #138 and the tool runner's of #22 both read `delivered` +in `mesh-delivery.deliveries`. + +**Seen live.** On 2026-10-09 `mesh-controller.conditions` without a filter answered through the mesh MCP +server, with `answer` and its `counted` line. Twelve conditions were open, not the 689 of the symptom: +issue 313's fix retired those deliveries, so the large case was not measured again live. R314 holds it. diff --git a/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/00-report.md b/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/00-report.md index 7735a197..45d09cb4 100644 --- a/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/00-report.md +++ b/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller cmd/mesh-controller (release.go, gatedSend and ungatedIn; gate.go, judgeMoves; the walk of the builds waiting for a gate), mesh-host cmd/mesh-host (main.go, the health statement: whose manager a unit runs in)] fixed-by: novox/mesh-host PR #55, novox/mesh-controller PR #142, novox/mesh-lab PR #67 diff --git a/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/01-diagnosis.md b/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/01-diagnosis.md index a8a0e873..cc0c2245 100644 --- a/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/01-diagnosis.md +++ b/04-ISSUES/318-one-modules-wait-for-a-new-login-held-every-other-modules-walk/01-diagnosis.md @@ -63,3 +63,12 @@ still refused while a move waits for a gate (ADR 0236 §4a stands). With the wai nothing waiting for them. A fault decided before the settle time, and a plan's own tier path, still leave the healthy modules of a failed send without a verdict (ADR 0254, consequences). Question 4, a unit that failed before the send, is not decided here. + +## 2026-10-09, resolved + +**Merged and delivered.** The node-engine's #55 (`mesh-host`), mesh-controller#142 and mesh-lab#67 (R318) merged on 2026-10-08 +between 12:41 and 13:03 UTC; the node-engine's and the controller's deliveries read `delivered`. + +**Seen live.** On 2026-10-09 `mesh-controller.conditions` holds `module.openrazer..relogin-needed` +for the laptop and the workstation, raised at 21:02 UTC: "Its update is in place and nothing was undone", +and no walk waits behind it (`mesh-controller.status`: nothing waiting, no machine behind). diff --git a/04-ISSUES/325-assign-said-no-such-module-while-its-build-ran/00-report.md b/04-ISSUES/325-assign-said-no-such-module-while-its-build-ran/00-report.md index e1d65cb4..98e63d0b 100644 --- a/04-ISSUES/325-assign-said-no-such-module-while-its-build-ran/00-report.md +++ b/04-ISSUES/325-assign-said-no-such-module-while-its-build-ran/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller cmd/mesh-controller (acts.go, the assign act; upgrades.go, the merge's build request), mesh-controller internal/inventory (the build request and pending assignment records)] fixed-by: mesh-controller#150, mesh-lab#68 @@ -89,3 +89,9 @@ this fix, and no person asked to build, still reads as unknown. The refusal says lists under *How it is checked*: one per case, and one per point of its decision. To-be 45 §2 is amended: what `status` lists, and the new condition. + +## Resolved, 2026-10-09 + +mesh-controller#150 and mesh-lab#68 (R325) merged on 2026-10-08 at 14:58 UTC. Every later controller +delivery carries #150; the last, of mesh-controller#170, finished its walk on 2026-10-09 at 00:11 UTC, and +`mesh-controller.status` named no machine behind. diff --git a/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/00-report.md b/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/00-report.md index c20c27fa..8d92db5d 100644 --- a/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/00-report.md +++ b/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller cmd/mesh-controller (seatverbs.go, a verb runs as a fresh process; handacts.go onTheBus, acting.go forACommand, queue.go dialTheBus, localDoctor, each opening its own connection; plan_retry.go buildSeatPause, a connection per watchdog tick), mesh-controller internal/broker (jetstream.go Dial, every connection named "mesh-controller")] fixed-by: mesh-controller#161, mesh-catalog#139, mesh-lab#71 diff --git a/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/01-diagnosis.md b/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/01-diagnosis.md index cd70adc7..b8abe10e 100644 --- a/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/01-diagnosis.md +++ b/04-ISSUES/327-every-controller-verb-opens-its-own-bus-connection-so-the-connection-count-hides-a-reconnect-loop/01-diagnosis.md @@ -42,3 +42,17 @@ its long-lived connections are named `mesh-controller` too and are told apart on **Located** in the controller: one connection per command process that touches the bus, and one per watchdog tick while a walk waits for a build. + +## 2026-10-09, resolved + +**Merged and delivered.** mesh-controller#161, mesh-catalog#139 (the bus's module) and mesh-lab#71 (R327) +merged on 2026-10-08 between 18:21 and 19:38 UTC. The controller's delivery of #161 and the catalogue's of +#139 read `delivered`. + +**Seen live.** On 2026-10-09 `nats_closed_connections` read the last hour: every connection named for +what it is (`mesh-controller serving`, `mesh-controller serving lease`, `mesh-controller verb `, +`build agent on `), none dropped. A `conditions` call made during that hour added no +connection. One thing it shows that this issue did not name: `mesh-controller verb node` closed 84 +connections in the hour, one every 43 seconds or so. `node` is not among the verbs ADR 0265 serves on +the serving connection, so this is a fresh process per call, named as the decision says. Who calls it +that often is not known. diff --git a/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/00-report.md b/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/00-report.md index b644aa32..1b9464f6 100644 --- a/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/00-report.md +++ b/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/00-report.md @@ -1,5 +1,5 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-controller internal/broker (streams.go, the streams the controller declares; derived.go, each event consumer's maximum), mesh-controller internal/link (advisories.go, the maximum-deliveries advisory)] fixed-by: mesh-controller#159, mesh-tools#24, mesh-lab#70, mesh-host#60 diff --git a/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/01-diagnosis.md b/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/01-diagnosis.md index 23cf6826..cd5f7695 100644 --- a/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/01-diagnosis.md +++ b/04-ISSUES/330-the-dead-letter-stream-design-25-promises-does-not-exist/01-diagnosis.md @@ -27,3 +27,12 @@ events integration test, asserts the dead-letter exchange of the AMQP broker the not carried over. **Located** in the controller: the stream is not declared, and the advisory reader keeps nothing. + +## 2026-10-09, resolved + +**Merged and delivered.** mesh-controller#159, mesh-tools#24, mesh-lab#70 (R330) and the node-engine's #60 (`mesh-host`) merged on +2026-10-08 between 18:21 and 19:27 UTC; the controller's, the tool runner's and the node-engine's +deliveries read `delivered`. + +**Seen live.** On 2026-10-09 `mesh-controller.dead-letters` answered: "no consumer gave up on a message +that is still kept", with nothing held. diff --git a/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/00-report.md b/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/00-report.md index 9d32b362..c5db4244 100644 --- a/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/00-report.md +++ b/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/00-report.md @@ -1,8 +1,8 @@ --- -status: located +status: resolved opened: 2026-10-08 located-in: [mesh-catalog modules/postgres (cmd/postgres-provider/client.go, the reader's grant)] -fixed-by: +fixed-by: mesh-catalog#143 amended-design: replay-none: The hole is a grant on a store, not a behaviour of the core a lab replay can lay over a commit. The module's own tests hold it against a real throwaway server, and the one that uses only what the module had before the fix reads a fixture signing key on the commit before it and is refused on the fix. --- diff --git a/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/01-diagnosis.md b/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/01-diagnosis.md index 105707e4..828eef45 100644 --- a/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/01-diagnosis.md +++ b/04-ISSUES/337-the-stores-reader-can-read-the-controllers-signing-key/01-diagnosis.md @@ -150,3 +150,13 @@ above remain one statement away. Merging the pull request does not close the hol `SELECT` revoked from PUBLIC where it exposes a secret. - **The lesson for the knowledge base**: a role that makes a login read-only is not a role that makes it harmless. `pg_read_all_data` is a superuser's reach without the writes. + +## 2026-10-09, resolved + +**Merged and taken.** mesh-catalog#143 merged on 2026-10-08 at 20:16 UTC. Its delivery reads `delivered` +at 20:17 UTC; the module's upgrade policy is `record`, and its build was pushed to the stores on the +control node and on the home server. + +**Seen live.** On 2026-10-09 `postgres_reader_grants` answered on both stores, from a pass a minute old: +no database is declared readable, and none lists a column the reader can read, the controller's +`identity` among them. The follow-ups above stand, the signing key's rotation first.