G start: the runner admits first-view seat verbs before the catalog half is read; the SDK declares the verbs it calls #195

Merged
jschoubben merged 3 commits from fix/47-G-start into main 2026-11-13 19:08:00 +00:00
Member

Design 47, milestone G, start fixes (lead answers A-353, A-357, A-359, A-362 in hq design/47-G-lead-answers-30).

  • A-353/A-359: approval gate start path: the four first-view seat verbs (mesh-catalog registrations/revision, mesh-delivery source, ...) pass while the catalog half is unread, breaking cycle C1 (a G tool runner refused every call until its own catalog half was read through itself).
  • A-357: mesh-sdk's go package declares the seat verbs its approval gate and branch follower call, so the indexer's graph orders the indexer and gate before the tool runner.
  • A-362: the bootstrapped seat list holds mesh-delivery, so a runner admits source before the seat list is read.

Quick vs thorough: thorough for the start path (every runner); the check refusing an undeclared called verb is queued after G.

Tests: unit suite passes; manifest judge (mesh-judge at the trunk and at mesh-delivery 536c5732) accepts every manifest, 184 per case, 0 refused.

Group with mesh-delivery fix/47-G-start. The gate is down (G not delivered): merged in the forge by the operator; G is placed by the written start list.

Reviewed-by: mesh-code-reviewer@shanks at ab355879f0

https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h

Design 47, milestone G, start fixes (lead answers A-353, A-357, A-359, A-362 in hq design/47-G-lead-answers-30). - A-353/A-359: approval gate start path: the four first-view seat verbs (mesh-catalog registrations/revision, mesh-delivery source, ...) pass while the catalog half is unread, breaking cycle C1 (a G tool runner refused every call until its own catalog half was read through itself). - A-357: mesh-sdk's go package declares the seat verbs its approval gate and branch follower call, so the indexer's graph orders the indexer and gate before the tool runner. - A-362: the bootstrapped seat list holds mesh-delivery, so a runner admits `source` before the seat list is read. Quick vs thorough: thorough for the start path (every runner); the check refusing an undeclared called verb is queued after G. Tests: unit suite passes; manifest judge (mesh-judge at the trunk and at mesh-delivery 536c5732) accepts every manifest, 184 per case, 0 refused. Group with mesh-delivery fix/47-G-start. The gate is down (G not delivered): merged in the forge by the operator; G is placed by the written start list. Reviewed-by: mesh-code-reviewer@shanks at ab355879f00b5d6c38e81491e18fd2ad4b1f9b94 https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
mesh-tools added 3 commits 2026-11-13 18:55:39 +00:00
A runner serving the indexer's tools refused every call until its own catalog half was read, and that read is a call of
the same seat verbs through the same gate: G could not start. The four seat verbs the catalog half is read by now run
unmarked while it is unread; every other call waits and is refused as before.

Builds: design 47 G lead answers A-353, A-359

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
Every module built against the SDK reads its catalog half through mesh-catalog's registrations, revision and entry and
mesh-delivery's source; naming them in the Go package's calls lets the indexer order such a module after the running
versions that serve its start.

Builds: design 47 G lead answer A-357 (the SDK half), §47 kind 6

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
The catalog half is read through mesh-delivery's source as well as mesh-catalog's verbs, and a runner with an unread
seat list admitted only the latter. The bootstrapped copy is mesh-delivery main 21eaa55b's contract file, byte for
byte; the tests' seat list and the captured beside copy take the same file.

Builds: design 47 G lead answers A-362, A-353

Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
jschoubben merged commit d11e2423ff into main 2026-11-13 19:07:59 +00:00
jschoubben deleted branch fix/47-G-start 2026-11-13 19:08:00 +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#195