Merge pull request 'Record hygiene: resolve issues 310, 312, 313, 314, 318, 325, 327, 330 and 337, whose fixes are merged and live' (#239) from issues/hygiene-resolve-merged-fixes into main
This commit was merged in pull request #239.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -54,3 +54,15 @@ The fix is described in the report. The base branch is read as `origin/<base>` 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+2
-2
@@ -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
|
||||
---
|
||||
|
||||
|
||||
+11
@@ -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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+9
@@ -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.<machine>.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).
|
||||
|
||||
@@ -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.
|
||||
|
||||
+1
-1
@@ -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
|
||||
|
||||
+14
@@ -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 <verb>`,
|
||||
`build agent on <machine>`), 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.
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
---
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user