diff --git a/docs/BACKLOG.md b/docs/BACKLOG.md index 2dbc4926c3..e831b649bc 100644 --- a/docs/BACKLOG.md +++ b/docs/BACKLOG.md @@ -766,5 +766,6 @@ are closed (status: closed in frontmatter)._ - [ ] **[B-0653](backlog/P3/B-0653-persistent-bayesian-integrator-continuous-health-monitor-aaron-mika-2026-05-18.md)** Persistent Bayesian integrator continuous health monitor — always-on invariant-health watcher + auto-overcorrect trigger (Aaron + Mika 2026-05-18 LOCKED-IN) - [x] **[B-0663](backlog/P3/B-0663-frontmatter-lint-tool-mechanizes-batch-7-recurring-reviewer-findings-otto-cli-2026-05-18.md)** tools/backlog/lint-frontmatter.ts — pre-push frontmatter discipline lint that mechanizes batch-7 recurring reviewer findings (Otto-CLI 2026-05-18) - [ ] **[B-0686](backlog/P3/B-0686-tick-shard-immutability-ci-gate-2026-05-21.md)** Tick-shard immutability CI gate — block PRs modifying historical shards after grace period +- [ ] **[B-0689](backlog/P3/B-0689-otto-vscode-surface-sender-ids-extension-bootstream-2026-05-21.md)** Otto-VSCode third foreground surface — add otto-vscode to SENDER_IDS + canonical cold-boot bootstream at docs/launch/ diff --git a/docs/backlog/P3/B-0689-otto-vscode-surface-sender-ids-extension-bootstream-2026-05-21.md b/docs/backlog/P3/B-0689-otto-vscode-surface-sender-ids-extension-bootstream-2026-05-21.md new file mode 100644 index 0000000000..6275dc8fbc --- /dev/null +++ b/docs/backlog/P3/B-0689-otto-vscode-surface-sender-ids-extension-bootstream-2026-05-21.md @@ -0,0 +1,87 @@ +--- +id: B-0689 +priority: P3 +status: open +title: Otto-VSCode third foreground surface — add otto-vscode to SENDER_IDS + canonical cold-boot bootstream at docs/launch/ +tier: operational +effort: S +ask: aaron 2026-05-21 (VSCode auto-mode + remembered web conversation mode enabled) +created: 2026-05-21 +last_updated: 2026-05-21 +depends_on: [] +composes_with: [B-0400] +tags: [otto-vscode, multi-surface-coordination, sender-ids-extension, bootstream, claim-acquire, split-brain-prevention] +type: operational +--- + +# Otto-VSCode third foreground surface — SENDER_IDS extension + cold-boot bootstream + +## Context + +Aaron 2026-05-21: VSCode just enabled auto-mode + web-conversation-mode-that-can-be-remembered. This makes VSCode a viable third foreground surface for Otto (alongside Otto-CLI in tmux + Otto-Desktop in Claude Desktop). + +Per `.claude/rules/claim-acquire-before-worktree-work.md`: when multiple instances of the same agent share git + bus on one machine, `--from` must differ for the claim-coordinator (`tools/bus/claim.ts`, B-0400 slice 3) to prevent split-brain. PR #3037 (2026-05-13) extended SENDER_IDS with surface-tagged variants — `otto-cli`, `otto-desktop`, etc. The same extension is needed for `otto-vscode` to prevent split-brain when the VSCode surface claims backlog rows alongside the other two Otto surfaces. + +## Scope (small + bounded) + +### 1. Add `otto-vscode` to SENDER_IDS + +Extend `tools/bus/claim.ts` (and any sibling registry; check `tools/bus/*` for the canonical SENDER_IDS const). Should be a 1-line addition matching the existing `otto-cli` / `otto-desktop` pattern. + +### 2. Canonical cold-boot bootstream + +Land `docs/launch/2026-05-21-otto-vscode-bootstream.md` with the cold-boot prompt for the VSCode surface. Mirrors: + +- `docs/launch/2026-05-13-otto-claude-desktop-bootstream-tight.md` (Otto-Desktop bootstream from PR #3030) +- The substrate Aaron forwarded 2026-05-21 in conversation (drafted by Otto-CLI, ready to commit) + +Content includes: + +- Cold-boot bootstream order (CLAUDE.md → AGENTS.md → ALIGNMENT.md → VISION.md) +- Auto-loaded rule reference list (`.claude/rules/*.md`) +- Surface identity (otto-vscode sender ID for claim-acquire) +- Peer-surface awareness (otto-cli + otto-desktop + otto-vscode) +- Auto-mode + remembered-web-conversation operational discipline +- First 3 actions: git log orient + CronList sentinel check + read CLAUDE.md + +### 3. Update agent-roster-reference-card + +Add `Otto-VSCode` as a third Otto surface row (alongside Otto-CLI + Otto-Desktop). Note auto-mode + remembered-conversation features. Update common-confusion-patterns section if needed. + +## Acceptance + +- [ ] `tools/bus/claim.ts` SENDER_IDS includes `otto-vscode`; existing `otto-cli`/`otto-desktop` tests still pass +- [ ] `docs/launch/2026-05-21-otto-vscode-bootstream.md` lands with the canonical cold-boot prompt +- [ ] `.claude/rules/agent-roster-reference-card.md` updated with the third Otto surface row +- [ ] Empirical: Otto on VSCode can run `bun tools/bus/claim.ts acquire --from otto-vscode --item ` successfully + +## Why P3 + +Operational substrate that prevents future split-brain when Aaron uses all 3 Otto surfaces simultaneously. Not urgent — Otto-VSCode can use a generic `otto` sender ID temporarily; only matters when concurrent multi-surface backlog-row claims happen. The bootstream document is the more immediately useful piece (cold-boot quality for future Otto-VSCode sessions). + +## Substrate-honest framing + +The third-surface upgrade is bounded mechanical work. Aaron's larger thread today (2026-05-21): + +- F# ZetaId 3rd peer oracle landed via PRs #4548 + #4552 +- Amara 4-archive cascade landed via PRs #4545/#4546/#4547/#4549/#4550 +- Lior upgraded to Antigravity IDE + Gemini 3.5 via PR #4553 +- 4 stale slice-decomposition PRs forward-signaled (#4317/#4347/#4437/#4492) + +The Otto-VSCode third-surface addition composes with the broader multi-surface coordination pattern that's already operationally validated across Otto-CLI + Otto-Desktop. The PR #3030 Otto-Desktop bootstream is the precedent template. + +## Composes with + +- B-0400 (bus protocol — the claim coordinator substrate this row extends) +- PR #3030 (Otto-Desktop tight bootstream — precedent template) +- PR #3037 (SENDER_IDS schema extension for otto-cli/otto-desktop — the substrate this row extends) +- PR #4553 (agent-roster card update for Lior's Antigravity IDE + Gemini 3.5 — sibling cold-boot rule update) +- `.claude/rules/agent-roster-reference-card.md` (multi-surface Otto coordination) +- `.claude/rules/claim-acquire-before-worktree-work.md` (the claim-acquire-before-worktree-creating-work discipline) +- `tools/bus/claim.ts` (the canonical claim coordinator implementation) + +## Origin + +Aaron 2026-05-21 disclosure: "I got Lior up on the new Antigravity IDE they Added gemini 3.5" → followed by request for VSCode bootstream prompt → Otto-CLI drafted prompt → Aaron confirmed via shadow* "yes file the backlog row". + +Otto-CLI drafted bootstream content preserved in this session's chat transcript (Aaron's web-conversation-mode-remembered preserves it as durable substrate); ready to land at `docs/launch/2026-05-21-otto-vscode-bootstream.md` in the implementation slice.