Registry milestone: mesh-catalog (issue 1966) #612
Open
mesh-tools
wants to merge 292 commits from
feat/registry-milestone into main
pull from: feat/registry-milestone
merge into: :main
:main
:feat/registry-milestone
:pre/registry-milestone
:fix/1748-retake-and-resolver
:pin/sdk1
:fix/check-every-failure
:feat/l5-l7
:feat/l5-l7-a3
:feat/judge-once-pkgs
:fix/turn-handed-on-approve
:fix/checker-full-failure
:revert/774-l3
:fix/check-names-every-conflict
:fix/check-speed
:probe/1126-seed-10
:probe/1126-seed-9
:probe/1126-seed-8
:probe/1126-seed-7
:probe/1126-seed-6
:probe/1126-seed-5
:feat/1126-seed-4
:revert/1126-seed-2
:feat/774-vault-mints
:fix/1901-node-test-cause
:fix/1945-adopt-hashes
:fix/1945-vault-hashing
:feat/try-speed
:fix/1921-every-failure
:feat/r4g-finish-composer
:feat/r4g-finish-1935
:fix/1901
:fix/forge-requires-no-status
:feat/mail-list
:feat/modules-name-no-node
:fix/r4e-r2
:fix/r4e-k2
:fix/r4e-k1
:feat/r4e-leaf
:feat/r4e-buildmods
:feat/r4e-gate
:fix/1106-sdk-member-merges
:feat/r4c5-checker
:fix/xterm-config-defaults
:fix/1165-fill-retry
:feat/r4d-automx-go
:feat/r4d-n8n
:fix/1275-group-merges-whole-or-not
:fix/1129-no-drift-pass
:fix/270-nats-emits-bus-faults
:fix/claude-code-tips-preference
:fix/628-modules-declare-every-package-they-need
:fix/613-home-network-shares
:feat/bus-websocket-listener
:fix/340-tool-servers-only-from-the-terminal
:feat/the-store-collects-nightly-again
:feat/dbus-module
No Reviewers
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
Assignees
agent-ace
agent-g14
agent-novox
agent-shanks
jschoubben
mesh-tools
miel.truyen
nox-agent
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: novox/mesh-catalog#612
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
The registry milestone (issue 1966; ADR 0605-0636 as hq's designs name them), taken in onto its trunks after milestone 47/B0 as milestone 47/G's first step (design 47; issue 1921 notes 54-61).
One delivery group, branch feat/registry-milestone in mesh-sdk, mesh-contracts, mesh-delivery, mesh-host, mesh-tools, mesh-catalog and mesh-networking: one check, one Approve. No member names another's version (ADR 0573); every mesh package is required at the zero version.
This member: mesh-build-go and mesh-knowledge take the trunk: one invokes list (the automatic merge gave it twice), the run step on the delivery SDK's buildstep types and the checker's client, the manifest asked of its owner.
The registry's reviewed heads (three rounds, 2026-11-04 to 11-06) were never pushed until now; the check of 068b7d23cf1a judged the heads of 2026-11-04. The trunk step was prepared and reviewed in three rounds (2026-11-07): the merge resolutions keep B0's facts and checking-program rules and the registry's generated types; every check composes with the composer at the node-engine member's head, else its trunk; a module the running indexer refuses but the check's own validator accepts is composed and named in the verdict with its build awaited, never passed silently; the checking program answers only new or changed seat definitions when given the reader's digests, and without them (the running B0 checker) only each seat's own description, 171 KB under the 256 KiB bound.
Rules bent, said here: mesh-delivery stays over its test budget (662 unit, 68 integration; was 675 and 68) and mesh-host over unit (1745; was 1746), falling. Out of this step, noted on issue 1921: three asks carry the whole seat list (~430 KB) bounded only by the bus's 1 MiB; the trunk case of the manifest validator is given the heads' seats.
After check 616c42434ac2 (issue 1921 notes 63-64), reviewed again: mesh-catalog requires the module of meshdeliverycheckerclient, and a new check checks/requiredmodules refuses an import whose module the go.mod does not require; mesh-delivery's assigner test flushes after its subscriptions (a race), and the checking program's seat answer carries no verb or message schemas (the tool runner's state refuses a schema property named credentials).
After check 8a80e8e86858 (issue 1921 notes 66-67), reviewed again: mesh-catalog ignores the new check's program and mesh-build-go's test workspace lays what the composer requires; mesh-host composes from the change's manifest wherever a node's build was made of another (by its manifest digest, or by its contract where the running node-engine names none), naming each such module as not judged, and a consumer beside a held provider is not served the provider's own names raw; mesh-delivery's checker keeps each composition request it sends (state compositions, 3 days) with the read tool checker_composition_requests.
After check c5d32074c945 (issue 1921 notes 69-75), reviewed again: mesh-catalog marks lab moved (lead-47@shanks) and takes in main's mesh-catalog #624 (the fetch downloads each placed sibling's module graph, delivered ahead); mesh-delivery's checker test expects its eleventh state, and it takes in main's #163 (the indexer's take-in waits end, lead-47@shanks) and #164 (a pull request's check composes only after the change's own builds end), both delivered ahead; mesh-host gives the held try's words when it is refused too. Rule bent, said here: mesh-build-go has 52 integration tests, over its budget of 50 (the trunk 49).
Reviewed-by: mesh-code-reviewer@shanks at
67d9ccb1d4https://claude.ai/code/session_01NcbgfFSnn24M3GcqttoU7i
ADR 0607 §3, §5: the fetch's package argument also takes {name, version}; the version is placed from the registry in each TypeScript member whatever its lock names, checked against the lock's integrity when the lock names it, else the registry's; nothing is packed then, and a version the registry lacks fails naming it. The packed {repository, commit} form stays for a checker that hands it. Rows in the placement and argument tests. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrigThe node-engine fills ${config:} only in files, unit names, owners and groups, never in a process's environment, so MESH_CONFIG_CALLERS was never set and design 51's defaults always held. The tools bundle now reads `callers` through stdio.Config on each call (holder.ConfiguredCallers, Verbs.WithCallers per call); the program, which has no runtime resolving config, asks its own tools bundle's new registry_callers on each wake of the windows (manifest invokes). The environment variable is gone. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrigDelivery
novox/mesh-catalog@67d9ccb1d455— ready since 2026-11-07T13:39:24ZGroup
feat/registry-milestone: novox/mesh-catalog@67d9ccb1d4, novox/mesh-contracts@b77560786a, novox/mesh-delivery@4735fc0b5f, novox/mesh-host@cb7a444a56, novox/mesh-networking@9ee0ffe3c0, novox/mesh-sdk@d932546703, novox/mesh-tools@6c05e42626Transitions
The commit's note under
refs/notes/mesh-plankeeps every transition of this change up to its merge:git log --notes=mesh-plan.mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: not merged. The merge of this pull request into main at
125929dbc4was declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.The rotation test failed twice under parallel runs ("never: the rotation begins"), from two races in its player. The player refused mesh/subscribe, so the placement events it said never reached the vault: when the vault's first view was answered before the test wrote the placement, the vault never knew the bus node. And the test wrote the bus node's have right after the placement, so the vault could hear the have before it applied the placement, adopt nothing, and never learn the loaded list's revision. The player now answers mesh/subscribe and holds a family's events until it is subscribed, as the module's consumer does; the test writes the placement only after the vault's first view and the have only once the vault's picture holds every placement key (vault_first_views), so both orders are fixed rather than waited out. Claude-Session: https://claude.ai/code/session_01JG73KJNrH5EgFXMKKYSrig559939aa) into the registry branch: gate reads forgemsg, messenger narrows asks (K-0; issue 1966) 518539f3d19fafbcfd): the renamed seats (issue 1966) 7c617bb085125929dbc4to7bf15a3dc4mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: the operator's Approve of this pull request's merge into main is ended: a head it covers moved on: the heads it covers are no longer the group's heads. Nothing is merged on it. The operator is asked again once the checks pass at the new head.
mesh-delivery: not merged. The merge of this pull request into main at
422b22ab0ewas declined: the operator, via telegram (user id verified), chose Decline. A new head asks the operator again.View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.