G start: the indexer serves modules again, the watchman builds, the graph's order comes from the verbs a package calls #216

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

Design 47, milestone G, start fixes (lead answers A-354, A-355, A-357, A-360, A-361 in hq design/47-G-lead-answers-30).

  • A-354/A-360: the indexer serves the first view modules again and says each change on its views family, so grants is not frozen (C5).
  • A-355: modules/mesh-delivery-watchman/go.mod requires and replaces nodebuildimage and nodebuildnode. Every G build of a mesh-delivery module (indexer, assigner, builder, teller, checker, view, pipeline, grants, bridge) failed on this alone at 14:50-14:55 UTC.
  • A-357/A-361: kind 6 edges (B runs a version that serves A) come from a package's calls words too, obeying the cycle rule, so the start order puts the indexer and gate before the tool runner.

Quick vs thorough: thorough (the order is derived from declared calls for every module); the check refusing an undeclared called verb is queued after G.

Tests: unit suite passes; manifest judge built at this head and at the trunk accepts every manifest (184 per case, 0 refused, identical verdicts).

Group with mesh-sdk 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 536c573223

https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h

Design 47, milestone G, start fixes (lead answers A-354, A-355, A-357, A-360, A-361 in hq design/47-G-lead-answers-30). - A-354/A-360: the indexer serves the first view `modules` again and says each change on its views family, so grants is not frozen (C5). - A-355: modules/mesh-delivery-watchman/go.mod requires and replaces nodebuildimage and nodebuildnode. Every G build of a mesh-delivery module (indexer, assigner, builder, teller, checker, view, pipeline, grants, bridge) failed on this alone at 14:50-14:55 UTC. - A-357/A-361: kind 6 edges (B runs a version that serves A) come from a package's `calls` words too, obeying the cycle rule, so the start order puts the indexer and gate before the tool runner. Quick vs thorough: thorough (the order is derived from declared calls for every module); the check refusing an undeclared called verb is queued after G. Tests: unit suite passes; manifest judge built at this head and at the trunk accepts every manifest (184 per case, 0 refused, identical verdicts). Group with mesh-sdk 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 536c5732238e6f471b4ba379f003375de2e97e8e https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
mesh-tools added 5 commits 2026-11-13 18:55:44 +00:00
cmd/mesh-delivery-watchman imports the seats nodebuildimage and nodebuildnode, but its go.mod named only
nodebuildgo, so the watchman did not build from main. Every G part builds from main before any is placed.

Builds: design 47 G A-355
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
The grants part reads mesh-delivery-indexer.modules as one of its five first views; G's indexer stopped serving it
(deb88b17), so the read is a failed gap and grants issues no new right once G's indexer runs. The tool comes back in
its form before G (the first-view tool over the state modules, its callers list), answered from the newest trunk
revision, until grants reads the catalog half.

Builds: design 47 G A-354
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
A package's `calls` names the seat verbs its code calls on a module's behalf in the invokes form; the indexer derives
an edge of kind 6 from such a word against the verb's server, as from `invokes`, so every module built against the
SDK is delivered after the running versions that serve its start. The path for stated capability words stays.

Builds: design 47 G A-357, §47 (kind 6)
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
The grants part follows the first view modules on the indexer's views family after its first ask. G's indexer keeps
no state modules, so nothing said its changes and a newly merged module reached grants only when it asked again. A
new trunk revision that changes the modules is now said as the mark of modules at that revision's number (the number
the first view answers every value at), after which a reader short of it asks the first view once; views.modules is
among the indexer's emits.

Builds: design 47 G A-360, A-354
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
A-361: a package's seat call words obey the cycle rule
mesh/delivery merged: source.main moved to novox/mesh-delivery@bac26c8a288b
mesh/delivery-group group fix/47-G-start merged: every member is merged
536c573223
The graph left out only invoked verbs on a cycle, so a package's seat call word's kind-6 edge stayed on a cycle (the
gate and the indexer, the gate and mesh-hand-acts at every SDK release). The module graph's LeaveOut now runs over the
entries with each package's seat call words counted among the invokes of every module built against it, and what it
leaves out joins each entry's LeftOut.

Builds: design 47 G A-361, A-357; ADR 0614 §3
Claude-Session: https://claude.ai/code/session_01NcbgfGKaxw984XyAPfLm4h
jschoubben merged commit bac26c8a28 into main 2026-11-13 19:08:10 +00:00
jschoubben deleted branch fix/47-G-start 2026-11-13 19:08:11 +00:00
Author
Member

Delivery novox/mesh-delivery@536c5732238e — merged since 2026-11-13T19:08:14Z

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

Group fix/47-G-start: novox/mesh-delivery@536c573223, novox/mesh-sdk@ab355879f0

Transitions

  • 2026-11-13 18:55 (new) → proposed (announced): novox/mesh-delivery#216's head announced
  • 2026-11-13 18:55 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-11-13 19:08 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-delivery@536c5732238e` — **merged** since 2026-11-13T19:08:14Z **Source** — source.main moved to novox/mesh-delivery@bac26c8a288b. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/47-G-start`: novox/mesh-delivery@536c5732238e, novox/mesh-sdk@ab355879f00b **Transitions** - 2026-11-13 18:55 (new) → proposed (announced): novox/mesh-delivery#216's head announced - 2026-11-13 18:55 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-11-13 19:08 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-act:switched.owed.21879.novox/mesh-delivery.216.536c5732238e6f471b4ba379f003375de2e97e8e.view -->
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-delivery#216