Architecture decision: Tauri 2.x + Svelte 5 + Claude Agent SDK (Node.js sidecar). Includes research on Agent SDK streaming, xterm.js performance, WebKit2GTK limitations, and adversarial review corrections (two-tier observation, Svelte 5 over Solid.js, SDK abstraction layer). Six implementation phases defined, MVP = Phases 1-4.
1.6 KiB
1.6 KiB
BTerminal v2 — Progress Log
Session: 2026-03-05
Research Phase (complete)
- Analyzed current BTerminal v1 codebase (2092 lines Python, GTK3+VTE)
- Queried Memora — no existing BTerminal memories
- Researched Claude Agent SDK — found structured streaming, subagent tracking, hooks
- Researched Tauri + xterm.js ecosystem — found 4+ working projects
- Researched terminal latency benchmarks — xterm.js acceptable for AI output
- Researched 32:9 ultrawide layout patterns
- Evaluated GTK4 vs Tauri vs pure Rust — Tauri wins for this use case
- Created task_plan.md with 8 phases
- Created findings.md with 7 research areas
Technology Decision (complete)
- Decision: Tauri 2.x + Solid.js + Claude Agent SDK + xterm.js
- Rationale documented in task_plan.md Phase 0
Adversarial Review (complete)
- Spawned devil's advocate agent to attack the plan
- Identified 5 fatal/critical issues:
- Node.js sidecar requirement unacknowledged
- SDK 0.2.x instability — need abstraction layer
- Three-tier observation overengineered → simplified to two-tier
- Solid.js ecosystem too small → switched to Svelte 5
- Missing: packaging, error handling, testing, responsive design
- Revised plan (Rev 2) incorporating all corrections
- Added error handling strategy table
- Added testing strategy table
- Defined MVP boundary (Phases 1-4)
- Added responsive layout requirement (1920px degraded mode)
Next Steps
- Present plan to user for review and decision
- Create feature branch
- Begin Phase 1: Project scaffolding