test(cli): guard OpenShell observation consumers - #10570
Closed
rsliter wants to merge 3 commits into
Closed
Conversation
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
|
Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually. Contributors can view more details about this message here. |
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueComment |
Contributor
|
PR Review Advisor finished for commit |
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.
Outcome
The repository now rejects any new or changed production OpenShell sandbox observation path unless it uses the typed adapter or has a checked-in follow-up disposition. The check classifies all 37 current direct
sandbox listorsandbox getcommand sites and legacy raw-parser bindings without changing runtime behavior. Each current deferred disposition points to a follow-on capability issue assigned torsliter.Reason
PR #10132 established the typed sandbox observer, but PR #10537 later found another production liveness consumer that still built CLI arguments and interpreted raw output. Issue #9803 now permits partial delivery only when every deferred consumer is named and owned. A checked-in repository guard makes that rule executable and prevents another consumer from silently bypassing the adapter seam.
Related issues
Partial #9803
Depends on #10537
Relates to #9805, #9807, #9811, #9812, #9813, and #10514
Changes
sandbox listandsandbox getargument arrays, named legacy parser imports, namespace bindings, CommonJS bindings, and the remaining parser definitions.npm run checks:repositoryand add negative tests for each failure mode.The checked-in ledger names every deferred consumer:
src/lib/shields/index.ts.src/lib/actions/sandbox/destroy-gateway-cleanup.ts,src/lib/actions/sandbox/doctor.ts,src/lib/actions/sandbox/gateway-state.ts,src/lib/domain/sandbox/destroy.ts,src/lib/runtime-recovery.ts, andsrc/lib/state/gateway.ts.src/lib/actions/sandbox/destroy-preflight.ts,rebuild-destroy-phase.ts,snapshot.ts,stop.ts, andvm-dns-monkeypatch.ts;src/lib/actions/uninstall/run-plan.ts;src/lib/onboard.ts; the Docker GPU patch, create, and reconnect helpers; Hermes portable lifecycle and onboarding; managed bootstrap; runtime-provider snapshots; sandbox create, GPU create, lifecycle, readiness tracing, recreate, and reuse helpers; andsrc/lib/runtime-recovery.ts.src/commands/debug.ts,src/lib/diagnostics/debug.ts, andsrc/lib/onboard/docker-gpu-patch-diagnostics.ts. PR refactor(debug): use typed sandbox observer #10537 owns the debug liveness migration.nemoclaw/src/blueprint/runner.ts.The OpenShell client, gateway-drift, policy-authority, sandbox-identity, and sandbox-observer CLI files are classified as adapter-owned boundaries rather than deferred consumers.
Verification
node_modules/.bin/tsx scripts/checks/openshell-sandbox-observation-boundary.mtscompleted with 37 verified dispositions.npx vitest run --project integration test/repository/openshell-sandbox-observation-boundary.test.ts test/repository/checks-runner.test.tspassed 2 files and 19 tests.npm run checks:repositorypassed with 1,847 files, 5,864 edges, 0 cycles, and exact membership for 2,625 test candidates.npm run build:cliandnpm run typecheck:clipassed.npm run checkpassed all relevant repository, formatting, lint, secret-scan, and architecture hooks, then stopped at existing all-files Hadolint warnings in unchanged Dockerfiles. This diff changes no Dockerfile.git diff --checkpassed.Documentation Writer Review
no-docs-neededdde48cc2a6e2b8d56b7d87aed62e13da83ea3976against trusted basefa6b2c89eb01e2b27648cfea61208a9897d5fcb4, including the focused Advisor repair and all four changed paths.trackingIssuesno longer claims the local ledger proves GitHub ownership, and the diagnostic now states both the assigned-owner requirement and the check's local limit. This changes repository enforcement only and does not change a public command, option, output, configuration, supported workflow, or security boundary. Independent validation passed the exact audit, 2 focused integration files and 19 tests, andgit diff --check; supplied repository checks, CLI build, CLI typecheck, and normal hooks also passed.Codex DesktopReview notes
This PR remains draft until #10537 merges. After that merge, the stale debug disposition must be removed and the exact audit, tests, and documentation review rerun on the updated base.
Signed-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com