gitea: announce a merge once, and read every page of its changed files (hq issues 250, 252) #63

Merged
mesh-admin merged 3 commits from fix/a-merge-is-announced-once into main 2026-10-05 15:55:54 +00:00
Contributor
  • Once (hq 250): the merge tool emitted pull.merged and so did the 30 s poll added for issue 131, so every merge made through the tool reached the controller (and records) twice. The poll sees every path and carries the clone url; it is now the only emitter. The tool returns the merge commit instead.
  • Every page (hq 252): listPullFiles asked for 100 and the forge caps a page at 50, so PR #60's list stopped at 50 of 59 files with truncated: false — a module whose files moved could go unrebuilt. It now reads until a page comes back short; past 3 000 files the list is cut and says so (the mesh then rebuilds everything, the safe direction).

Tests: test/pages.test.ts (a fake forge capping pages at 50, 59 files → all 59, not truncated) passes; tsc --strict on client.ts/token.ts clean; tools/index.ts and index.ts syntax-checked. The module stays TypeScript: its npm-registry provisioner needs the SDK's provisioner harness, which the Go SDK does not have.

- **Once** (hq 250): the merge tool emitted `pull.merged` and so did the 30 s poll added for issue 131, so every merge made through the tool reached the controller (and records) twice. The poll sees every path and carries the clone url; it is now the only emitter. The tool returns the merge commit instead. - **Every page** (hq 252): `listPullFiles` asked for 100 and the forge caps a page at 50, so PR #60's list stopped at 50 of 59 files with `truncated: false` — a module whose files moved could go unrebuilt. It now reads until a page comes back short; past 3 000 files the list is cut and says so (the mesh then rebuilds everything, the safe direction). Tests: `test/pages.test.ts` (a fake forge capping pages at 50, 59 files → all 59, not truncated) passes; `tsc --strict` on client.ts/token.ts clean; tools/index.ts and index.ts syntax-checked. The module stays TypeScript: its npm-registry provisioner needs the SDK's provisioner harness, which the Go SDK does not have.
mesh-admin added 3 commits 2026-10-05 15:47:38 +00:00
The merge tool announced pull.merged and so did the poll added for issue
131, so every merge made through the tool reached the controller twice.
The poll sees every path and carries the clone url; it is now the only
emitter. hq issue 250.
The forge caps a page at fifty when asked for a hundred, so a large merge's
file list was cut short and reported whole: a module whose own files moved
was not rebuilt. Read until a page comes back short. hq issue 252.
jschoubben added 1 commit 2026-10-05 15:47:38 +00:00
mesh-admin merged commit 053eba6950 into main 2026-10-05 15:55:54 +00:00
mesh-admin deleted branch fix/a-merge-is-announced-once 2026-10-05 15:55:54 +00:00
Author
Contributor

Delivery novox/mesh-catalog@053eba695000 — held since 2026-10-06T23:05:28Z

Held for a person: merged without a passing check: only a person decides that it goes on — mesh-delivery.release with why lets it go on.

Delivery plan — builds gitea → novox; no bus step

  • tier 0: gitea
  • novox: receives gitea
  • gitea provides npm-package-registry, git: its consumers are sent again after it
  • gitea keeps data (ADR 0233): what it holds is backed up before it moves

Transitions

  • 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#63 merged; its head was not heard by this owner, so it is made from the forge's word
  • 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@053eba695000` — **held** since 2026-10-06T23:05:28Z Held for a person: merged without a passing check: only a person decides that it goes on — `mesh-delivery.release` with why lets it go on. **Delivery plan** — builds gitea → novox; no bus step - tier 0: gitea - novox: receives gitea - gitea provides npm-package-registry, git: its consumers are sent again after it - gitea keeps data (ADR 0233): what it holds is backed up before it moves **Transitions** - 2026-10-06 23:05 (new) → proposed (announced): novox/mesh-catalog#63 merged; its head was not heard by this owner, so it is made from the forge's word - 2026-10-06 23:05 proposed → held (merged-unchecked): merged without a passing check — a verdict known with it is taken first: only a person decides that it goes on The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Sign in to join this conversation.
No Reviewers
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: novox/mesh-catalog#63