Skip to content
This repository was archived by the owner on Jun 8, 2026. It is now read-only.

PLN-821: Ungate local dashboard import from sandbox scoping - #278

Merged
mikeangstadt merged 1 commit into
mainfrom
PLN-821-ungate-local-import
Jun 8, 2026
Merged

PLN-821: Ungate local dashboard import from sandbox scoping#278
mikeangstadt merged 1 commit into
mainfrom
PLN-821-ungate-local-import

Conversation

@mikeangstadt

Copy link
Copy Markdown
Contributor

Summary

  • Remove sandbox-based gating from the local session collection pipeline so all five harness collectors (Claude, Codex, Cursor, Copilot, OpenCode) import sessions into agent-dashboard.sqlite regardless of the configured sandbox directory
  • Preserve sandbox enforcement exclusively on the cloud-sync path in AgentSessionSyncService to maintain data-egress safety
  • Fixes the PR FEA-1407: Add sandbox scoping and transcript sanitization to agent session sync #245 regression where the design-system dashboard appears empty on first launch despite valid local session logs existing

Changes

  • collector-manager.ts — Removed gate() method, isSessionInSandbox import, and getSandboxBaseDirectory option
  • agent-monitor-listener.ts — Removed isSessionInSandbox sandbox check from handleHookEvent() and getSandboxBaseDirectory option
  • agent-dashboard-design-system-runtime.ts — Removed getSandboxBaseDirectory from options interface and pass-through
  • app.ts — Removed getSandboxBaseDirectory from runtime constructor call
  • Tests — Updated sandbox-gating tests to assert ungated import; added regression test confirming sync-service sandbox filter is preserved

Test plan

  • Unit: Updated existing sandbox-gating tests to verify all sessions import regardless of sandbox
  • Unit: Added regression test verifying sync-service isSessionInSandbox filter remains active
  • Integration: just desktop-test passes (2180/2181, 1 pre-existing failure in no-bare-console.test.ts)
  • Manual: Sessions tab shows local sessions after launch with empty sandbox

🤖 Generated with Claude Code

- Remove gate() method and isSessionInSandbox check from
  CollectorManager so all five harness collectors import sessions
  into agent-dashboard.sqlite regardless of sandbox directory
- Remove isSessionInSandbox sandbox check from AgentHookListener
  handleHookEvent() so hook events write to local DB ungated
- Remove getSandboxBaseDirectory from CollectorManagerOptions,
  AgentHookListenerOptions, and AgentDashboardDesignSystemRuntimeOptions
- Preserve sandbox enforcement on cloud-sync path in
  AgentSessionSyncService (unchanged)
- Update tests to assert all sessions import regardless of sandbox
- Add regression test confirming sync-service sandbox filter preserved
- Bump desktop version to 0.15.117

Testing: Ran just desktop-test (2180/2181 pass, 1 pre-existing
failure). Ran specific test files (18/18 pass). Verified typecheck
and lint failures are pre-existing in untracked files.

Risks: More sessions will be written to local DB (intended behavior).
Cloud sync path unchanged — outbound data still sandbox-gated.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mikeangstadt
mikeangstadt requested a review from a team June 8, 2026 03:58

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a7cb10eaef

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread apps/desktop/src/main/agent-monitor-listener.ts
@mikeangstadt
mikeangstadt merged commit 4d5a674 into main Jun 8, 2026
5 checks passed
@mikeangstadt
mikeangstadt deleted the PLN-821-ungate-local-import branch June 8, 2026 05:27
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant