The manifest reader reads and checks a kept data's form and catch-up tool #180

Merged
mesh-tools merged 2 commits from fix/manifest-form-reader into main 2026-11-09 21:27:38 +00:00
Member

Issue 1966; a release before milestone 47/G on the operator's "Reader first" (Telegram 2026-11-09 19:38 UTC), the third of the kind 'a format extension the running reader cannot read'. G's manifests declare form and catch-up on kept data; the running validator (catalogue.Decode, DisallowUnknownFields) refuses them, so ADR 0633 §6's trunk case would fail G's check. This teaches go/catalogue the fields (KeptLayout, KeptDeclarations, FormChanges, from G's W1.5) and refuses a negative form in every kept kind's decoder. A manifest without the fields reads as before. A scan of G's 17 changed manifests: all read with this reader; only the indexer's is refused on trunk.

Group with mesh-delivery fix/manifest-form-reader (the validator refuses a catch-up tool the module lacks; its tests quote this reader's text): merge together.

Reviewed-by: mesh-code-reviewer@shanks at 9582e01eef

https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ

Issue 1966; a release before milestone 47/G on the operator's "Reader first" (Telegram 2026-11-09 19:38 UTC), the third of the kind 'a format extension the running reader cannot read'. G's manifests declare `form` and `catch-up` on kept data; the running validator (catalogue.Decode, DisallowUnknownFields) refuses them, so ADR 0633 §6's trunk case would fail G's check. This teaches go/catalogue the fields (KeptLayout, KeptDeclarations, FormChanges, from G's W1.5) and refuses a negative form in every kept kind's decoder. A manifest without the fields reads as before. A scan of G's 17 changed manifests: all read with this reader; only the indexer's is refused on trunk. Group with mesh-delivery fix/manifest-form-reader (the validator refuses a catch-up tool the module lacks; its tests quote this reader's text): merge together. Reviewed-by: mesh-code-reviewer@shanks at 9582e01eef5f329882ed94b806cf135b64eabd47 https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
mesh-tools added 2 commits 2026-11-09 20:22:02 +00:00
A restore point is taken before a module moves across a change of how
it writes a kept data, so each declaration (the old sections and every
entry in requires by template) names its form, 0 where none is said,
and the catch-up tool a restore is followed by. KeptDeclarations reads
them in the one walk KeptStates now uses; FormChanges is what differs
between the running manifest and the one applied (design 47).

Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
A kept data's form below 0 is refused where it is read, once for every kept kind
mesh/check checking 9582e01eef5f on 366c4ab5073d | novox/mesh-sdk#180 in group fix/manifest-form-reader
mesh/delivery merged: source.main moved to novox/mesh-sdk@366c4ab5073d
mesh/delivery-group group fix/manifest-form-reader merged: every member is merged
9582e01eef
Claude-Session: https://claude.ai/code/session_01JG73KEq4zoDfM9WtYpcQgZ
Author
Member

Delivery novox/mesh-sdk@9582e01eef5f — merged since 2026-11-09T21:27:39Z

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

Group fix/manifest-form-reader: novox/mesh-delivery@e7415c1812, novox/mesh-sdk@9582e01eef

Transitions

  • 2026-11-09 20:22 (new) → proposed (announced): novox/mesh-sdk#180's head announced
  • 2026-11-09 20:22 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-09 21:27 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-sdk@9582e01eef5f` — **merged** since 2026-11-09T21:27:39Z **Source** — source.main moved to novox/mesh-sdk@366c4ab5073d. Whether it reached the machines is `mesh-delivery-view`'s, derived from `source.main`, the wants and the haves. **Group** `fix/manifest-form-reader`: novox/mesh-delivery@e7415c1812be, novox/mesh-sdk@9582e01eef5f **Transitions** - 2026-11-09 20:22 (new) → proposed (announced): novox/mesh-sdk#180's head announced - 2026-11-09 20:22 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-09 21:27 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 366c4ab507 into main 2026-11-09 21:27:38 +00:00
mesh-tools deleted branch fix/manifest-form-reader 2026-11-09 21:27:38 +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#180