Skip to content

feat: oat-brainstorm visual companion — Superpowers v6 security & resilience parity - #125

Open
tkstang wants to merge 23 commits into
mainfrom
parity-check
Open

feat: oat-brainstorm visual companion — Superpowers v6 security & resilience parity#125
tkstang wants to merge 23 commits into
mainfrom
parity-check

Conversation

@tkstang

@tkstang tkstang commented Jul 3, 2026

Copy link
Copy Markdown

feat: oat-brainstorm visual companion — Superpowers v6 security & resilience parity

Summary

Brings OAT's oat-brainstorm visual companion bundle to Superpowers v6.0.3 security, resilience, and lifecycle parity while preserving OAT's persistence paths (.oat/brainstorm/), neutral branding, and conditional-offer skill semantics. The local web companion gains session-key auth on HTTP + WebSocket, a sandboxed /files/ server (traversal / dotfile / symlink rejection) with security headers, a resilient reconnecting client, restart-safe port/token reuse, a configurable idle timeout, and an instance-verified stop path. Quick-mode project: 4 phases, 9 tasks, all reviewed (final review passed, 0 Critical / 0 Important).

Goals / Non-Goals

Goals (from discovery.md):

  • Adopt the v6.0.3 visual-companion security model (session-key auth, file-serving sandbox, security headers) and resilience features (reconnect/overlay), which close real local exposure and match how agents use long brainstorm sessions.
  • Keep OAT-specific behavior: three-tier persistence resolution, .oat/brainstorm/ paths, Activation Contract, pack-aware conditional offer, neutral branding.

Non-Goals: Superpowers SDD / writing-plans / subagent-driven-development / harness bootstraps; replacing OAT's destination model; live dogfooding (tracked separately as bl-7d5b).

Changes

  • p01 — port the v6 bundle (.agents/skills/oat-brainstorm/scripts/): server.cjs (session-key auth on HTTP+WS, /files/ sandbox, security headers, WS max-frame guard, BRAINSTORM_PORT_FILE, BRAINSTORM_IDLE_TIMEOUT_MS, --open); helper.js + frame-template.html (backoff reconnect, status pill, paused/tombstone overlay, keyed reload, "OAT Brainstorm" rebrand); start-server.sh (three-tier OAT persistence, --idle-timeout-minutes→ms, umask 077, server-instance-id); stop-server.sh (instance-ID guard, server-stopped marker).
  • p02 — docs: references/visual-companion.md + SKILL.md step 3 document keyed URL, --open, restart reuse, and 4h idle; SKILL.md version 1.1.0 → 1.2.0. Activation Contract untouched.
  • p03 — tests + release: 5 new smoke tests (auth/headers, /files/ traversal + dotfile + symlink 4xx, restart port+key reuse, stop-server stale-instance guard); NOTICES.md → v6.0.3 adapted-port provenance; lockstep bump of all 5 public packages to 0.1.34; provider-view sync (no drift); pnpm release:validate passes.
  • p04 — optional docs touchpoint: assessed and skipped (no user-facing doc delta; tool-packs.md already defers to the updated reference doc).

Deliberate deviation: OAT's .indicator-bar selection-summary UI was retained alongside the new v6 status pill (upstream v6 removed it; the plan only asked to add v6 resilience + rebrand). Details in implementation.md → Deviations.

Verification

  • Smoke tests: 10/10 pass (packages/cli/src/integration/visual-companion-smoke.test.ts). The /files/ traversal, dotfile, and symlink assertions were RED/GREEN-proven load-bearing during review (they fail when the server guard is removed).
  • Release gate: pnpm release:validate passes (5 public packages @ 0.1.34).
  • Also green: pnpm oat:validate-skills, pnpm type-check, pnpm lint.
  • Live exercise: implementer + reviewers independently ran start → curl (unauth 403 / authed 200 + headers / traversal+dotfile+symlink 4xx) → restart (port+key reuse) → stop (stale-PID guard fails closed), with clean teardown.

Reviews

All reviews ran via fresh-context subagents (Tier 1, ceiling sonnet). From plan.md ## Reviews:

Scope Status Notes
plan (artifact, 2 cycles) fixes_completed symlink test → p03-t01; provider sync → p03-t02
p01 passed 0C/0I/2m
p02 passed 0C/0I/1m
p03 passed 1I/1M (vacuous traversal/dotfile test + restart key-reuse) fixed, re-review pass
p04 passed no-op skip (no diff)
final passed 0C/0I/4m — SC#1–SC#7 all implemented (live-verified); 4 minors accept-deferred with rationale

Reduced-assurance note

Quick-mode project — no spec.md/design.md. Requirements are captured in discovery.md (Success Criteria SC#1–SC#7), which the final review verified as fully implemented.

References

tkstang and others added 23 commits July 4, 2026 06:57
…anion-v6

Capture Superpowers v6.0.3 visual companion parity scope and a 9-task
sequential implementation plan for the oat-brainstorm bundled server.

Co-authored-by: Cursor <cursoragent@cursor.com>
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