Commit Graph
195 Commits
Author SHA1 Message Date
jschoubben 181dd3263d G A-230: the seat mesh-recovery's restore point says names, the bus names it took
Point gains names, one per bus object as Aside's (required, at least one), regenerated with seatgen; the kept-points
fixture names its point's bus name, so the fixture test fails without the field.

Builds: design 47 G A-230, §554, §565

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 11:35:10 +01:00
jschoubben 622adcc26c Join 11: merge main (mesh-contracts #8, the engine reads' heard event) 2026-11-12 11:29:23 +01:00
mesh-tools 0e12819cc7 Merge pull request 'enginereads: a reads statement older than a heard reads-changed does not stand (issue 1975)' (#8) from fix/engine-reads-and-compositions into main 2026-11-12 10:23:26 +00:00
jschoubben 04c6a1eead enginereads: the event heard is kept in the node's statement (issue 1975 note 6)
mesh/delivery merged: source.main moved to novox/mesh-contracts@0e12819cc727
mesh/delivery-group group fix/engine-reads-and-compositions merged: every member is merged
mesh/check checking 04c6a1eead98 on 0e12819cc727 | novox/mesh-contracts#8 in group fix/engine-reads-and-compositions
Builds: issue 1975 note 6 (the lead's review round 1; no design line). The engine 'not yet' half is dropped there.

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 11:00:33 +01:00
jschoubben e575659187 enginereads: a statement older than an event heard does not stand (issue 1975)
Builds: issue 1975 note 4 (the lead's handover; no design line)
2026-11-12 10:46:28 +01:00
jschoubben 76d716e021 Merge remote-tracking branch 'origin/main' into feat/47-G-join11 2026-11-12 10:25:48 +01:00
jschoubben 8aa6de9776 Merge branch 'feat/47-G-fix11-a3h' into feat/47-G-join11 2026-11-12 10:25:41 +01:00
jschoubben 62e31e2451 Merge branch 'feat/47-G-fix11-b4b' into feat/47-G-join11 2026-11-12 10:25:41 +01:00
jschoubben bd4d38556c Merge branch 'feat/47-G-fix11-a7' into feat/47-G-join11 2026-11-12 10:25:41 +01:00
jschoubben 886be5cca7 A3h item 2b: NewGateChannel is the gate's operator channel over a process connection
It asks and cancels as accepted kinds of the seat operator-channel through the connection's Accept, and reads the router's
record by a get in the seat holder's state asks, never through a bucket named in code.

Builds: design 47 G §677, §700; lead answers A-272, A-273

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 10:23:22 +01:00
mesh-tools 6a914b1d17 Merge pull request 'node-service-manager: the verb kernel-log reads a node's kernel log, this boot or an earlier one (issue 1975)' (#7) from fix/1975-kernel-log into main 2026-11-12 08:40:39 +00:00
jschoubben dbb197b0c7 AM-H1 contract: the node-engine's composition answer names the withheld subjects
A session reads in one composition why a marked tool is not served on a node,
or that the grants part did not answer.

Builds: design 46 7 §6 (the node-engine's composition of the module names the withheld subjects; "withheld unknown: the grants part does not answer"), lead answer A-239 (withheld, withheld-unknown)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 06:26:10 +01:00
jschoubben 1d3f24250c A3e item 1: operatorchannelclient implements the gate's channel and re-exports its Kept
Builds: design 47 G §677, §700, lead answers A-219, A-224, A-228

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 06:25:56 +01:00
jschoubben 33d9b28869 A3d item 1: operatorchannelclient re-exports mesh-sdk's act and its digest, one form
Builds: design 47 G §677, lead answers A-198, A-219

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 06:09:18 +01:00
jschoubben ff63be3028 AM-D3/AM-H1 path: the node's record carries the runner's reading; mesh-grants gains withheld
The grants part must tell a reading of the running tool runner from an older
one, and the node-engine's composition reads the withheld subjects through a
verb of the seat, never the grants part's state.

Builds: design 46 7 §6 (the node's record takes the runner's capabilities and fingerprint; the seat mesh-grants' verb withheld, class read, callers the node-engine, persons and the operator, input node, with a fixture), lead answer A-203 (runner-capabilities, runner-fingerprint; withheld's input and answer)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 06:04:56 +01:00
jschoubben 49e26f5d27 Kept: the operator-channel client keeps an asked call's act, arguments and recorded mark
An asker that asks for a call (the tool runner's approval gate) keeps beside the ask the
act its options bind, the call's whole arguments, and whether its run is in the hand-act
log; Take keeps all three as it marks the ask.

Builds: design 46 7-approval-mark §13

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 05:00:12 +01:00
jschoubben 6be23459ab A7: the contracts' fixtures and the tests generated from them name no operator account and no workstation (role names)
Builds: the lead's handover item A7 (fixtures name no operator account or node); no design line names it
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 04:59:34 +01:00
jschoubben 74c157284f Merge branch 'feat/47-G-fix9-recovery' into feat/47-G-join10 2026-11-12 02:39:12 +01:00
jschoubben c4adc618c8 node-service-manager: kernel-log is built on the issue's prepare record (issue 1975)
mesh/delivery merged: source.main moved to novox/mesh-contracts@6a914b1d1747
mesh/delivery-group group fix/1975-kernel-log merged: every member is merged
mesh/check being carried to c4adc618c874 on 6a914b1d1747 | from 29ec1c3df312, mesh-catalog d9f2b7bcfa07
No file change: this commit only names what the first commit builds, as the review asked.

Builds: issue 1975 note 2: lead answers L1-L3 (the verb kernel-log, its boot argument, no scope and no unit), acceptance 1975/AC1-AC5

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 02:24:44 +01:00
jschoubben cdb80ca4d3 node-service-manager: the kernel-log verb beside journal (issue 1975)
The kernel's messages of this boot or an earlier one (boot 0, -1, ...), in a window, narrowed to a
priority and a text, at most 2000 lines, the journal's argument forms; replaces journalctl -k,
journalctl -k -b -1 and dmesg. seatgen -check is clean.

Builds: issue 1975, the operator's request of 2026-11-12 (the lead's handover; no design line names the verb)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 02:17:28 +01:00
jschoubben 5503882d55 Merge origin/main (licence-put, issue 1409) into feat/47-G-join9
The vault's seat definition keeps retire's class act (G) beside main's licence-put; the
TypeScript contract is regenerated with join 9's seatgen (seatgen -check clean).

Builds: design 47 G §610

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:46:17 +01:00
jschoubben 630de8babc G A-129: the seat mesh-recovery's kept-points answers unrestored
The asides whose record ended at removed with no running act holding them, which the recovery
module's health check fails on, are listed in the answer the tool and the check read.

Builds: design 47 G A-129, §554, §657

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:29:07 +01:00
jschoubben e3520750d5 G A-124: the seat mesh-recovery's aside says names, a list of the bus names it was live under
Builds: design 47 G A-124, §516, §560

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:17:22 +01:00
mesh-tools 29ec1c3df3 Merge pull request 'The vault's seat gains licence-put, so the licence manager keeps its grants in the vault (issue 1409)' (#6) from feat/39-licence-switch into main 2026-11-12 00:13:01 +00:00
jschoubben b58c4e6b14 G A-117: the seat mesh-recovery's ended and restored events gain why, the hand act's words for a cancel
Builds: design 47 G A-117, §560
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-12 01:06:05 +01:00
jschoubben 30389b2ed9 Merge branch 'feat/47-G-recover-host-contracts' into feat/47-G-join8 2026-11-12 00:11:50 +01:00
jschoubben ed8914974f Merge branch 'feat/47-G-recover-runner' into feat/47-G-join8 2026-11-12 00:11:50 +01:00
jschoubben 97b5f9684e Merge branch 'feat/47-G-placement6' into feat/47-G-join8 2026-11-12 00:11:50 +01:00
jschoubben 8f70f1c5ee Merge branch 'feat/47-G-cond6' into feat/47-G-join8 2026-11-12 00:11:50 +01:00
jschoubben 2ae0c67930 G A-92: the node-engine's seat definition gains the state bounds, key <what>.<id>, in its old section
Builds: design 47 G §560, §557, §627, A-77, A-92

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 23:44:36 +01:00
jschoubben e5b3a89430 A-91: the operator-channel contract's asks value carries the ask's warrant
Builds: design 47 G §700, A-91; the router's record carries its warrant

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 23:27:37 +01:00
jschoubben 3eba6b8299 V-1/B1: the vault's seat definition gains licence-put
mesh/delivery merged: source.main moved to novox/mesh-contracts@29ec1c3df312
mesh/delivery-group group feat/39-licence-switch merged: every member is merged
mesh/check checking 3eba6b8299e0 on 29ec1c3df312 | novox/mesh-contracts#6 in group feat/39-licence-switch
The licence manager hands the vault a licence's grant and access token through a verb of
the seat mesh-vault; the manifest validator refuses a seat verb the definition does not
serve, so the definition carries it, and the generated Go and TypeScript follow.

Builds: design 39 bus-and-switch §15, B1, B4, B5

Claude-Session: https://claude.ai/code/session_01NcbgfHb9d4T9nq5Q6WqdiJ
2026-11-11 23:07:44 +01:00
jschoubben b0be30c267 Contract: the seat mesh-module-assigner gains the read verb placement
Builds: design 47 G A-62 (§704, §402)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 22:58:13 +01:00
jschoubben c5cf0126f9 K27 (owner change): the seat mesh-conditions' condition-changed gains the change value owner
Builds: design 47 G §540, §685, A-58 (findings-stated's kinds, §580, and attempt-changed, §541/§665, were built by K13 and K12; seatgen -check clean)

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
2026-11-11 22:46:44 +01:00
jschoubben cf5590c759 bus5 K27 (§681): mesh-broker's snapshot-get, snapshot-restore, snapshot-restore-cancel, snapshot-remove and snapshot-restored; the format's verb word chunks
Builds: design 47 G §681, §691, A-44
2026-11-11 22:37:57 +01:00
jschoubben 3658ceb1b6 K26 (D-34): the definition format takes a state's view field, and the assigner's assignments and seat-holders carry it
Builds: design 47 G §699 (§616; ADR 0571 §6)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 21:36:41 +01:00
jschoubben 78e61c9437 K25 (D-33): the node-engine's first-views answers entries and wants, and the seat gains entry-again
Builds: design 47 G §698 (§683, §422)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 21:36:34 +01:00
jschoubben b76e52d30a K24 (mesh-recovery's hand verbs): take, restore, retry, aside, discard-aside and expire-points, asker and why on every hand verb, one answer form with cancel
Builds: design 47 G §682, §691 (§516, §554, §566, §656, §681)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:45:56 +01:00
jschoubben 0ccac1d42a K11 (no named callers): no seat definition names a callers, and the verbs that had one keep their class
Every verb takes its class's default (read: invokers, persons, sessions; act and warrant: operator, sessions, invokers); resync and
retire, which named a caller beside the operator or a seat, are of class act.

Builds: design 47 G §610 (§391, §392, §394, §405, §555, §554, §659, §681, §393, §422, §579)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:45:23 +01:00
jschoubben bd038b15a3 K23 (owner and waiting-on of a condition): the seat mesh-conditions' condition and its events carry them
Builds: design 47 G §685 (§451, §540, §678)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:44:03 +01:00
jschoubben b2cc72b4a3 K22 (finding helpers gone): meshconditionsclient keeps what concerns conditions, and heard builds the seat's generated finding
The helpers CheckFinding, FindingFor, FindingWriter, FindingState, FindingVersion, Observation, EncodeFinding, DecodeFinding, Says,
FindingBucket, FindingsBucket, Raise, Clear and CallUnanswered go; mesh-sdk's writer is the one writer and checks. Importers
outside this repository move in G's change (named in the line).

Builds: design 47 G §689 (§461, §503, §640, §660)

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:43:22 +01:00
jschoubben 74b6162807 K21a (regenerate, in between): the generated Go and TypeScript follow the definitions so far
The conditions developer reads kinds, attempt-changed, wait-held and wait-ended from it. K21 regenerates last. The client
meshconditionsclient does not build against the findings state's new layout until the question on it is answered.

Builds: design 47 G §341, §523, §580, §541, §499

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:55 +01:00
jschoubben 9243f8c44f K7, K8, K9 (the seat mesh-recovery): its verbs, its events and its place in the module
The seat is defined whole in scope mesh: snapshot-kept, restore-kept, kept-points, restore-aside and cancel (the verbs
of the four forms §516 gives and §566 names; take, restore, retry, aside, discard-aside and expire-points wait for D-19),
events ended, restore-started, restored, set-aside, aside-discarded, point-removed (<module>.<kept>) and expiry-ended,
each kept 90 days and last per subject but expiry-ended, which has no parts and so no last-per-subject. The four acts
that a process answers say by-caller; no verb names callers. The artifacts go-meshrecovery and ts-meshrecovery are in
module.json, the seat in seats/index.json. Generated code waits for K21; the generator reads a verb's by-caller only
once mesh-sdk's reader release (§621) knows it.

Builds: design 47 G §516, §517, §523, §551, §554, §560, §563, §566, §567, §656, §659

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 9cefd47223 K18 (asker hears refused): Take answers Refused with the router's words for a refused ask
The ask is closed as any ended ask is, then the asker's request ends with why.

Builds: design 47 G §570, §638

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 6beae382b3 K17 (refused said): the asks record says when an ask ended
decided already names ask, outcome refused, words and at; the record gains at beside state refused and answer.
Generated code waits for K21.

Builds: design 47 G §570, §638

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben a16cf80bd6 K19 (caps in list): mesh-broker's list answers the sum of the caps and the limits
Builds: design 47 G §661, §547

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 86a5dcc93a K20 (adapter goes): meshconditionsclient/findings is deleted
mesh-sdk's writer is the one place a finding is written; seatgen -check is clean for health-and-repair but for the
generated code K21 writes.

Builds: design 47 G §461, §503

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 68b0c97079 K15 (findings state): the state findings is keyed <scope>.<id>.<kind> and holds the Finding body
Builds: design 47 G §660, §461, §437, §439

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben 22911c3644 K12 (healers attempts): mesh-healers says attempt-changed, keyed by condition and attempt
attempt-changed.<condition>.<attempt>, kept last per subject, 7 days and 16 MiB, its body the attempt's value whole with
until, or removed. Generated code waits for K21.

Builds: design 47 G §541, §665

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00
jschoubben a5cf2c5df1 K4, K5 (node-engine waits): the seat says wait-held and wait-ended, and the have carries its wait
defs.Wait has the fields of a wait (owner, step compose or kept-build, node, on, bound, since, clock-from, words, reason)
and, in the have, ask-at and act; wait-held.<node>.<module> and wait-ended.<node>.<module> are kept last per subject on
the stream running is kept on; the have's value gains wait, waits stays. Generated code waits for K21.

Builds: design 47 G §498, §499, §541, §556, §560, §629

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
2026-11-11 20:31:03 +01:00