Skip to content

Run the interactive smoke gate for PR #49 (plugin runtime) #51

Description

@adbarc92

Draft PR #49 is code-complete and merges conflict-free. All three automated gates were re-verified against current main on 2026-08-09 — cargo test 28 passed, npm test 133 passed (18 files), npm run check 0 errors / 0 warnings (352 files). The only thing blocking merge is the interactive smoke, which needs a watched GUI session and cannot be asserted headlessly.

Before you start

  • Free port 8080. A java process (pid 18576 at time of writing) holds it. The Audience app-plugin health-probes http://localhost:8080/health; with something else bound there an AUDIENCE failure is inconclusive, not a real fail.
  • Start Docker. The Audience manifest is a managed-lifecycle plugin: it runs docker compose -f docker-compose.prod.yml build against D:/MajorProjects/CURRENT/audience with a 20-minute timeout. Budget the time; a long wait is not a hang.

Checklist

Full version in spikes/SPIKE-RESULTS.md under "REMAINING HUMAN GATE", plus spikes/SPIKE-RESULTS-app-plugins.md for the P3 gates.

Dev run (npm run desktop, with CC_VIEW_PLUGINS_DEV, CC_PLUGIN_SDK, CC_APP_PLUGINS_DEV set):

  1. Switcher shows FLEET / PROJECTS / REFERENCE / AUDIENCE
  2. Fleet ops grid unchanged — this PR rewrites App.svelte's content region; a regression here is the costliest outcome
  3. REFERENCE renders in a sandboxed iframe; plugin-helloready completes
  4. A policed launch round-trips; the command-ack rejection path fires; plugin makes no network requests
  5. AUDIENCE shows a native webview over the reserved rect
  6. Rect stays glued on resize / maximize / restore
  7. Park-on-overlay — stage a real launch; webview parks off-screen, overlay is unobstructed, webview restores alive (not reloaded)
  8. No orphaned webview switching AUDIENCE→FLEET→AUDIENCE; Fleet state preserved
  9. Gate 5 — quit the cockpit entirely, then docker ps is clean. Also no orphaned fleetd-serve on :8787, no stray Vite on :5173
  10. Vite HMR still works under the new host CSP

Packaged run (npm run bundle, run the .exe directly): repeat 1, 3, 5, 7, 9. This is the only way to prove ccplugin:// resolves from packaged resources rather than dev roots.

Load-bearing

If 2, 7, 9, or the packaged run fail, keep #49 draft. Record PASS/FAIL in spikes/SPIKE-RESULTS.md, then mark ready.

Note item 9 (Gate 5) was never closed by the P3 spike and is tracked separately — see the P3 provenance note in #49.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions