mesh-tools
559939aa8c
Merge pull request 'nfs-server: the look below a share runs beside the pass, so a long walk no longer fails its health (issue 1971)' ( #616 ) from fix/1971-nfs-walk-beside-look into main
2026-11-05 10:02:10 +00:00
jschoubben
87fd0cd8b9
nfs-server: a pending share is carried only by the export line for the same folder (issue 1971, review round 2)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@559939aa8ce1
mesh/check pass 87fd0cd8b985 on 559939aa8ce1 | carried from 211186edd769 | unit 625 run, 4127 kept, 13 skipped | integration 676 run, 4136 kept, 22 sk…
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-05 10:45:30 +01:00
jschoubben
279ac41087
nfs-server: a share the export file carries stays exported while its first look runs after a restart (issue 1971, review round 1)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-05 10:43:50 +01:00
jschoubben
b0bdcd02c9
nfs-server: the look below a share runs beside the pass, so the status is written every pass (issue 1971)
...
A walk of minutes inside the pass held the status back until the module was found unhealthy and the assigner held the version.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-05 09:39:24 +01:00
mesh-tools
211186edd7
Merge pull request 'Gate reads the forge bridge's own messages and passes a group's end by; operator-channel.asks narrows its answer (issues 1585, 595; ADR 0633)' ( #615 ) from feat/take-in into main
2026-11-05 00:33:41 +00:00
jschoubben
5ceb6e9e38
Gate: pin forgemsg at mesh-delivery c78941e8, the head whose take-in events need no stream (issue 1585)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@211186edd769
mesh/delivery-group group feat/take-in merged: every member is merged
mesh/check being carried to 5ceb6e9e38a4 on 211186edd769 | from fd4931a75261, mesh-delivery ae31b66a9e33 | novox/mesh-catalog#615 in group feat/take-in
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 00:59:56 +01:00
jschoubben
d023a25849
Gate and keeper, review round 1: a group's end is told by its whole event, the gate pinned at mesh-delivery 7b7096f3, the keeper's row dropped (issue 1585, ADR 0633)
...
mesh/delivery-group group feat/take-in rejected: composed together: the checker's verdict at the members' heads (38623984d6ad): mesh-build-go
mesh/delivery closed: a newer head of the same pull request
mesh/check failed (2): mesh-build-go: the indexer's judge at the group's mesh-delivery head 7b7096f37ea76e1…; and 1 more | d023a25849f3 on fd4931a75261
The gate passes by a group's end only when the event is the forge bridge's forge.group.merged whole, so the merged message
of a repository named forge/group is read as one; row in the holder test. The keeper's take-in-waits row (T26) is dropped:
it showed nothing the keeper does not already hold. The gate pins forgemsg at mesh-delivery 7b7096f3.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 00:29:37 +01:00
jschoubben
ebe1248f0b
Gate: read the forge bridge's messages from its own package forgemsg, and pin mesh-sdk at main (issue 1585, ADR 0633)
...
Forge, its kinds and the group's end moved out of mesh-sdk into the forge bridge's own package (mesh-delivery
modules/mesh-delivery-forge-bridge/forgemsg, the operator, 2026-11-04: logic one module owns lives with it). The gate
imports it at the mesh-delivery head 4e4601a1 that holds the move, and the suffix it passes by before decoding is the
package's own ForgeGroupEndEvent, not a constant of its own. mesh-sdk is pinned at 5a38a12, origin/main.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-05 00:06:59 +01:00
jschoubben
8377f8a878
operator-channel.asks: key, state, since and bound narrow its answer, which says when it cut it short (issue 595)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 23:14:17 +01:00
jschoubben
796fb69d17
Gate ignores a group's end on FORGE before decoding; keeper row for take-in-waits (issue 1585, ADR 0633)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 22:47:56 +01:00
mesh-tools
fd4931a752
Merge pull request 'mesh-build-go: a merge preview names a path and a path inside it (mesh-contracts' go), and a step's cause keeps the module Go could not find (issue 1966)' ( #613 ) from fix/buildstep-preview into main
2026-11-04 19:44:20 +00:00
jschoubben
da2aa91832
Keep Go's indented continuation in a step's cause: the composer's reason ended at "requires" and hid the module that could not be found (issue 1966)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@fd4931a75261
mesh/check being carried to da2aa9183221 on fd4931a75261 | from 8acad77d33f9
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 20:19:16 +01:00
jschoubben
1332f8b523
Ask git ls-tree for nested named paths in rounds: given go and go/seats/x together it lists go's children, so mesh-contracts' preview failed (issue 1966)
...
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 20:19:16 +01:00
mesh-tools
8acad77d33
Merge pull request 'mesh-knowledge: a closing is reviewed on its closing alone, a graduation on every became link it carries (issue 784)' ( #611 ) from fix/784-closing-question into main
2026-11-04 15:13:55 +00:00
jschoubben
46505d42d8
A graduated closing is judged on every became link the effort carries, carried ones too, each with its record's title and status (issue 784, ADR 0630 §2)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@8acad77d33f9
mesh/check being carried to 46505d42d8fb on 8acad77d33f9 | from d2f326dff40e
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 16:00:13 +01:00
jschoubben
a198a959fe
A closing is reviewed on its closing alone: the question holds the move, the note and the added links, never old text or linked clauses (issue 784, ADR 0630)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 15:55:58 +01:00
mesh-tools
d2f326dff4
Merge pull request 'The knowledge base's close verb: a research effort graduates, is abandoned or parked as an idea, judged only on its closing (issue 784, ADR 0630)' ( #610 ) from fix/784-close-verb into main
2026-11-04 14:43:58 +00:00
jschoubben
e9ba05bd9a
close: read the became links the effort already carries, check the record size, drop empty table cases (issue 784, ADR 0630)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@d2f326dff40e
mesh/check being carried to e9ba05bd9a3c on d2f326dff40e | from 79c2fc7fe1d5
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 15:15:34 +01:00
jschoubben
8f5667cca5
The knowledge base's close verb closes or parks a research effort, judged only on its closing (issue 784, ADR 0630)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 15:10:36 +01:00
mesh-tools
79c2fc7fe1
Merge pull request 'The knowledge base keeps the roadmap: a research effort can be an idea, and at most three are active (issue 1970, ADR 0629)' ( #609 ) from fix/1970-research-ideas into main
2026-11-04 13:57:21 +00:00
jschoubben
55a88cdba4
Drop a holds test that passes without its change; the propose description names the limit's setting
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@79c2fc7fe1d5
mesh/check being carried to 55a88cdba4e5 on 79c2fc7fe1d5 | from 7fe569ef4067
Round 2 of issue 1970's review: a research effort has no clauses, so holds never serves one; Served on an
idea is tested in TestAnIdeaIsListedAndNeverServedAsTruth.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 14:34:40 +01:00
jschoubben
29f6039fb1
Research limit: a new version of an active effort is never refused; holds and tool text follow (issue 1970, ADR 0629)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 14:32:27 +01:00
jschoubben
b0a275c126
Research efforts can be ideas, and at most three are active (issue 1970, ADR 0629)
...
The roadmap lives in the knowledge base: an idea is listed, never served as in force; propose refuses a further active effort.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 14:24:44 +01:00
mesh-tools
7fe569ef40
Merge pull request 'A failed backup names its cause: nats's dump keeps the snapshot's exit status and the container's state, restic reports the tail of what a command printed (issue 1585)' ( #608 ) from fix/1585-dump-stderr into main
2026-11-04 11:06:34 +00:00
jschoubben
4aa77a4237
nats dump keeps and says the snapshot's exit status; restic blots JSON credentials and cuts on a character
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@7fe569ef4067
mesh/check being carried to 4aa77a4237dd on 7fe569ef4067 | from 7f626147be0c
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:50:29 +01:00
jschoubben
6a39f43404
restic: a failed command reports the tail of its output, not only its exit status
...
Issue 1585: the backup before a nats move failed with only 'sh: exit status 1'.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:46:12 +01:00
mesh-tools
7f626147be
Merge pull request 'nats removes a push consumer; gitea, mesh-conditions, mesh-issues and messenger drop what named the removed controller (issue 1126)' ( #607 ) from fix/consumer-remove-any into main
2026-11-04 10:36:41 +00:00
jschoubben
080aed6855
gitea: the merge refusal no longer says how long the last check took; nothing writes that record (issue 1126)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@7f626147be0c
mesh/delivery-group group fix/consumer-remove-any merged: every member is merged
mesh/check being carried to 080aed68556a on 7f626147be0c | from 7a7db0166ad2, mesh-delivery dd90a26251b9
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:06:48 +01:00
jschoubben
4f67143a78
gitea: remove what only tests called: the gate writer's verdict and its ask and history weighing, the late-verdict comment, the check-duration writer, the sibling record's two writers (issue 1126)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:05:50 +01:00
jschoubben
1572ab9b25
messenger: remove the old controller's walk decoder and its plan-moved names; the view's events are the only walks (issue 1126)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:02:56 +01:00
jschoubben
b0b7dfc5eb
mesh-issues: the removed controller is no registered owner and no core owner; old issues keep what they name (issue 1126)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:02:12 +01:00
jschoubben
bf4ce7ef7b
mesh-conditions: remove the hold's controller special case, bound to a module that is no more (issue 1126)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:01:11 +01:00
jschoubben
052fb473d0
gitea: remove the code bound to no event since ADR 0571 clause 13: the verdict setter, the controller's checked and plan types, the build seat's started (issue 1126)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 11:00:53 +01:00
jschoubben
bff850f798
nats: nats_consumer_remove reads a push consumer too (issue 1126)
...
js.Consumer refuses a push consumer ("consumer is not a pull consumer"), so the
controller's leftovers on EVENTS and CONTROL could not be read and were not
removed. The tool now reads a consumer of either kind (CONSUMER.INFO only, which
is all its grant gives), before the delete and for the confirmation after it.
Quick fix: this change, in the tool, one function, about an hour with its test
rows (a pull and a push consumer). Thorough fix: the same tool also needs its
grant to cover the KV_* streams' consumers (mesh-controller-take-in,
mesh-controller-config-follow), and that grant is composed by mesh-sdk's
BusRemovalGrants from a closed set (ControllerLeftoverConsumersOn), not by the
manifest, so it is not in this commit: it needs a change in mesh-sdk and a
group delivery. Chosen here: the quick fix for the read, since it is one place
and blocks the operator's removal now; the grant is reported to the lead.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 10:45:00 +01:00
mesh-tools
7a7db0166a
Merge pull request 'mesh-vault: read which modules of a machine the vault judges handed, and why, with own_handed (issue 1966)' ( #606 ) from fix/handed-one-rule into main
2026-11-04 09:16:09 +00:00
jschoubben
237a534ca4
mesh-vault: read which modules of a machine the vault judges handed, and why, with own_handed (issue 1966)
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@7a7db0166ad2
mesh/delivery-group group fix/handed-one-rule merged: every member is merged
mesh/check being carried to 237a534ca4d3 on 7a7db0166ad2 | from dd458cb155f5, mesh-host 4d47ff5ce743
The vault leaves a handed module's own secrets out of `own`, judged by the plan in its assignment, and nothing read
that judgement: on 2026-11-04 the circle on ace (no plan, so not handed, so refused, so no plan) could be told only by
reading the provisioner's plans beside the node-engine's refusals. own_handed answers, per module the vault keeps an
own secret of on the machine or that is placed there, handed or not and why.
Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig
2026-11-04 02:29:37 +01:00
mesh-tools
dd458cb155
Merge pull request 'L3 final: core-credentials back, nats provides bus-state, artifact-store-tools calls the seat mesh-catalog, the old catalog module drops its claim (ADR 0614, ADR 0604, issue 774)' ( #605 ) from feat/l3-final into main
2026-11-04 00:23:42 +00:00
jschoubben
6c09be4a70
Keep a module's report under a bounded context the client's stop does not cancel (issue 774)
...
mesh/delivery-group group feat/l3-final merged: every member is merged
mesh/delivery merged: source.main moved to novox/mesh-catalog@dd458cb155f5
mesh/check checking 6c09be4a703e on dd458cb155f5 | novox/mesh-catalog#605 in group feat/l3-final
The test of a node coming back stops the client before the report of zsh is kept; the cancelled Put left s.applied without zsh, so leftModules never removed it (2 of 20 runs failed under -race, also at origin/main). Thorough: report() keeps under context.WithoutCancel with a 5 s bound; the same test now passes 40 of 40.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 00:46:08 +01:00
jschoubben
448f1ef481
Give mesh-provisioner and mesh-provisioner-client new manifest bytes (version 2), the recovery of the moment for stale verdicts
...
The running indexer holds refusals from 21:14 for the exact bytes of these manifests, which carry core-credentials again. A new digest is read afresh; the thorough fix of stale verdicts is in the indexer in this group (issue 774).
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-04 00:44:17 +01:00
jschoubben
093967af9b
Pin mesh-sdk 85ba0a9a70d8, the group's head of feat/l3-final (issue 774)
...
mesh/delivery closed: a newer head of the same pull request
mesh/delivery-group group feat/l3-final rejected: composed together: the checker's verdict at the members' heads (278aa5f0ccbe): unit: mesh-provisioner-client/…
mesh/check failed (2): unit: mesh-provisioner-client/cmd/mesh-provisioner-client.TestNatsANodeComingBackFil…; and 1 more | 093967af9b2f on be24f5ac387f
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:43:11 +01:00
jschoubben
be749c9513
The old catalog module drops its claim of the seat mesh-catalog and is deprecated; a check refuses a second claimant (ADR 0604 §6, issue 774)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:11:32 +01:00
jschoubben
4026392a6e
artifact-store-tools reads the definitions through the seat mesh-catalog's verbs modules and module (ADR 0604 §3, issue 774)
...
The verb module takes no commit; a definition is kept by the commit its answer names.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:11:05 +01:00
jschoubben
d632071317
nats provides bus-state, so a module that keeps bus state has a provider to wait for (ADR 0614 §5, issue 774)
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:09:59 +01:00
jschoubben
5fe7e3e6ba
Put core-credentials back in the bus's, the provisioner's and its client's manifests (L3 final, issue 774)
...
The indexer whose judge knows the word runs now, so the word returns; the new node-engine keeps what runs for a manifest that lacks it.
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 23:09:34 +01:00
mesh-tools
be24f5ac38
Merge pull request 'L3 recovery: take core-credentials out of the bus's, the provisioner's and its client's manifests until the judge that knows it runs (issue 774, issue 1585)' ( #604 ) from fix/l3-words-after-judge into main
2026-11-03 21:09:02 +00:00
jschoubben
f2eb548204
Take core-credentials out of the bus's, the provisioner's and its client's manifests until the judge that knows it runs
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@be24f5ac387f
mesh/delivery-group group fix/l3-words-after-judge merged: every member is merged
mesh/check being carried to f2eb54820469 on be24f5ac387f | from e6de42630355, mesh-delivery 4154c3040cee, mesh-tools 01ee2ef39488
The running indexer's judge refuses the word, a refused manifest holds the bus's user list, and so the indexer build
that knows the word is never granted. The node-engine on main still finds these modules by its name list, and the
vault keeps no list, so no credential is lost; the word comes back once the new judge runs (issue 774).
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 21:28:29 +01:00
mesh-tools
e6de426303
Merge pull request 'L3: a provider's have counts only from a build that offers the provision; the gate takes a merged message with no trees (ADR 0603 §5, issue 1367)' ( #603 ) from feat/l3b-bus into main
2026-11-03 20:12:47 +00:00
jschoubben
5fab8f118e
Pin mesh-sdk b7abe203a929, the group's head of feat/l3b-bus: it keeps, deprecated, the exported names the running parts still use
...
mesh/delivery merged: source.main moved to novox/mesh-catalog@e6de42630355
mesh/delivery-group group feat/l3b-bus merged: every member is merged
mesh/check checking 5fab8f118e18 on e6de42630355 | novox/mesh-catalog#603 in group feat/l3b-bus
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 18:50:12 +01:00
jschoubben
d5237091a6
gofmt the provisioner's test: the group's check refused it unformatted
...
Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
2026-11-03 18:43:32 +01:00
jschoubben
1a35e5cf4d
Pin mesh-sdk cf5812101b0b, the group's final head of feat/l3b-bus (the module graph is no part of mesh-sdk)
mesh/delivery-group group feat/l3b-bus checking: 4 of 4 member(s) ready
mesh/delivery closed: a newer head of the same pull request
mesh/check checking 1a35e5cf4dc6 on 230230ce0ef1 | novox/mesh-catalog#603 in group feat/l3b-bus
2026-11-03 17:15:06 +01:00