Skip to content

test(cli): guard OpenShell observation consumers - #10570

Closed
rsliter wants to merge 3 commits into
mainfrom
codex/openshell-observer-completion
Closed

test(cli): guard OpenShell observation consumers#10570
rsliter wants to merge 3 commits into
mainfrom
codex/openshell-observer-completion

Conversation

@rsliter

@rsliter rsliter commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

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 list or sandbox get command sites and legacy raw-parser bindings without changing runtime behavior. Each current deferred disposition points to a follow-on capability issue assigned to rsliter.

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

  • Add a TypeScript source audit for production sandbox list and sandbox get argument arrays, named legacy parser imports, namespace bindings, CommonJS bindings, and the remaining parser definitions.
  • Record the exact command and parser-site count, disposition, tracking issue, and reason for every current source file.
  • Fail when a source is unclassified, a classified count changes, a disposition becomes stale, or a source lacks a tracking issue or reason.
  • Register the audit in npm run checks:repository and add negative tests for each failure mode.

The checked-in ledger names every deferred consumer:

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.mts completed with 37 verified dispositions.
  • npx vitest run --project integration test/repository/openshell-sandbox-observation-boundary.test.ts test/repository/checks-runner.test.ts passed 2 files and 19 tests.
  • npm run checks:repository passed with 1,847 files, 5,864 edges, 0 cycles, and exact membership for 2,625 test candidates.
  • npm run build:cli and npm run typecheck:cli passed.
  • Normal pre-commit and commit-message hooks passed for all commits.
  • npm run check passed 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 --check passed.
  • The diff contains no secrets, API keys, or credentials.

Documentation Writer Review

  • Result: no-docs-needed
  • Evidence: Reviewed exact commit dde48cc2a6e2b8d56b7d87aed62e13da83ea3976 against trusted base fa6b2c89eb01e2b27648cfea61208a9897d5fcb4, including the focused Advisor repair and all four changed paths. trackingIssues no 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, and git diff --check; supplied repository checks, CLI build, CLI typecheck, and normal hooks also passed.
  • Agent: Codex Desktop

Review 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

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter rsliter self-assigned this Aug 28, 2026
@copy-pr-bot

copy-pr-bot Bot commented Aug 28, 2026

Copy link
Copy Markdown

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>
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Comment @coderabbitai help to get the list of available commands.

@github-actions

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit dde48cc. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

All previous runs

@rsliter rsliter closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant