From 3e6dcfa41ee88ad815cd9524d54e3eed6f8c2328 Mon Sep 17 00:00:00 2001 From: Harshit Singh Bhandari Date: Mon, 21 Sep 2026 23:19:41 +0530 Subject: [PATCH 1/2] chore: pin pages 6e2be4e, release 1.0.0 --- ALAB-CLI-VERIFY.md | 67 +++++++++++++++++++++++++++++++++++++++++ docs/spec.md | 2 +- package.json | 2 +- pins.json | 2 +- scripts/smoke-binary.sh | 2 +- tests/router.test.ts | 2 +- vendor/pages | 2 +- 7 files changed, 73 insertions(+), 6 deletions(-) create mode 100644 ALAB-CLI-VERIFY.md diff --git a/ALAB-CLI-VERIFY.md b/ALAB-CLI-VERIFY.md new file mode 100644 index 0000000..289158a --- /dev/null +++ b/ALAB-CLI-VERIFY.md @@ -0,0 +1,67 @@ +# ALAB-CLI-VERIFY + +Pipeline verification for `agentlab-in/alab-cli` at main `e56ffee` +(merge of PR #5, review integration). Verification only. Nothing here +authorizes a merge, an npm publish, or a release. This file is uncommitted +by intent. + +Date: 2026-09-21. Runner: macOS arm64, Bun 1.3.10. + +## 1. CI: PASS + +Workflow `.github/workflows/ci.yml` (plus an untouched `release.yml`): + +- One `verify` job, matrix of 4 platforms: + ubuntu-latest (bun-linux-x64), ubuntu-24.04-arm (bun-linux-arm64), + macos-14 (bun-darwin-arm64), macos-15-intel (bun-darwin-x64). +- Steps per platform: checkout with submodules, setup-bun 1.3.10, + `bun install --frozen-lockfile`, `bun run verify:pins`, `bun run test`, + compile `dist/alab`, `bun run test:binary`, upload artifact. +- Latest main run: https://github.com/agentlab-in/alab-cli/actions/runs/35503469718 + (push of PR #5 merge, success on all 4 platforms, 28s). + +## 2. Local pipeline: PASS + +From a clean clone at `e56ffee` with submodules initialized: + +| Step | Result | +| --- | --- | +| `bun install --frozen-lockfile` | PASS, no changes (6 installs across 7 packages) | +| `bun run verify:pins` | PASS, pages 3.0.0 and review 0.1.0 lines printed | +| `bun run test` | PASS, 6 pass / 0 fail, 20 expect calls | +| `bun run build` | PASS, 47 modules bundled, `dist/alab` compiled | +| `bun run test:binary` | PASS, compiled binary smoke test passed | + +## 3. Binary surface: PASS + +Built `./dist/alab` on this machine: + +- `alab --help` lists Tools `pages` and `review`, plus + `alab pages --help` and `alab review --help` commands. +- `alab pages --help` shows `Usage: alab pages [options] [command]` + with setup, put, remove, read, list, open, info. +- `alab review --help` shows `Usage: alab review [options] [command]` + with start, list, remove, cleanup. +- `alab put` (top level) fails exact: + `Error: unknown tool 'put'. Run 'alab --help'.` exit 1. + No top-level tool commands leak out of their mounts. + +## 4. Pins vs GitHub main: NO DRIFT + +| Tool | Pin in pins.json | GitHub main | Relation | +| --- | --- | --- | --- | +| pages | 887e73f (3.0.0) | 20203fdf | Pin is an ancestor of main; main moved ahead at the PR #3 merge. On-history, no action. | +| review | 94650db (0.1.0) | 02318e6 | Pin is main plus 1 commit: the `createReviewCommand` export on branch `mountable-review-command`. Exactly the designed pin. No action. | + +## 5. Live `alab review` smoke: PASS + +With isolated `ALAB_HOME`, served a scratch fixture on port 4410: + +- Server printed project id `7qtmc5e7` and URL, blocked in background. +- `GET /` contained the overlay marker; disk HTML untouched. +- `POST /__alab/comments` returned `c1`; `alab review list` + read it back from `.alab/review.json`. +- Server killed (`pkill -f "dist/alab review start"`), loopback + refused connections afterwards, scratch dir removed. + +## Result: PASS on all 5 steps. diff --git a/docs/spec.md b/docs/spec.md index 8533613..c79c0ad 100644 --- a/docs/spec.md +++ b/docs/spec.md @@ -7,7 +7,7 @@ Distribute one `alab` executable per supported operating system and CPU. The exe ## Decisions - Bun compile produces native executables and is used only in development and CI. -- Pages v3.0.0 plus its side-effect-free integration entry point is pinned as a Git submodule at commit `887e73f189c192423fd9f897730b06417fa82362`. +- Pages v3.0.0 plus its side-effect-free integration entry point is pinned as a Git submodule at commit `6e2be4e2040467d497aa9367e4d24f7b32d572d4`. - Runtime dependencies are exact versions in `package.json` and `bun.lock`. - Pages executes in-process. Arguments and process streams remain unchanged. Its rejection reaches one top-level error handler and sets exit code 1. - `alab --version` reports the router version and every integrated tool version and SHA. diff --git a/package.json b/package.json index f0edcd5..32622a0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@agentlab/alab-cli", - "version": "0.1.0", + "version": "1.0.0", "private": true, "type": "module", "scripts": { diff --git a/pins.json b/pins.json index c55665a..972026f 100644 --- a/pins.json +++ b/pins.json @@ -2,7 +2,7 @@ "pages": { "version": "3.0.0", "repository": "https://github.com/agentlab-in/pages.git", - "commit": "887e73f189c192423fd9f897730b06417fa82362", + "commit": "6e2be4e2040467d497aa9367e4d24f7b32d572d4", "packageSha256": "0b4296a0d930002ed0a3cc36c7316501d272d1400576dc7a8e25719714e9dd0b" }, "review": { diff --git a/scripts/smoke-binary.sh b/scripts/smoke-binary.sh index 6fc2c8a..2955f89 100644 --- a/scripts/smoke-binary.sh +++ b/scripts/smoke-binary.sh @@ -36,7 +36,7 @@ assert_json() { capture --version assert_success -[[ "$stdout" == $'alab 0.1.0\npages 3.0.0 (887e73f189c192423fd9f897730b06417fa82362)\nreview 0.1.0 (94650db26a44d21f5b3d9cbf1714a11607c21405)' ]] +[[ "$stdout" == $'alab 1.0.0\npages 3.0.0 (6e2be4e2040467d497aa9367e4d24f7b32d572d4)\nreview 0.1.0 (94650db26a44d21f5b3d9cbf1714a11607c21405)' ]] capture pages --help assert_success diff --git a/tests/router.test.ts b/tests/router.test.ts index d784132..ae5ce1c 100644 --- a/tests/router.test.ts +++ b/tests/router.test.ts @@ -13,7 +13,7 @@ function run(args: string[]) { describe("Alab router", () => { test("reports combined and pinned tool versions", () => { - expect(versionText()).toBe(`alab 0.1.0\npages 3.0.0 (${pins.pages.commit})\nreview 0.1.0 (${pins.review.commit})`); + expect(versionText()).toBe(`alab 1.0.0\npages 3.0.0 (${pins.pages.commit})\nreview 0.1.0 (${pins.review.commit})`); }); test("routes Pages help with exact successful streams", () => { diff --git a/vendor/pages b/vendor/pages index 887e73f..6e2be4e 160000 --- a/vendor/pages +++ b/vendor/pages @@ -1 +1 @@ -Subproject commit 887e73f189c192423fd9f897730b06417fa82362 +Subproject commit 6e2be4e2040467d497aa9367e4d24f7b32d572d4 From e544d0a57fa5c5b278d1194b46734997c6cb8874 Mon Sep 17 00:00:00 2001 From: Harshit Singh Bhandari Date: Mon, 21 Sep 2026 23:20:59 +0530 Subject: [PATCH 2/2] chore: keep verification notes untracked --- ALAB-CLI-VERIFY.md | 67 ---------------------------------------------- 1 file changed, 67 deletions(-) delete mode 100644 ALAB-CLI-VERIFY.md diff --git a/ALAB-CLI-VERIFY.md b/ALAB-CLI-VERIFY.md deleted file mode 100644 index 289158a..0000000 --- a/ALAB-CLI-VERIFY.md +++ /dev/null @@ -1,67 +0,0 @@ -# ALAB-CLI-VERIFY - -Pipeline verification for `agentlab-in/alab-cli` at main `e56ffee` -(merge of PR #5, review integration). Verification only. Nothing here -authorizes a merge, an npm publish, or a release. This file is uncommitted -by intent. - -Date: 2026-09-21. Runner: macOS arm64, Bun 1.3.10. - -## 1. CI: PASS - -Workflow `.github/workflows/ci.yml` (plus an untouched `release.yml`): - -- One `verify` job, matrix of 4 platforms: - ubuntu-latest (bun-linux-x64), ubuntu-24.04-arm (bun-linux-arm64), - macos-14 (bun-darwin-arm64), macos-15-intel (bun-darwin-x64). -- Steps per platform: checkout with submodules, setup-bun 1.3.10, - `bun install --frozen-lockfile`, `bun run verify:pins`, `bun run test`, - compile `dist/alab`, `bun run test:binary`, upload artifact. -- Latest main run: https://github.com/agentlab-in/alab-cli/actions/runs/35503469718 - (push of PR #5 merge, success on all 4 platforms, 28s). - -## 2. Local pipeline: PASS - -From a clean clone at `e56ffee` with submodules initialized: - -| Step | Result | -| --- | --- | -| `bun install --frozen-lockfile` | PASS, no changes (6 installs across 7 packages) | -| `bun run verify:pins` | PASS, pages 3.0.0 and review 0.1.0 lines printed | -| `bun run test` | PASS, 6 pass / 0 fail, 20 expect calls | -| `bun run build` | PASS, 47 modules bundled, `dist/alab` compiled | -| `bun run test:binary` | PASS, compiled binary smoke test passed | - -## 3. Binary surface: PASS - -Built `./dist/alab` on this machine: - -- `alab --help` lists Tools `pages` and `review`, plus - `alab pages --help` and `alab review --help` commands. -- `alab pages --help` shows `Usage: alab pages [options] [command]` - with setup, put, remove, read, list, open, info. -- `alab review --help` shows `Usage: alab review [options] [command]` - with start, list, remove, cleanup. -- `alab put` (top level) fails exact: - `Error: unknown tool 'put'. Run 'alab --help'.` exit 1. - No top-level tool commands leak out of their mounts. - -## 4. Pins vs GitHub main: NO DRIFT - -| Tool | Pin in pins.json | GitHub main | Relation | -| --- | --- | --- | --- | -| pages | 887e73f (3.0.0) | 20203fdf | Pin is an ancestor of main; main moved ahead at the PR #3 merge. On-history, no action. | -| review | 94650db (0.1.0) | 02318e6 | Pin is main plus 1 commit: the `createReviewCommand` export on branch `mountable-review-command`. Exactly the designed pin. No action. | - -## 5. Live `alab review` smoke: PASS - -With isolated `ALAB_HOME`, served a scratch fixture on port 4410: - -- Server printed project id `7qtmc5e7` and URL, blocked in background. -- `GET /` contained the overlay marker; disk HTML untouched. -- `POST /__alab/comments` returned `c1`; `alab review list` - read it back from `.alab/review.json`. -- Server killed (`pkill -f "dist/alab review start"`), loopback - refused connections afterwards, scratch dir removed. - -## Result: PASS on all 5 steps.