Let an agent's session run the TypeScript check outside the toolchain image (issue 742) #307

Merged
mesh-admin merged 1 commits from 742-ts-toolchain into main 2026-10-14 21:06:32 +00:00
Contributor

Issue 742: an agent session could not run merge-check-typescript.sh (no toolchain holding @novox/mesh-sdk), so a module's TypeScript was first checked by the forge after a push. Outside the toolchain image the script now assembles the same node_modules in the check's own throwaway workspace: mesh-tools' node-tools/package.json and lock read from the forge (so a pull request cannot steer what is installed), npm ci --ignore-scripts, then @novox/mesh-sdk@latest from the forge's registry, without a credential; npm's config and cache stay in the workspace. Inside the image (TOOLCHAIN_MODULES or /app/node_modules present) nothing changes and nothing is fetched. An unreachable forge says NOT CHECKED, never a pass.

Reviewed locally before this push (playbook 07): APPROVE at local 9c34cf12, same tree. Runs: lab type-checks and passes 44 of 44; merge-check.sh passes. showcase fails on main already (the SDK no longer exports tool and provisioner), unrelated to this change.

Follow-up the review noted: an origin URL carrying credentials would be printed; this clone's origin has none.

Issue 742: an agent session could not run `merge-check-typescript.sh` (no toolchain holding @novox/mesh-sdk), so a module's TypeScript was first checked by the forge after a push. Outside the toolchain image the script now assembles the same node_modules in the check's own throwaway workspace: mesh-tools' node-tools/package.json and lock read from the forge (so a pull request cannot steer what is installed), `npm ci --ignore-scripts`, then `@novox/mesh-sdk@latest` from the forge's registry, without a credential; npm's config and cache stay in the workspace. Inside the image (TOOLCHAIN_MODULES or /app/node_modules present) nothing changes and nothing is fetched. An unreachable forge says NOT CHECKED, never a pass. Reviewed locally before this push (playbook 07): APPROVE at local 9c34cf12, same tree. Runs: lab type-checks and passes 44 of 44; merge-check.sh passes. showcase fails on main already (the SDK no longer exports `tool` and `provisioner`), unrelated to this change. Follow-up the review noted: an origin URL carrying credentials would be printed; this clone's origin has none.
mesh-admin added 1 commit 2026-10-14 21:04:05 +00:00
Let an agent's session run the TypeScript check outside the toolchain image (issue 742)
mesh/merge-gate head 3e16c055be8e merged into trunk 0361c44a03a0 — pass: the change touches no module of the mesh's graph
mesh/repo-check head 3e16c055be8e merged into trunk 0361c44a03a0 — pass: THE CHANGE ALTERS ITS OWN CHECK (merge-check-typescript.sh): main's version judged…
mesh/delivery delivered
3e16c055be
Outside the image, assemble the same node_modules in the check's own
workspace from mesh-tools' lock on the forge, so a module's TypeScript is
checked locally before a push.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Author
Contributor

Delivery novox/mesh-catalog@3e16c055be8e — delivered since 2026-10-14T21:06:55Z

Delivery plan — builds nothing: the change touches no module of the mesh's graph

Transitions

  • 2026-10-14 21:04 (new) → proposed (announced): novox/mesh-catalog#307's head announced
  • 2026-10-14 21:05 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit
  • 2026-10-14 21:05 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail
  • 2026-10-14 21:06 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move
  • 2026-10-14 21:06 published → delivered (done): nothing for a walk to move

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

<!-- mesh-delivery:view --> **Delivery** `novox/mesh-catalog@3e16c055be8e` — **delivered** since 2026-10-14T21:06:55Z **Delivery plan** — builds nothing: the change touches no module of the mesh's graph **Transitions** - 2026-10-14 21:04 (new) → proposed (announced): novox/mesh-catalog#307's head announced - 2026-10-14 21:05 proposed → checked (checked): a verdict names this commit and the trunk's head as its trunk commit - 2026-10-14 21:05 checked → ready (accepted): the gate passed or warned, and the repository's own check did not fail - 2026-10-14 21:06 ready → published (merged): on the trunk its modules follow: merged there, and its walk opened — or nothing for a walk to move - 2026-10-14 21:06 published → delivered (done): nothing for a walk to move The commit's note under `refs/notes/mesh-plan` keeps every transition: `git log --notes=mesh-plan`.
Author
Contributor

Verdict: APPROVE at 3e16c055be
The patch is the one approved locally at 9c34cf12 (same patch-id b5aa4753, merge-check-typescript.sh only), and the checks were run again on this tree (main with #306).

  • merge-check.sh: exit 0.
  • merge-check-typescript.sh, lab: toolchain assembled from the forge, 44 of 44 tests pass.
  • merge-check-typescript.sh, gitea (what #306 changed): 104 of 104 tests pass.
  • merge-check-typescript.sh, showcase: fails as known (TS2724 provisioner, TS2305 tool against SDK 0.1.14), not caused by this change.
  • #306 changes only modules/gitea/token.ts and its test; this change only merge-check-typescript.sh. They touch no common file.
  • While the forge answered HTTP 502 for a few minutes, the script said NOT CHECKED with exit 1, as it should.
Verdict: APPROVE at 3e16c055be8ec4744da084b459ff54aba401a78a The patch is the one approved locally at 9c34cf12 (same patch-id b5aa4753, merge-check-typescript.sh only), and the checks were run again on this tree (main with #306). - merge-check.sh: exit 0. - merge-check-typescript.sh, lab: toolchain assembled from the forge, 44 of 44 tests pass. - merge-check-typescript.sh, gitea (what #306 changed): 104 of 104 tests pass. - merge-check-typescript.sh, showcase: fails as known (TS2724 `provisioner`, TS2305 `tool` against SDK 0.1.14), not caused by this change. - #306 changes only modules/gitea/token.ts and its test; this change only merge-check-typescript.sh. They touch no common file. - While the forge answered HTTP 502 for a few minutes, the script said NOT CHECKED with exit 1, as it should.
mesh-admin merged commit 0f76b6e232 into main 2026-10-14 21:06:32 +00:00
mesh-admin deleted branch 742-ts-toolchain 2026-10-14 21:06:33 +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-catalog#307