Drop the indexer's modules keys the catalogue's trunk no longer holds, at each merge and at start (issue 1900) #26

Merged
mesh-tools merged 3 commits from fix/1900-indexer-drops-removed-modules into main 2026-10-23 12:56:31 +00:00
Member

Fixes issue 1900: the indexer kept 14 modules that no longer exist in the catalogue (removed modules, testdata, the retired delivery module), so the builder had nothing to build for them and R4e's acceptance census read them as missing.

  • At a merge: applyMerged drops held keys of the merged repository that the merge's manifests no longer name (the forge bridge's merged message carries every module.json at the merge commit, or fails whole). Nothing is dropped when a message carries no manifests.
  • At start: Reconcile lists the trunk's module directories (gitea_commit_trees over the bus) and deletes a key only when its module is absent there AND the commit it was written at is the head read or contained in it (gitea_contains), so a merge applied ahead of the source's head is never undone. A failed or empty read, a key with no path, and other repositories' keys are kept.
  • The indexer's manifest now invokes gitea.gitea_contains, with a unit test that fails when a forge tool the program calls is missing from invokes.

Tests that failed first: TestAMergeThatRemovesAModuleDeletesItsKey, TestStartingDeletesTheKeysTheTrunkDoesNotHold, TestAKeyWrittenAheadOfTheSourceHeadStaysAndOneWithoutAPathIsSkipped, TestEveryGiteaToolTheCodeCallsIsInInvokes. Try try-1792759727372740409 passed (476 integration tests).

After delivery the lead reads the indexer's modules keys: the 14 named in the issue must be gone, the 141 catalogue modules kept.

Reviewed-by: review-1900@shanks at 24753bfc2c
Pushed-by: fix-1900@shanks

Fixes issue 1900: the indexer kept 14 modules that no longer exist in the catalogue (removed modules, testdata, the retired delivery module), so the builder had nothing to build for them and R4e's acceptance census read them as missing. - At a merge: applyMerged drops held keys of the merged repository that the merge's manifests no longer name (the forge bridge's merged message carries every module.json at the merge commit, or fails whole). Nothing is dropped when a message carries no manifests. - At start: Reconcile lists the trunk's module directories (gitea_commit_trees over the bus) and deletes a key only when its module is absent there AND the commit it was written at is the head read or contained in it (gitea_contains), so a merge applied ahead of the source's head is never undone. A failed or empty read, a key with no path, and other repositories' keys are kept. - The indexer's manifest now invokes gitea.gitea_contains, with a unit test that fails when a forge tool the program calls is missing from invokes. Tests that failed first: TestAMergeThatRemovesAModuleDeletesItsKey, TestStartingDeletesTheKeysTheTrunkDoesNotHold, TestAKeyWrittenAheadOfTheSourceHeadStaysAndOneWithoutAPathIsSkipped, TestEveryGiteaToolTheCodeCallsIsInInvokes. Try try-1792759727372740409 passed (476 integration tests). After delivery the lead reads the indexer's modules keys: the 14 named in the issue must be gone, the 141 catalogue modules kept. Reviewed-by: review-1900@shanks at 24753bfc2c029965acf941ff6e89ca3c7461c7b9 Pushed-by: fix-1900@shanks
mesh-tools added 3 commits 2026-10-23 12:51:42 +00:00
Grant gitea_contains in the indexer's invokes and test every called forge tool is granted (issue 1900)
mesh/delivery covered after its stop: a later walk that contains it was delivered: plan-1792794967663205383 (novox/mesh-delivery at 55f486e0 into main, d…
mesh/check pass 24753bfc2c02 on 75a4821eff9e | unit 431 run, 0 kept | integration 476 run, 0 kept | over bound: integration (slowest integration mesh-…
24753bfc2c
Author
Member

Delivery novox/mesh-delivery@24753bfc2c02 — stopped since 2026-10-23T13:16:40Z

Covered: covered after its stop: a later walk that contains it was delivered: plan-1792794967663205383 (novox/mesh-delivery at 55f486e0 into main, done, contains its merge db5d88f8)

Delivery plan — builds mesh-delivery-indexer → novox; no bus step

  • tier 0: mesh-delivery-indexer
  • novox: receives mesh-delivery-indexer

Transitions

  • 2026-10-23 12:51 (new) → proposed (announced): novox/mesh-delivery#26's head announced
  • 2026-10-23 12:54 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-23 12:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-23 12:56 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-23 12:56 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit
  • 2026-10-23 13:16 delivering → stopped (stop): its walk plan-1792760194384319460 was stopped by a person (mesh-controller): stuck on issue 1902 (the catalogue's repository not found in the take-in from a builder key) since 14:57; it holds every check; the operator asked to deliver by hand (15:15)

The commit's note under refs/notes/mesh-plan keeps every transition: git log --notes=mesh-plan.

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-delivery@24753bfc2c02` — **stopped** since 2026-10-23T13:16:40Z **Covered**: covered after its stop: a later walk that contains it was delivered: plan-1792794967663205383 (novox/mesh-delivery at 55f486e0 into main, done, contains its merge db5d88f8) **Delivery plan** — builds mesh-delivery-indexer → novox; no bus step - tier 0: mesh-delivery-indexer - novox: receives mesh-delivery-indexer **Transitions** - 2026-10-23 12:51 (new) → proposed (announced): novox/mesh-delivery#26's head announced - 2026-10-23 12:54 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-23 12:54 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-23 12:56 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-23 12:56 published → delivering (go): its walk started: let go by this owner in its group's order, by a person, or on the controller's own path — not a failed walk that carried a later commit for it, after which it waits for a walk of its own commit - 2026-10-23 13:16 delivering → stopped (stop): its walk plan-1792760194384319460 was stopped by a person (mesh-controller): stuck on issue 1902 (the catalogue's repository not found in the take-in from a builder key) since 14:57; it holds every check; the operator asked to deliver by hand (15:15) The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
mesh-tools merged commit db5d88f893 into main 2026-10-23 12:56:31 +00:00
mesh-tools deleted branch fix/1900-indexer-drops-removed-modules 2026-10-23 12:56:32 +00:00
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#26