verstak-docs/docs/superpowers/plans/2026-06-29-browser-inbox-co...

3.4 KiB

Browser Inbox Conversion Activity Implementation Plan

For agentic workers: REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (- [ ]) syntax for tracking.

Goal: Record Browser Inbox note conversions in Activity through the public browser.capture.converted event.

Architecture: Keep plugins decoupled. Browser Inbox already publishes browser.capture.converted; Activity subscribes to that event through its normal frontend event list and manifest activityProviders contribution.

Tech Stack: Plain JavaScript official plugins, Node smoke test harness, plugin manifest, Markdown docs.

Global Constraints

  • Do not add a direct Browser Inbox to Activity API.
  • Do not move conversion recording into desktop core.
  • Use only public event subscription behavior.
  • Use TDD: write the failing Activity smoke test first, run it red, then implement.

Task 1: Activity Conversion Event Recording

Files:

  • Modify: /home/mirivlad/git/verstak2/verstak-official-plugins/scripts/smoke-activity-plugin.js
  • Modify: /home/mirivlad/git/verstak2/verstak-official-plugins/plugins/activity/frontend/src/index.js
  • Modify: /home/mirivlad/git/verstak2/verstak-official-plugins/plugins/activity/plugin.json

Interfaces:

  • Consumes: browser.capture.converted event payload from Browser Inbox.

  • Produces: stored Activity entry using the existing activity event model.

  • Step 1: Write the failing smoke test

In scripts/smoke-activity-plugin.js, add browser.capture.converted to the required subscription checks and dispatch a workspace-scoped conversion event. Assert it is stored, rendered, and included in worklog suggestion event ids.

  • Step 2: Run RED

Run:

cd /home/mirivlad/git/verstak2/verstak-official-plugins
PATH=/tmp/verstak2-tools:/home/mirivlad/.lmstudio/.internal/utils:$PATH node scripts/smoke-activity-plugin.js

Expected: fails because Activity does not subscribe to browser.capture.converted.

  • Step 3: Implement event subscription

Add browser.capture.converted to ACTIVITY_EVENTS in plugins/activity/frontend/src/index.js and to contributes.activityProviders[0].events in plugins/activity/plugin.json.

  • Step 4: Run GREEN

Run:

cd /home/mirivlad/git/verstak2/verstak-official-plugins
PATH=/tmp/verstak2-tools:/home/mirivlad/.lmstudio/.internal/utils:$PATH node scripts/smoke-activity-plugin.js
PATH=/tmp/verstak2-tools/venv/bin:/tmp/verstak2-tools:/home/mirivlad/.lmstudio/.internal/utils:$PATH ./scripts/check.sh

Expected: both commands exit 0.

Task 2: Roadmap Documentation

Files:

  • Modify: /home/mirivlad/git/verstak2/verstak-docs/05_Official_Plugins.md
  • Modify: /home/mirivlad/git/verstak2/verstak-docs/07_Full_Implementation_Roadmap.md

Interfaces:

  • Consumes verified Activity recording behavior.

  • Produces docs that mark Activity integration for capture conversion complete.

  • Step 1: Update docs

Describe that browser.capture.converted is recorded by Activity and that link/file-specific conversions remain.

  • Step 2: Verify docs

Run:

cd /home/mirivlad/git/verstak2/verstak-docs
git diff --check
rg -n "browser.capture.converted|link/file" 05_Official_Plugins.md 07_Full_Implementation_Roadmap.md

Expected: git diff --check exits 0 and rg shows updated status lines.