Alpha11 CLI fixtrain integration#160
Conversation
# Conflicts: # packages/cli/src/public/features/init/init-command.ts # packages/cli/src/public/features/root/public-command-dependencies.ts
|
@openhands-agent model=openrouter/qwen/qwen3.7-max provider=openrouter output=pr-comment iterations=1200 use harness You are the IMPL-EVAL evaluator (final, post-implementation pass) for PR #160 — SKILL
What the integration claims (verify, do not trust)
Your evaluation (run from the PR branch on your native Linux env, repo root)
VerdictWrite |
OpenHands Agent — CompletedModel: openrouter/qwen/qwen3.7-max IMPL-EVAL Summary: alpha11-fixtrain Integration (PR #160)Verdict: PASSThe alpha11-fixtrain integration branch is merge-ready. All claimed features from slices A/B/C/E compose correctly, the headline Evaluation Activities
ChangesNo code changes made — evaluation only. Validation
Remaining Risks
Artifacts
Run: https://github.com/rickylabs/netscript/actions/runs/28295719710 |
…realignment (#162) * docs(cli-reference): document alpha.11 init surface — cache + interactive + version Lane D (doc-truth align) commit 1: add the new `netscript init` surface introduced by the alpha.11 fix-train (PR #160) to the scaffold reference. - `--cache` / `--no-cache` (default on) + `--cache-backend redis|garnet|deno-kv` (default redis; redis/garnet are Aspire container resources, deno-kv is app-level/no container). - Interactive-vs-non-interactive callout: TTY prompts for omitted options incl. the two cache questions; `--yes`/`--ci` skip prompts; defaults = Postgres-ready workspace + Redis cache. - `netscript --version` prints the installed CLI version. Grounded against integration/alpha11-fixtrain init-command.ts + cache-backend.ts. Docs-only; lands as a separate docs PR. Refs #141 #153. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * docs(alpha11): replace invalid `aspire run` with `aspire start` across published docs `aspire run` is not a valid Aspire CLI command (the CLI has `aspire start`); Run-1 eye-test blocker F-12 confirmed it orphans the scaffolded AppHost on Windows. Sweeps all 61 published pages (tutorials, capabilities, how-to, explanation, landing, cli-reference) to `aspire start`. Internal `_plan/` worklogs left untouched. 1:1 string swap, no other content change. Refs #141 #153 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * docs(alpha11): pin CLI install/invoke to the alpha release train (F-1) Bare `jsr:@netscript/cli` resolves to JSR `latest`, which is null while the package is prerelease-only — so every unpinned `deno install`/`deno x` in the docs dead-ends at "no matching version" (Run-1 eye-test blocker F-1). Pin all 20 occurrences to the dynamic `{{ releaseSpecifier }}` (= `@<releaseVersion>`, sourced from packages/cli/deno.json), so published docs always show the exact current alpha pin and self-advance on each release bump. Plain fences/prose use `{{ releaseSpecifier }}`; comp-tag JS string args use `" + releaseSpecifier + "` concatenation to avoid nested-`{{}}` parse breaks. Lume build verified green (306 files, exit 0). Refs #141 #153 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * docs(alpha11): realign cache docs to multi-backend capability (redis default) Present the scaffold cache as a multi-backend capability across the site: `redis` is the default backend everywhere; `garnet` and `deno-kv` are first-class alternatives selectable via `--cache-backend`. Garnet is kept only where shown as an explicit alternative backend choice, and real symbols (createGarnetListTransport, Cache.<backend> keys, GARNET_URI/REDIS_URI) are preserved. - 45 docs files realigned (concepts, cli-reference, glossary, explanation/*, capabilities/*, how-to/*, tutorials/*, index/why/quickstart). - aspire-resource-graph diagram: add the default Redis cache resource node and wiring; SVG regenerated (byte-clean, single-diagram delta). - quickstart bare `netscript init` now passes `--db postgres` to match the tutorial stack. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * docs(alpha11): present the database as polyglot (postgres default; mysql/mssql/sqlite via --db) Mirror the cache multi-backend realignment for the database. NetScript scaffolds a Prisma-backed database for four engines chosen at scaffold time with `--db`: postgres | mysql | mssql | sqlite. Postgres stays the recommended default (every tutorial uses `--db postgres`); mysql/mssql/sqlite are first-class alternatives. postgres/mysql/mssql provision an Aspire container resource; sqlite is file-backed with no container. This is enrichment, not replacement: wherever the docs presented Postgres as the sole app database (monolithic framing), add concise polyglot framing or — on the anchor pages (database, cli-reference, glossary, use-a-second-database, database-migration) — a richer backend/--db passage with the sqlite no-container caveat. Tutorials keep every `--db postgres` command verbatim and gain one swap-engine note near the first scaffold step. Rule-C kept untouched (engine-specific by design, not the app-DB-engine choice): Postgres-as-subsystem backends (queue provider FOR UPDATE SKIP LOCKED / advisory locks, saga/durable stores), connection-string mechanics (DATABASE_URL / POSTGRES_URI), Prisma provider literals, engine-specific paths, and the runtime second-datasource adapter barrel (which ships postgres/mssql/mysql only — no sqlite adapter was fabricated). - 27 docs files realigned (capabilities/*, cli-reference, glossary, explanation/*, how-to/*, tutorials/*, concepts/index/why/quickstart). - Lume build: green (306 files). No diagram sources changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * docs(alpha11): note Prisma-backed subsystems follow the scaffolded DB engine (not Postgres-only) A file-grounded subsystem audit showed the saga `prisma` store and the better-auth backend are NOT Postgres-specific — both persist through the project's Prisma client, so they follow whichever engine was scaffolded with `--db` (Postgres by default; mysql / mssql / sqlite all work). The docs presented them as "Postgres" stores, implying a hard coupling that does not exist. Add concise polyglot framing at the definitional points only: - capabilities/durable-sagas.md — `prisma` store backend + trait-matrix row. - explanation/durability-model.md — `prisma` store row + "choosing kv vs prisma". - capabilities/auth.md — better-auth tables provisioning note. - how-to/add-authentication.md — auth.prisma aggregation line + table caption. Deliberately left unchanged (genuinely engine-specific, per the same audit): - The queue PostgreSQL provider — hard-tied to Postgres (`FOR UPDATE SKIP LOCKED`, `JSONB`, `TIMESTAMPTZ`, raw `$N` SQL); a polyglot queue is real engineering (SQLite infeasible) and is tracked as backlog, not a doc framing. - The durable-streams service's Postgres/Redis dependency line (service infra, accurate by default). Lume build: green (306 files). No diagram sources changed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct * chore(openhands): record run trace 28300391133-1 --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: OpenHands Bot <openhands@all-hands.dev>
Summary
Integrates alpha11 slices A, B, E, then C onto
main, resolving the init/root dependency conflict by preserving A's derived version and dry-run filesystem path plus C's cache flags, prompt port, and interactive init resolver.Scope
integration/alpha11-fixtrainSlices
27f9e5bd, slice commits383cc40a,c3f1e12c0cab8e7c, slice commitse527c8fa,9494a11400939065, slice commits92c0468b,72d5b62ee71919f2, slice commits12a050d6,700fdd6e54d6b6bf,ada0fd52Validation
deno ci— PASSdeno task check— PASS, 1,741 files / 15 batches / 0 diagnosticsdeno task lint— PASS, 1,214 files / 0 diagnosticsdeno task fmt:check— PASS, 1,302 files / 0 findingsdeno task deps:check— PASS after internal JSR range normalization; existing npm catalog warnings remain non-blockingdeno task arch:check— PASS with existing doctrine warnings onlydeno task --cwd packages/cli check— PASSdeno task test— PASS, 902 passed / 382 steps / 0 failed / 12 ignoreddeno task publish:dry-run— PASS, dry run complete; existing slow-type/dynamic-import warnings remaindeno task audit:critical— PASS, 0 critical advisoriesdeno task check:scaffold-versions— PASS, 10 stable scaffold pinsdeno task check:assets-barrel— PASS, no generated asset diffdeno task coverage:functions— PASS, 4 tests passed; report written for 245 exported symbolsdeno task e2e:cli run scaffold.runtime --cleanup --format pretty— PASS from native WSL worktree, 48 passed / 0 failedgit diff --check origin/main...HEAD— PASSHarness
.llm/tmp/run/alpha11-fixtrain--a/,--b/,--e/,--c/Drift / Debt
.llm/harness/debt/arch-debt.md..llm/tmp/run/openhands/**/request.md; they were left unstaged and are not part of this PR.