93 lines
3.4 KiB
Markdown
93 lines
3.4 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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.
|