Design 20 and playbook 06 say what the manifest validator accepts, and how a module is built of parts #575

Merged
mesh-tools merged 1 commits from design/20-manifest-as-judged into main 2026-11-12 10:38:25 +00:00
Member

The operator, 2026-11-12: "first look into the indexer's code that reads the manifest and update our module-development documentation accordingly". Read from the manifest validator (the seat mesh-catalog's holder, ADR 0578) and the builder, mesh-sdk's catalogue, the node-engine and the tool runner on their main branches.

  • Design 20: the worked example in Go and TypeScript only (the builder builds no other), with system; new sections Who reads a manifest, and what each one judges and What a module is built of (tools, a long-running process, a process's own bus account, a scheduled job, a run-once step, prepares, a seat implementation, an image, an OS program, files; runs-as; kept data by template vs the old sections); "What this leaves open" replaced by what ADR 0605-0607 decided.
  • Playbook 06: choose each part's form, ask for kept data by template, pin upstream by @sha256:, and a table Where the parts of the mesh read a manifest differently.
  • Glossary: resource types corrected; new words process resource, run-once step, scheduled run, runtime of its own, old section.

Where the parts disagree (written in playbook 06): template logs are accepted by the validator but not written by the tool runner; languages (validator: any; builder: Go and TypeScript); upstream pin (validator: a tag; builder: @sha256:); resource fields judged only by the node-engine; process modes.

Checks: go test ./... at hq's root passes.

Pushed-by: fix-1965@shanks

The operator, 2026-11-12: "first look into the indexer's code that reads the manifest and update our module-development documentation accordingly". Read from the manifest validator (the seat mesh-catalog's holder, ADR 0578) and the builder, mesh-sdk's catalogue, the node-engine and the tool runner on their main branches. - Design 20: the worked example in Go and TypeScript only (the builder builds no other), with `system`; new sections *Who reads a manifest, and what each one judges* and *What a module is built of* (tools, a long-running process, a process's own bus account, a scheduled job, a run-once step, prepares, a seat implementation, an image, an OS program, files; `runs-as`; kept data by template vs the old sections); "What this leaves open" replaced by what ADR 0605-0607 decided. - Playbook 06: choose each part's form, ask for kept data by template, pin `upstream` by `@sha256:`, and a table *Where the parts of the mesh read a manifest differently*. - Glossary: resource types corrected; new words process resource, run-once step, scheduled run, runtime of its own, old section. Where the parts disagree (written in playbook 06): template logs are accepted by the validator but not written by the tool runner; languages (validator: any; builder: Go and TypeScript); upstream pin (validator: a tag; builder: `@sha256:`); resource fields judged only by the node-engine; process modes. Checks: `go test ./...` at hq's root passes. Pushed-by: fix-1965@shanks
mesh-tools added 1 commit 2026-11-12 10:37:28 +00:00
Write design 20 and playbook 06 from what the manifest validator accepts
mesh/delivery merged: source.main moved to novox/hq@f9bdd3b1d1ce
mesh/check checking 658d33892c5e on f9bdd3b1d1ce
658d33892c
The module-development documents described a manifest the mesh no longer
reads: four languages where the builder builds two, a Go bundle with no
system, a scheduled process the guide never said how to write, the old
kept-data sections as the norm, and the controller as the one refusing.
They now name each part of a module and its manifest form as the
manifest validator, the builder and the node-engine read it, and the
playbook lists where those parts still disagree, so an author writes
the form every part takes.
Author
Member

Delivery novox/hq@658d33892c5e — merged since 2026-11-12T10:38:26Z

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

Transitions

  • 2026-11-12 10:37 (new) → proposed (announced): novox/hq#575's head announced
  • 2026-11-12 10:37 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-12 10:38 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/hq@658d33892c5e` — **merged** since 2026-11-12T10:38:26Z **Source** — source.main moved to novox/hq@f9bdd3b1d1ce. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-12 10:37 (new) → proposed (announced): novox/hq#575's head announced - 2026-11-12 10:37 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-12 10:38 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 f9bdd3b1d1 into main 2026-11-12 10:38:25 +00:00
mesh-tools deleted branch design/20-manifest-as-judged 2026-11-12 10:38:26 +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/hq#575