A finding's reference is ref, not token, and a held seat carries its own events (issue 1952) #150

Merged
mesh-tools merged 1 commits from fix/l4-quick into main 2026-10-31 21:33:56 +00:00
Member

Issue 1952 (milestone L4 of design 47, ADR 0564): the quick path the operator approved on 2026-10-31 21:23, so the condition keeper's compare with the controller comes out empty and the operator can take health over.

Delivery group fix/l4-quick, one check and one Approve: mesh-sdk cbbfbf3d, mesh-catalog bbd02004, mesh-delivery a2558171 (all pinned to mesh-sdk cbbfbf3d by hand once more, said to the operator; issue 1585 ends hand pins).

The four fixes:

  1. Findings were refused: the finding layout had a field named token, which the runtime refuses as a credential name. It is now ref; DecodeFinding still reads token, which the watchman writes directly on its own account.
  2. checked was never said: a seat held without the newer traffic rules now carries its own event.<e> in its holder's seat traffic (not the controller's seat, not per-machine node events).
  3. Probe D13 never finished: the self-check keeps the readings, good nights, indexer modules and manifests by watching them and judges from memory; the setting probes is read once per run.
  4. bus.nats.upgrade-failed (the controller's own bus step) is carried as ending with the controller's lease, on the operator's word; ADR 0564's table gets its progressive insight.

Quick fix vs thorough fix: quick (chosen now): these four, right under either health design. Thorough (later, its own record): the health view extension of research 032 / ADR 0240 the operator described on 2026-10-31.

Not in this group: module.fail2ban.novox.unhealthy differs too in compare (the watchman writes no finding for it); cause not established yet.

Tests: new table rows, each failing before its fix; gofmt, go vet (with and without -tags integration) and go test pass in mesh-sdk/go, mesh-self-check, mesh-healers, mesh-conditions and mesh-grants; no new test functions. Known on main: go test -race in mesh-self-check reports test-only races.

Reviewed-by: rev-l4@shanks at cbbfbf3d2d

https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL

Issue 1952 (milestone L4 of design 47, ADR 0564): the quick path the operator approved on 2026-10-31 21:23, so the condition keeper's compare with the controller comes out empty and the operator can take health over. **Delivery group `fix/l4-quick`, one check and one Approve:** mesh-sdk cbbfbf3d, mesh-catalog bbd02004, mesh-delivery a2558171 (all pinned to mesh-sdk cbbfbf3d by hand once more, said to the operator; issue 1585 ends hand pins). **The four fixes:** 1. **Findings were refused:** the finding layout had a field named `token`, which the runtime refuses as a credential name. It is now `ref`; `DecodeFinding` still reads `token`, which the watchman writes directly on its own account. 2. **`checked` was never said:** a seat held without the newer traffic rules now carries its own `event.<e>` in its holder's seat traffic (not the controller's seat, not per-machine node events). 3. **Probe D13 never finished:** the self-check keeps the readings, good nights, indexer modules and manifests by watching them and judges from memory; the setting `probes` is read once per run. 4. **`bus.nats.upgrade-failed`** (the controller's own bus step) is carried as ending with the controller's lease, on the operator's word; ADR 0564's table gets its progressive insight. **Quick fix vs thorough fix:** quick (chosen now): these four, right under either health design. Thorough (later, its own record): the health view extension of research 032 / ADR 0240 the operator described on 2026-10-31. **Not in this group:** `module.fail2ban.novox.unhealthy` differs too in compare (the watchman writes no finding for it); cause not established yet. **Tests:** new table rows, each failing before its fix; gofmt, go vet (with and without -tags integration) and go test pass in mesh-sdk/go, mesh-self-check, mesh-healers, mesh-conditions and mesh-grants; no new test functions. Known on main: `go test -race` in mesh-self-check reports test-only races. Reviewed-by: rev-l4@shanks at cbbfbf3d2d55309e698880c28bccbf7e4be18939 https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
mesh-tools added 1 commit 2026-10-31 20:45:04 +00:00
Let observers' findings and a carried holder's seat events reach the bus (issue 1952)
mesh/delivery merged: source.main moved to novox/mesh-sdk@5ae69df8ccde
mesh/delivery-group group fix/l4-quick merged: every member is merged
mesh/check pass cbbfbf3d2d55 on fea48f19cea5 | unit 2729 run, 4570 kept, 16 skipped | integration 2975 run, 4493 kept, 25 skipped | over bound: unit, …
cbbfbf3d2d
A finding's field `token` is named like a credential, so the tool runner
refused every finding that carried it; it is `ref` now, and a finding
written under the old name is still read. A module the tool runner
carries got no grant for its own held seat's events, so the self-check
could not say `checked`; a held plain seat's events are now in the
holder's seat traffic, its membership and its runtime's grants.

Quick vs thorough: quick, these fixes for L4's take-over now; the
thorough fix (research 032 / ADR 0240's health view extension) is
decided later.

Claude-Session: https://claude.ai/code/session_01NcbgfJ9Gum47zkFKWRaovL
Author
Member

Delivery novox/mesh-sdk@cbbfbf3d2d55 — merged since 2026-10-31T21:33:59Z

Source — source.main moved to novox/mesh-sdk@5ae69df8cc. Whether it reached the machines is mesh-delivery-view's, derived from source.main, the wants and the haves.

Group fix/l4-quick: novox/mesh-catalog@bbd02004b8, novox/mesh-delivery@a2558171e1, novox/mesh-sdk@cbbfbf3d2d

  • composed together: pass — the checker's verdict at the members' heads (e4408a56a5f0)

Transitions

  • 2026-10-31 20:45 (new) → proposed (announced): novox/mesh-sdk#150's head announced
  • 2026-10-31 20:45 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false)
  • 2026-10-31 21:33 ready → merged (merged): on the trunk its modules follow: merged there

The commit's note under refs/notes/mesh-plan keeps every transition of this change up to its merge: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-sdk@cbbfbf3d2d55` — **merged** since 2026-10-31T21:33:59Z **Source** — source.main moved to novox/mesh-sdk@5ae69df8ccde. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/l4-quick`: novox/mesh-catalog@bbd02004b863, novox/mesh-delivery@a2558171e11e, novox/mesh-sdk@cbbfbf3d2d55 - composed together: pass — the checker's verdict at the members' heads (e4408a56a5f0) **Transitions** - 2026-10-31 20:45 (new) → proposed (announced): novox/mesh-sdk#150's head announced - 2026-10-31 20:45 proposed → ready (accepted): a verdict names this commit and the trunk's head as its trunk commit, the gate passed or warned, and the repository's own check did not fail; or the check gates no merge (check-gates-merge false) - 2026-10-31 21:33 ready → merged (merged): on the trunk its modules follow: merged there The commit's note under `refs/notes/mesh-plan` keeps every transition of this change up to its merge: `git log --notes=mesh-plan`.
mesh-tools merged commit 5ae69df8cc into main 2026-10-31 21:33:56 +00:00
mesh-tools deleted branch fix/l4-quick 2026-10-31 21:33:57 +00:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-sdk#150