Developer and reviewer definitions: validate every manifest a change touches before handing back (issue 1585) #517

Merged
mesh-tools merged 2 commits from agents/dev-validates-manifests into main 2026-11-05 00:44:48 +00:00
Member

Why: the take-in group's first merge check (issue 1585, ADR 0633) failed after a full build on a manifest the manifest validator refused, an indexer's own stream outside the bus's predefined forms. No local run had validated the changed manifests: no module's unit tests run the validator, and the catalogue's checks cover only its own modules.

What:

  • .claude/agents/mesh-developer.md: when a change touches any module.json, the developer runs the manifest validator as the checker does. It is cmd/mesh-judge, built at mesh-delivery's trunk, or at the change's head when that head changes the validator, and then the indexer's own manifest also at the trunk. It reads raw manifests in the two cases change and trunk. The developer reports every manifest whose verdict differs between them, an unchanged one included (ADR 0579 §2).
  • .claude/agents/mesh-code-reviewer.md: a change to a manifest reported without those verdicts, or with one refused or held, is a finding. That is how the developer's rule is checked.

Notes from the review, not taken in this pull request (no round):

  • The predefined key list: the checker always passes one (the change's when it alters it, else the trunk's). The text says only "when the change alters it".
  • Playbook 07's develop step could name the same validator run.

go test ./... passes at the hq root.

Reviewed-by: mesh-code-reviewer@shanks at 749249466f

https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn

Why: the take-in group's first merge check (issue 1585, ADR 0633) failed after a full build on a manifest the manifest validator refused, an indexer's own stream outside the bus's predefined forms. No local run had validated the changed manifests: no module's unit tests run the validator, and the catalogue's checks cover only its own modules. What: - `.claude/agents/mesh-developer.md`: when a change touches any `module.json`, the developer runs the manifest validator as the checker does. It is `cmd/mesh-judge`, built at mesh-delivery's trunk, or at the change's head when that head changes the validator, and then the indexer's own manifest also at the trunk. It reads raw manifests in the two cases `change` and `trunk`. The developer reports every manifest whose verdict differs between them, an unchanged one included (ADR 0579 §2). - `.claude/agents/mesh-code-reviewer.md`: a change to a manifest reported without those verdicts, or with one refused or held, is a finding. That is how the developer's rule is checked. Notes from the review, not taken in this pull request (no round): - The predefined key list: the checker always passes one (the change's when it alters it, else the trunk's). The text says only "when the change alters it". - Playbook 07's develop step could name the same validator run. `go test ./...` passes at the hq root. Reviewed-by: mesh-code-reviewer@shanks at 749249466f8c073e1b25ae18e34d7bbff4fe0875 https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
mesh-tools added 2 commits 2026-11-05 00:42:44 +00:00
The take-in group's first check failed after a full build on a manifest the
validator refused (an indexer's own stream outside the bus's forms); no local
run had validated the changed manifests. The developer now runs the manifest
validator as the checker does and reports each verdict; the reviewer asks for it.

Issue 1585.

Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Developer definition: the validator run as the checker does it (review round 1)
mesh/delivery merged: source.main moved to novox/hq@331e5707922b
mesh/check being carried to 749249466f8c on 331e5707922b | from 6b8b6b08e39a
749249466f
Built at mesh-delivery's trunk unless the change alters the validator; raw
manifests in the two cases change and trunk; every manifest whose verdict
differs is reported, an unchanged one included (ADR 0579 §2).

Issue 1585.

Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn
Author
Member

Delivery novox/hq@749249466f8c — merged since 2026-11-05T00:44:50Z

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

Transitions

  • 2026-11-05 00:42 (new) → proposed (announced): novox/hq#517's head announced
  • 2026-11-05 00:42 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-05 00:44 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@749249466f8c` — **merged** since 2026-11-05T00:44:50Z **Source** — source.main moved to novox/hq@331e5707922b. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Transitions** - 2026-11-05 00:42 (new) → proposed (announced): novox/hq#517's head announced - 2026-11-05 00:42 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-05 00:44 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 331e570792 into main 2026-11-05 00:44:48 +00:00
mesh-tools deleted branch agents/dev-validates-manifests 2026-11-05 00:44:48 +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#517