π Improve public repository readiness - #8
Conversation
Leverframe reviewβͺ Incremental review completed in 950s
Changes |
There was a problem hiding this comment.
Leverframe review
One low-severity documentation defect found. Review used the repository-pinned pnpm 11.23.0 with Node v24.20.0. The full prescribed quality gate passed, and all changed files were materially inspected.
Findings
1 finding was published inline.
Checks
6 passed Β· 0 failed Β· 0 not run
Show 6 checks
| Status | Check | Evidence |
|---|---|---|
| π’ passed | git diff --check 3169bd993f8492089316aecf6a2c1e6e39dc21ec...a24a70069534d36a72f65283d7780b068ffc39f6 |
No whitespace errors. |
| π’ passed | pnpm install --frozen-lockfile |
Installed 329 packages using repository-pinned pnpm 11.23.0 under Node v24.20.0; lockfile and supply-chain policy verification passed. |
| π’ passed | pnpm check |
Formatting, oxlint/eslint, TypeScript, 11 unit/integration test files with 40 tests, and the Node 24 production build all passed. |
| π’ passed | pnpm dlx yaml --json --single --strict ... | jq ... |
Both issue forms and the issue-template configuration parsed as strict YAML and satisfied their required structural constraints. |
| π’ passed | Local Markdown target check and curl checks for added external URLs |
All local links resolve. The OpenAI tunnel guide, Docker Sandboxes documentation, CI workflow/badge, and badge endpoints responded successfully; the new SECURITY.md link resolves at the reviewed head SHA. |
| π’ passed | pnpm pack --dry-run |
Produced a valid chat2shell@0.2.0 package manifest containing the built CLI and documented package files. |
Limitations
- Docker Sandboxes (
sbx) was unavailable, so the real E2E suite was not run. No sandbox/runtime code changed, and repository guidance assigns this documentation-only change to the normalpnpm checkboundary.
There was a problem hiding this comment.
Leverframe review
Found one medium-severity state-integrity defect. Verification used the CI-selected Node 24 environment: Node v24.20.0, pnpm 11.23.0, npm 11.19.0, and Docker Engine 29.7.2.
Findings
π‘ [MEDIUM] Capacity rejection permanently cancels workspace retention
src/sandbox/service.ts:118 Β· confidence: high
When workspace_id refers to a retained managed workspace, getApproved first changes it to approved and clears retained_until. If another sandbox already fills maxActiveSandboxes, this subsequent admission attempt returns false and throws without restoring the workspace. The failed request therefore leaves no sandbox but makes the managed files ineligible for trashExpired, which only processes retained workspaces, defeating the documented 30-day cleanup policy indefinitely.
Evidence: A focused integration test created and destroyed a managed sandbox, filled the one-sandbox limit with another sandbox, and attempted to recreate the retained workspace. After the expected limit error, the assertion that retention was preserved failed: expected {status: "retained", retainedUntil: <timestamp>} but received {status: "approved", retainedUntil: undefined}.
Suggested action: Do not reactivate a retained workspace until sandbox admission succeeds, or restore its previous retained status and deadline when insertSandboxWithinLimit rejects the creation.
Checks
5 passed Β· 1 failed Β· 1 not run
Show 7 checks
| Status | Check | Evidence |
|---|---|---|
| π’ passed | node --version && pnpm --version && npm --version |
Node v24.20.0, pnpm 11.23.0, and npm 11.19.0; pnpm exactly matches package.json and CI. |
| π’ passed | pnpm install --frozen-lockfile && pnpm check |
Frozen installation passed; formatting, linting, typecheck, 53 unit/integration tests across 13 files, and the Node 24 production build all passed. |
| π΄ failed | pnpm exec vitest run --project integration test/integration/review-retention-limit.test.ts |
The temporary focused regression test reproduced the finding: capacity denial changed the retained workspace to approved and cleared retainedUntil. The temporary test was removed afterward and the worktree was clean. |
| π’ passed | npm pack --dry-run --json && node dist/cli.mjs --version |
The package includes the executable production bundle and reports chat2shell 0.1.0. |
| π’ passed | pnpm release patch --dry-run --ci --verbose |
In an isolated clone with an upstream configured, release-it resolved 0.1.1, invoked stable-version validation, and simulated the bump, commit, tag, and push. |
| π’ passed | git diff --check a24a70069534d36a72f65283d7780b068ffc39f6...447f744fc42497923fd22016f629fe2369bd963d |
No whitespace errors were reported. |
| βͺ not run | pnpm test:e2e |
The repository-required Docker Sandboxes sbx executable is not installed; preflight returned sbx: command not found. |
Limitations
- Real microVM verification of the new
sbx create --memorypath and modified lifecycle E2E test remained unavailable because Docker Sandboxessbxis absent, although Docker Engine 29.7.2 is available.
Summary
Verification
pnpm format:check && pnpm lint && pnpm typecheckβ passed with no lint warnings or errors.vitest run --project unit --project integrationβ 40 tests across 11 files passed.tsdownβ production CLI bundle built successfully.npm packplus a temporary global install β the packagedchat2shell --helpcommand ran successfully.Notes
This change is documentation and repository metadata only; it does not change runtime behavior.