fix(cli): make prod CLI plugin path usable + prod-local e2e suite (alpha.5)#136
Merged
Conversation
…ests (fix check-test drift)
rickylabs
added a commit
that referenced
this pull request
Jun 26, 2026
Bump all 32 workspace members + cross-member jsr: import ranges from 0.0.1-alpha.4 to 0.0.1-alpha.5 via deno bump-version, plus the two wrapper-skipped manual edits (workspace-root deno.json version and the deno.lock @netscript/* range mirror). Unreleased substance since alpha.4: prod CLI usability (#136), JSR-safe asset embedding (#135), plugin-copy opt-out gate (#133), codex-watch (#134). Claude-Session: https://claude.ai/code/session_014gW4zfhMMQU6txC828ijct Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Makes the production CLI path actually usable and adds a prod-local e2e suite that proves it. This is an alpha.5 prod blocker: previously
netscript plugin add <name>was broken for every published-CLI user (it shelled out todeno dx, an invalid Deno 2.9 subcommand), and prod-mode scaffolding was missing first-party plugin dependencies, so a scaffolded prod project could not resolve sagas/streams/workers.This branch was built as a daemon-attached WSL Codex slice and is not self-certified — it is opened for IMPL-EVAL.
Changes (by slice)
test(cli): add prod-local e2e harness(45dab648) — newe2e:cli:prodtask,.github/workflows/e2e-cli-prod-local.yml, andpackages/cli/e2e/...prod-mode gates. The prod gate scaffolds via the local public bin but resolves@netscript/*from published JSR, exercising the real prod import surface (which maintainer/local mode never did).fix(cli): dispatch plugin verbs with deno x(c159ceb7) —dispatch-plugin-verb.tsnow usesdeno x -A jsr:<pkg>/cli <verb>(the correct Deno 2.9 npx-equivalent), replacing the invaliddeno dx. Updated unit test,public-api.tsJSDoc, and the two docs refs (reference/cli,reference/streams). Also normalizes non-jsr:CLI entrypoints againstproject.repoRootin the e2e gate factory (the prod gate was passing a relative CLI path that failed outside the workspace builder).fix(cli): wire prod plugin dependencies(8d854a50) — adds the missing prod import-map/dependency entries for copied official plugin workspaces (streams@durable-streams/server, worker@netscript/cron), generated worker runtime loading for.netscript/generated/plugin-workers/jobs.registry.ts, and AspireGARNET_URI/REDIS_URIwiring so KV-backed queues/background processors use the shared Garnet resource instead of process-local fallback state. Includes the matchingdeno.lockdelta.chore(harness): record prod-local evidence(3441d2cf) — run worklog.Validation (raw, from worklog)
packages/cli/plugins/workers/plugins/streamse2e:cli:prodscaffold.runtimedeno.lockdelta — read thisThe lock change is workspace dependency-membership only for
plugins/{auth,sagas,streams,triggers,workers}— it completes those members' declared@netscript/*(alpha.4) and@orpc/*/@durable-streams/*dependency lists. The author verified no package version re-resolution churn; the lock updated naturally via Deno resolution (no hand-edit, no--reload). This was supervisor-approved as legitimate prod dependency resolution. (It also suggestsmain's lock is missing these memberships — relates to the lock-hygiene task.)Caveats for IMPL-EVAL
addverb.deno run jsr:@netscript/plugin-workers@0.0.1-alpha.4/cli add→Unknown command: add. The prod e2e exercises the dispatch mechanism + the copied-source plugin path; a true end-to-enddeno x jsr:...@cli addagainst the registry closes only when alpha.5 republishes the plugins with theaddverb. The dispatch fix here is correct and necessary; the published-verb gap is a release-train dependency, not a defect in this PR.--minimum-dependency-age=0is not threaded to nested plugin dispatch (only the top-level CLI runner). Once the published pluginaddverb exists, nesteddeno xdispatch of a just-published package may need that flag or the dependency-age policy could block it. Forward-looking note.Unrelated drift left untouched
Six pre-existing OpenHands line-ending-drift files (
.llm/tmp/run/openhands/pr-{17,25,32,35,37}/...) were intentionally not staged.🤖 Generated with Claude Code