panopticon-cli 0.4.0 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,33 +1,72 @@
1
+ <div align="center">
2
+
1
3
  # Panopticon CLI
2
4
 
3
- Multi-agent orchestration for AI coding assistants.
5
+ **Multi-agent orchestration for AI coding assistants**
6
+
7
+ [![npm version](https://img.shields.io/npm/v/panopticon-cli.svg)](https://www.npmjs.com/package/panopticon-cli)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
9
+ [![Node.js Version](https://img.shields.io/badge/node-%3E%3D18-brightgreen.svg)](https://nodejs.org/)
10
+ [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/eltmon/panopticon/pulls)
4
11
 
5
12
  > *"The Panopticon had six sides, one for each of the Founders of Gallifrey..."*
6
13
 
7
- ## Overview
14
+ <img src="docs/dashboard-overview.png" alt="Panopticon Dashboard" width="800" />
15
+
16
+ </div>
17
+
18
+ ---
8
19
 
9
- Panopticon is a unified orchestration layer for AI coding assistants. It works with:
20
+ ## What is Panopticon?
21
+
22
+ | Without Panopticon | With Panopticon |
23
+ |:------------------|:----------------|
24
+ | Manually juggle multiple AI agents | **Automatic orchestration** - spawn, monitor, and coordinate agents from a dashboard |
25
+ | Agents start fresh every session | **Persistent context** - skills, state files, and beads track work across sessions |
26
+ | Simple tasks eat Opus credits | **Smart model routing** - Haiku for simple, Sonnet for medium, Opus for complex |
27
+ | Stuck agents waste your time | **Automatic recovery** - detect stuck agents and hand off to specialists |
28
+ | AI tools have separate configs | **Universal skills** - one SKILL.md works across Claude, Codex, Cursor, Gemini |
29
+
30
+ ## Screenshots
31
+
32
+ <div align="center">
33
+ <table>
34
+ <tr>
35
+ <td><img src="docs/planning-session-dialog.png" alt="Planning Dialog" width="300" /></td>
36
+ <td><img src="docs/planning-session-discovery.png" alt="Discovery Phase" width="300" /></td>
37
+ <td><img src="docs/planning-session-active.png" alt="Active Session" width="300" /></td>
38
+ </tr>
39
+ <tr>
40
+ <td align="center"><em>Start planning</em></td>
41
+ <td align="center"><em>Discovery phase</em></td>
42
+ <td align="center"><em>Active session</em></td>
43
+ </tr>
44
+ </table>
45
+ </div>
46
+
47
+ ## Key Features
48
+
49
+ | Feature | Description |
50
+ |:--------|:------------|
51
+ | **Multi-Agent Orchestration** | Spawn and manage AI agents in tmux sessions via dashboard or CLI |
52
+ | **Cloister Lifecycle Manager** | Automatic model routing, stuck detection, and specialist handoffs |
53
+ | **Universal Skills** | One SKILL.md format works across all supported AI tools |
54
+ | **Workspaces** | Git worktree-based feature branches with Docker isolation |
55
+ | **Convoys** | Run parallel agents on related issues with auto-synthesis |
56
+ | **Specialists** | Dedicated review, test, and merge agents for quality control |
57
+ | **Heartbeat Monitoring** | Real-time agent activity tracking via Claude Code hooks |
58
+ | **Legacy Codebase Support** | AI self-monitoring skills that learn from your codebase |
59
+
60
+ ## Supported Tools
10
61
 
11
62
  | Tool | Support |
12
- |------|---------|
63
+ |:-----|:--------|
13
64
  | **Claude Code** | Full support |
14
65
  | **Codex** | Skills sync |
15
66
  | **Cursor** | Skills sync |
16
67
  | **Gemini CLI** | Skills sync |
17
68
  | **Google Antigravity** | Skills sync |
18
69
 
19
- ### Features
20
-
21
- - **Multi-agent orchestration** - Spawn and manage multiple AI agents in tmux sessions
22
- - **Cloister AI Lifecycle Manager** - Automatic model routing, stuck detection, and specialist handoffs
23
- - **Universal skills** - One SKILL.md format works across all supported tools
24
- - **Heartbeat Hooks** - Real-time agent activity monitoring via Claude Code hooks
25
- - **Multi-project support** - YAML-based project registry with label-based issue routing
26
- - **Health Monitoring** - Deacon-style stuck detection with auto-recovery
27
- - **Context Engineering** - Structured state management (STATE.md, WORKSPACE.md)
28
- - **Agent CVs** - Work history tracking for capability-based routing
29
- - **Google Stitch Integration** - AI-powered UI design with automatic design-to-code workflows
30
-
31
70
  ---
32
71
 
33
72
  ## Legacy Codebase Support
@@ -159,54 +198,12 @@ The AI adapts to your org structure, not the other way around.
159
198
  ## Quick Start
160
199
 
161
200
  ```bash
162
- # Install Panopticon
163
- npm install -g panopticon-cli
164
-
165
- # Install prerequisites and setup (includes optional HTTPS/Traefik)
166
- pan install
167
-
168
- # Sync skills to all AI tools
169
- pan sync
170
-
171
- # Check system health
172
- pan doctor
173
- ```
174
-
175
- ### HTTPS Setup (Optional)
176
-
177
- Panopticon supports local HTTPS via Traefik reverse proxy:
178
-
179
- ```bash
180
- # Full install (includes Traefik + mkcert for HTTPS)
181
- pan install
182
-
183
- # Add to /etc/hosts (macOS/Linux)
184
- echo "127.0.0.1 pan.localhost" | sudo tee -a /etc/hosts
185
-
186
- # Start with HTTPS
187
- pan up
188
- # → Dashboard: https://pan.localhost
189
- # → Traefik UI: https://traefik.pan.localhost:8080
190
- ```
191
-
192
- **Minimal install** (skip Traefik, use ports):
193
- ```bash
194
- pan install --minimal
195
- pan up
196
- # → Dashboard: http://localhost:3010
201
+ npm install -g panopticon-cli && pan install && pan sync && pan up
197
202
  ```
198
203
 
199
- See [docs/DNS_SETUP.md](docs/DNS_SETUP.md) for detailed DNS configuration (especially for WSL2).
200
-
201
- ## Supported Platforms
204
+ **That's it!** Dashboard runs at https://pan.localhost (or http://localhost:3010 if you skip HTTPS setup).
202
205
 
203
- | Platform | Support |
204
- |----------|---------|
205
- | **Linux** | Full support |
206
- | **macOS** | Full support |
207
- | **Windows** | WSL2 required |
208
-
209
- > **Windows users:** Panopticon requires WSL2 (Windows Subsystem for Linux 2). Native Windows is not supported. [Install WSL2](https://docs.microsoft.com/en-us/windows/wsl/install)
206
+ 📖 **[Full installation guide, requirements, and platform support →](https://panopticon-cli.com/quickstart)**
210
207
 
211
208
  ## Requirements
212
209
 
@@ -270,6 +267,111 @@ Panopticon supports multiple issue trackers:
270
267
 
271
268
  Secondary trackers sync issues to the dashboard alongside Linear issues, allowing unified project management.
272
269
 
270
+ ### Multi-Model Support
271
+
272
+ Panopticon integrates with [claude-code-router](https://github.com/musistudio/claude-code-router) to enable using multiple AI model providers alongside Anthropic models. Configure which models to use for different agent types and task complexities.
273
+
274
+ 📖 **[Complete work types guide and configuration examples →](docs/WORK-TYPES.md)**
275
+ 📋 **[Configuration file reference and presets →](docs/CONFIGURATION.md)**
276
+ 🧠 **[Model recommendations for optimal cost/performance →](docs/MODEL_RECOMMENDATIONS.md)**
277
+
278
+ #### Supported Providers and Models
279
+
280
+ **Anthropic** (via Claude Code / Claude API)
281
+ - `claude-opus-4-5` - Most capable, best for planning and complex tasks
282
+ - `claude-sonnet-4-5` - Balanced performance and cost
283
+ - `claude-haiku-4-5` - Fast and cost-effective for simple tasks
284
+
285
+ **OpenAI**
286
+ - `gpt-5.2-codex` - Agentic coding and research
287
+ - `o3-deep-research` - Deep research capabilities
288
+ - `gpt-4o` - General-purpose model
289
+ - `gpt-4o-mini` - Faster, more cost-effective variant
290
+
291
+ **Google (Gemini)**
292
+ - `gemini-3-pro-preview` - Supports `thinking_level: high|low`
293
+ - `gemini-3-flash-preview` - Supports `thinking_level: minimal|low|medium|high`
294
+
295
+ **Z.AI**
296
+ - `glm-4.7` - General-purpose model
297
+ - `glm-4.7-flash` - Faster variant
298
+
299
+ #### Configuration via Dashboard
300
+
301
+ 1. Open the Panopticon dashboard and navigate to **Settings**
302
+ 2. Configure **API keys** for external providers:
303
+ - OpenAI API Key
304
+ - Google AI API Key
305
+ - Z.AI API Key
306
+ 3. Configure **models per agent type**:
307
+ - Review Agent - Model for code review
308
+ - Test Agent - Model for running tests
309
+ - Merge Agent - Model for handling merges
310
+ - Planning Agent - Model for autonomous planning
311
+ 4. Configure **models by task complexity** (for PAN-75):
312
+ - Trivial tasks → Cost-effective models (e.g., `claude-haiku-4-5`)
313
+ - Expert tasks → Most capable models (e.g., `claude-opus-4-5`)
314
+
315
+ **Configuration Files:**
316
+
317
+ Panopticon uses YAML-based configuration (new in v0.5+):
318
+
319
+ | File | Purpose |
320
+ |------|---------|
321
+ | `~/.panopticon/config.yaml` | Global model settings, provider enable/disable, API key references |
322
+ | `~/.panopticon.env` | API keys and sensitive credentials (auto-loaded) |
323
+ | `.panopticon.yaml` | Per-project config (optional, overrides global) |
324
+
325
+ **Security:** For added security, restrict file permissions:
326
+ ```bash
327
+ chmod 600 ~/.panopticon/config.yaml ~/.panopticon.env
328
+ ```
329
+
330
+ **Environment Variables:** API keys are loaded from `~/.panopticon.env` at startup:
331
+ ```bash
332
+ # ~/.panopticon.env
333
+ KIMI_API_KEY="sk-kimi-..."
334
+ OPENAI_API_KEY="sk-..."
335
+ GOOGLE_AI_KEY="AIza..."
336
+ ZAI_API_KEY="..."
337
+ ```
338
+
339
+ In `config.yaml`, reference them with `$` syntax:
340
+ ```yaml
341
+ models:
342
+ providers:
343
+ kimi:
344
+ enabled: true
345
+ api_key: $KIMI_API_KEY
346
+ ```
347
+
348
+ #### Router Configuration
349
+
350
+ **Panopticon owns the router configuration.** When you save settings in the dashboard, Panopticon automatically generates `~/.claude-code-router/config.json` with the appropriate provider and routing configuration. Manual edits to this file will be overwritten on the next settings change.
351
+
352
+ #### Example Use Cases
353
+
354
+ **Cost optimization:**
355
+ ```
356
+ Specialist agents → claude-sonnet-4-5 (balanced)
357
+ Planning agent → claude-opus-4-5 (most capable)
358
+ Simple tasks → claude-haiku-4-5 (cost-effective)
359
+ ```
360
+
361
+ **Multi-provider setup:**
362
+ ```
363
+ Code review → gpt-4o (OpenAI's code understanding)
364
+ Testing → claude-sonnet-4-5 (Anthropic's reliability)
365
+ Planning → claude-opus-4-5 (Anthropic's reasoning)
366
+ ```
367
+
368
+ **Research-heavy workflows:**
369
+ ```
370
+ Research tasks → o3-deep-research (OpenAI)
371
+ Implementation → claude-sonnet-4-5 (Anthropic)
372
+ Code review → gemini-3-pro-preview (Google)
373
+ ```
374
+
273
375
  ### Register Projects
274
376
 
275
377
  Register your local project directories so Panopticon knows where to create workspaces:
@@ -347,6 +449,35 @@ When Stitch is configured, the planning agent can:
347
449
  2. **Document in STATE.md** - Record Stitch project/screen IDs for workers
348
450
  3. **Worker agents pick up designs** - Use the Stitch skills to convert to React
349
451
 
452
+ ### Bidirectional Sync
453
+
454
+ Designs are stored in your Google account and sync bidirectionally:
455
+
456
+ ```
457
+ Planning Agent creates design via MCP
458
+
459
+ Stored in Google Cloud (your account)
460
+
461
+ Visible on stitch.withgoogle.com
462
+
463
+ Worker agent retrieves via MCP → converts to React
464
+ ```
465
+
466
+ - **MCP → Web UI:** Designs created by agents appear in Stitch web UI
467
+ - **Web UI → MCP:** Designs created in web UI are accessible to agents
468
+ - **Edit anywhere:** Refine AI-generated designs in the web UI before workers convert them
469
+
470
+ ### Available MCP Tools
471
+
472
+ | Tool | Purpose |
473
+ |------|---------|
474
+ | `create_project` | Create a new Stitch project |
475
+ | `list_projects` | List all your projects (owned/shared) |
476
+ | `get_project` | Get project details |
477
+ | `list_screens` | List screens in a project |
478
+ | `get_screen` | Get screen details + HTML/CSS download URLs |
479
+ | `generate_screen_from_text` | Generate a screen from a text prompt |
480
+
350
481
  ### Stitch Skills
351
482
 
352
483
  | Skill | Purpose |
@@ -1054,7 +1185,50 @@ Panopticon creates workspaces as git worktrees. Docker, HTTPS, and seeding are o
1054
1185
 
1055
1186
  ## Polyrepo Workspace Configuration
1056
1187
 
1057
- For projects with multiple git repositories (like separate frontend/backend repos), configure workspace settings directly in `projects.yaml`:
1188
+ For projects with multiple git repositories (like separate frontend/backend repos), configure workspace settings directly in `projects.yaml`.
1189
+
1190
+ ### Recommended: Separate Infra Repository
1191
+
1192
+ For polyrepo projects, we strongly recommend maintaining a **dedicated infrastructure repository** alongside your code repos:
1193
+
1194
+ ```
1195
+ myproject/
1196
+ ├── infra/ # Infrastructure repo (git)
1197
+ │ ├── .devcontainer-template/ # Templates for workspace creation
1198
+ │ │ ├── dev.template # Dev script template
1199
+ │ │ ├── compose.infra.yml.template
1200
+ │ │ └── docker-compose.devcontainer.yml.template
1201
+ │ ├── new-feature # Script to create workspaces
1202
+ │ ├── remove-feature # Script to clean up workspaces
1203
+ │ ├── certs/ # SSL certificates
1204
+ │ └── traefik/ # Traefik config
1205
+ ├── frontend/ # Frontend repo (git)
1206
+ ├── backend/ # Backend repo (git)
1207
+ └── workspaces/ # Feature workspaces (git worktrees)
1208
+ └── feature-xxx/
1209
+ ├── fe/ # Worktree of frontend
1210
+ ├── api/ # Worktree of backend
1211
+ └── .devcontainer/ # Generated from templates
1212
+ ```
1213
+
1214
+ **Benefits of a separate infra repo:**
1215
+
1216
+ 1. **Version-controlled templates** - Dev script changes are tracked and shared
1217
+ 2. **Centralized configuration** - DNS, ports, Traefik rules in one place
1218
+ 3. **Workspace consistency** - All workspaces use the same templates
1219
+ 4. **Team collaboration** - Infra changes go through normal PR review
1220
+ 5. **Easy updates** - Fix a template once, regenerate affected workspaces
1221
+
1222
+ **Key files in the infra repo:**
1223
+
1224
+ | File | Purpose |
1225
+ |------|---------|
1226
+ | `dev.template` | Template for `./dev` script (container management) |
1227
+ | `new-feature` | Creates workspace with git worktrees + devcontainer |
1228
+ | `remove-feature` | Cleans up workspace and worktrees |
1229
+ | `.devcontainer-template/` | Docker Compose and devcontainer templates |
1230
+
1231
+
1058
1232
 
1059
1233
  ```yaml
1060
1234
  projects:
@@ -1468,6 +1642,165 @@ pan work recover min-123
1468
1642
  pan work recover --all
1469
1643
  ```
1470
1644
 
1645
+ ### Convoys: Multi-Agent Orchestration
1646
+
1647
+ Convoys enable Panopticon to run multiple AI agents in parallel for complex tasks like code review. Instead of a single agent doing everything, specialized agents focus on specific concerns and a synthesis agent combines their findings.
1648
+
1649
+ **Why Convoys?**
1650
+
1651
+ When reviewing code, a single AI agent must context-switch between:
1652
+ - Checking for logic errors
1653
+ - Looking for security vulnerabilities
1654
+ - Analyzing performance issues
1655
+
1656
+ This leads to:
1657
+ - Shallow reviews (can't go deep on everything)
1658
+ - Missed issues (focus on one area, miss others)
1659
+ - Long sequential execution (can't parallelize)
1660
+
1661
+ Convoys solve this by **specialization + parallelization**:
1662
+ - 3 focused agents review in parallel (10x faster)
1663
+ - Each agent goes deep in their domain
1664
+ - Synthesis agent combines findings with prioritization
1665
+
1666
+ #### Built-in Convoy Templates
1667
+
1668
+ | Template | Agents | Use Case |
1669
+ |----------|--------|----------|
1670
+ | `code-review` | correctness, security, performance, synthesis | Comprehensive code review |
1671
+ | `planning` | planner | Codebase exploration and planning |
1672
+ | `triage` | (dynamic) | Parallel issue triage |
1673
+ | `health-monitor` | monitor | Check health of running agents |
1674
+
1675
+ #### Quick Start
1676
+
1677
+ ```bash
1678
+ # Run a parallel code review
1679
+ pan convoy start code-review --files "src/**/*.ts"
1680
+
1681
+ # Check status
1682
+ pan convoy status
1683
+
1684
+ # List all convoys (running and completed)
1685
+ pan convoy list
1686
+
1687
+ # Stop a convoy
1688
+ pan convoy stop <convoy-id>
1689
+ ```
1690
+
1691
+ #### How Code Review Convoy Works
1692
+
1693
+ ```
1694
+ pan convoy start code-review --files "src/**/*.ts"
1695
+
1696
+ ├─→ Phase 1 (Parallel): 3 specialized reviewers run simultaneously
1697
+ │ ├─→ Correctness (Haiku) → correctness.md
1698
+ │ ├─→ Security (Sonnet) → security.md
1699
+ │ └─→ Performance (Haiku) → performance.md
1700
+
1701
+ └─→ Phase 2 (Sequential): Synthesis agent runs after Phase 1 completes
1702
+ └─→ Synthesis reads all 3 reviews → synthesis.md
1703
+ ```
1704
+
1705
+ **Phase 1 - Specialized Reviews (Parallel)**
1706
+ - **Correctness** (Haiku) - Logic errors, edge cases, type safety
1707
+ - **Security** (Sonnet) - OWASP Top 10, injection, XSS, auth issues
1708
+ - **Performance** (Haiku) - N+1 queries, blocking ops, memory leaks
1709
+
1710
+ **Phase 2 - Synthesis (Sequential)**
1711
+ - Reads all three review files
1712
+ - Removes duplicates (same issue found by multiple reviewers)
1713
+ - Prioritizes findings (blocker → critical → high → medium → low)
1714
+ - Generates unified report with action items
1715
+
1716
+ #### What is Synthesis?
1717
+
1718
+ Synthesis is the process of combining findings from multiple parallel agents into a single, prioritized, actionable report.
1719
+
1720
+ **Without synthesis**, after 3 parallel reviews you get:
1721
+ - 3 separate markdown files to read
1722
+ - Duplicate findings (same issue reported differently)
1723
+ - No prioritization (which to fix first?)
1724
+ - Mental overhead to merge them yourself
1725
+
1726
+ **With synthesis**, you get:
1727
+ - Single unified report
1728
+ - Deduplicated findings
1729
+ - AI-prioritized by severity × impact
1730
+ - Clear action items
1731
+
1732
+ **Example synthesis output:**
1733
+
1734
+ ```markdown
1735
+ # Code Review - Complete Analysis
1736
+
1737
+ ## Executive Summary
1738
+ - 2 blockers (MUST FIX)
1739
+ - 3 critical issues
1740
+ - 5 high-priority items
1741
+
1742
+ ## Top Priority
1743
+ 1. SQL injection in auth.ts:42 (Security, Critical)
1744
+ 2. execSync blocking event loop in sync.ts:89 (Performance, Blocker)
1745
+ 3. Null pointer in user fetch in api.ts:156 (Correctness, High)
1746
+
1747
+ ## Blocker Issues
1748
+ [Detailed findings with code examples and fixes]
1749
+
1750
+ ## Critical Issues
1751
+ [...]
1752
+
1753
+ ## Review Statistics
1754
+ - Files reviewed: 12
1755
+ - Issues found: 10
1756
+ - Duplicates removed: 3
1757
+ ```
1758
+
1759
+ #### Convoy Commands
1760
+
1761
+ ```bash
1762
+ # Start a convoy
1763
+ pan convoy start <template> [options]
1764
+ --files <pattern> # File pattern (e.g., "src/**/*.ts")
1765
+ --pr-url <url> # Pull request URL
1766
+ --issue-id <id> # Issue ID
1767
+ --project-path <path> # Project path (defaults to cwd)
1768
+
1769
+ # Check convoy status
1770
+ pan convoy status [convoy-id] # Show status (defaults to most recent)
1771
+
1772
+ # List convoys
1773
+ pan convoy list # All convoys
1774
+ pan convoy list --status running # Filter by status
1775
+
1776
+ # Stop a convoy
1777
+ pan convoy stop <convoy-id> # Kill all agents, mark failed
1778
+ ```
1779
+
1780
+ #### Custom Convoy Templates
1781
+
1782
+ Create custom templates in `~/.panopticon/convoy-templates/`:
1783
+
1784
+ ```json
1785
+ {
1786
+ "name": "lightweight-review",
1787
+ "description": "Quick security-only review",
1788
+ "agents": [
1789
+ {
1790
+ "role": "security",
1791
+ "subagent": "code-review-security",
1792
+ "parallel": false
1793
+ }
1794
+ ],
1795
+ "config": {
1796
+ "outputDir": ".claude/reviews",
1797
+ "timeout": 600000
1798
+ }
1799
+ }
1800
+ ```
1801
+
1802
+ Then use with: `pan convoy start lightweight-review --files "src/**/*.ts"`
1803
+
1471
1804
  ### Health Monitoring
1472
1805
 
1473
1806
  ```bash
@@ -1629,15 +1962,24 @@ These safeguards are enforced through:
1629
1962
  | ![Start](docs/planning-session-dialog.png) | ![Exploring](docs/planning-session-active.png) | ![Discovery](docs/planning-session-discovery.png) |
1630
1963
  | Click to create workspace and start AI planning | Claude explores the codebase, reads docs, understands patterns | Interactive questions to clarify requirements and approach |
1631
1964
 
1632
- Planning artifacts are stored **inside the workspace**, making them part of the feature branch:
1965
+ Planning artifacts are stored **inside the workspace**:
1966
+
1967
+ > ⚠️ **Note: `.planning/` is currently ephemeral (not tracked in git)**
1968
+ >
1969
+ > The `.planning/` directory is listed in `.gitignore` to prevent cross-contamination between issues. When branches merge, planning state from issue A could contaminate issue B's workspace, causing agents to work on the wrong tasks.
1970
+ >
1971
+ > **Current behavior:** Planning state is local to your machine only. If you switch machines, you'll need to re-run the planning session.
1972
+ >
1973
+ > See [#111](https://github.com/eltmon/panopticon-cli/issues/111) for the future enhancement to support cross-machine planning sync safely.
1633
1974
 
1634
1975
  ```
1635
1976
  workspaces/feature-min-123/
1636
- ├── .planning/
1637
- │ ├── output.jsonl # Full conversation history (tool uses + results)
1638
- │ ├── PLANNING_PROMPT.md # Initial planning prompt
1977
+ ├── .planning/ # ⚠️ NOT tracked in git (ephemeral)
1978
+ │ ├── STATE.md # Current planning state
1979
+ │ ├── output.jsonl # Full conversation history
1980
+ │ ├── PLANNING_PROMPT.md # Initial planning prompt
1639
1981
  │ ├── CONTINUATION_PROMPT.md # Context for continued sessions
1640
- │ └── output-*.jsonl # Backup of previous rounds
1982
+ │ └── output-*.jsonl # Backup of previous rounds
1641
1983
  └── ... (code)
1642
1984
  ```
1643
1985
 
@@ -1648,42 +1990,16 @@ When the planning session completes, the AI generates:
1648
1990
  - **Beads tasks** - Trackable sub-tasks with dependencies for the implementation
1649
1991
  - **Feature PRD** - Copied to `docs/prds/active/{issue}-plan.md` for documentation
1650
1992
 
1651
- **This enables:**
1652
-
1653
- 1. **Collaborative async planning** - Push your branch, someone else pulls and continues the planning session with full context
1654
- 2. **Context recovery** - If Claude's context compacts, the full conversation is preserved in the branch
1655
- 3. **Audit trail** - See how planning decisions were made, what files were explored, what questions were asked
1656
- 4. **Branch portability** - The planning state travels with the feature branch
1993
+ **Future capabilities (currently disabled - see note above):**
1657
1994
 
1658
- **Dashboard workflow (recommended):**
1995
+ 1. ~~**Collaborative async planning** - Push your branch, someone else pulls and continues the planning session with full context~~
1996
+ 2. ~~**Branch portability** - The planning state travels with the feature branch~~
1659
1997
 
1660
- The planning dialog has **Pull** and **Push** buttons that handle git operations automatically:
1998
+ **What still works:**
1661
1999
 
1662
- | Button | What it does |
1663
- |--------|--------------|
1664
- | **Pull** | Fetches from origin, creates workspace from remote branch if needed, pulls latest changes |
1665
- | **Push** | Commits `.planning/` artifacts and pushes to origin |
1666
-
1667
- 1. Person A starts planning in dashboard, clicks **Push** when interrupted
1668
- 2. Person B opens same issue in dashboard, clicks **Pull** → gets Person A's full context
1669
- 3. Person B continues the planning session and clicks **Push** when done
1670
-
1671
- **CLI workflow:**
1672
- ```bash
1673
- # Person A starts planning
1674
- pan work plan MIN-123
1675
- # ... answers discovery questions, gets interrupted ...
1676
-
1677
- # Push the branch (includes planning context)
1678
- cd workspaces/feature-min-123
1679
- git add .planning && git commit -m "WIP: planning session"
1680
- git push origin feature/min-123
1681
-
1682
- # Person B continues
1683
- git pull origin feature/min-123
1684
- pan work plan MIN-123 --continue
1685
- # Claude has full context from Person A's session
1686
- ```
2000
+ 1. **Context recovery** - If Claude's context compacts, STATE.md and beads preserve the planning decisions
2001
+ 2. **Audit trail** - See decisions made in STATE.md
2002
+ 3. **Beads tasks** - Sub-tasks created during planning ARE persisted (beads uses label-based isolation)
1687
2003
 
1688
2004
  ```bash
1689
2005
  # Create a workspace (git worktree) without starting an agent
@@ -2472,15 +2788,26 @@ localhostForwarding=true
2472
2788
  # Disable GPU/GUI passthrough - reduces dxg driver errors
2473
2789
  guiApplications=false
2474
2790
 
2791
+ # ============================================================
2792
+ # WINDOWS 11 ONLY - Comment these out on Windows 10!
2793
+ # These settings require Windows 11 22H2 or later.
2794
+ # On Windows 10 they are silently ignored or may cause issues.
2795
+ # ============================================================
2796
+
2475
2797
  # Route DNS through Windows - prevents getaddrinfo() failures
2476
- dnsTunneling=true
2798
+ # dnsTunneling=true # Windows 11 only
2477
2799
 
2478
2800
  # Inherit Windows proxy settings
2479
- autoProxy=true
2801
+ # autoProxy=true # Windows 11 only
2480
2802
 
2481
- # Windows 11 22H2+ ONLY: Use mirrored networking
2482
- # This bypasses the Hyper-V NAT layer that can cause "Object Name not found" errors
2483
- # networkingMode=mirrored
2803
+ # Aggressively reclaim cached memory
2804
+ # autoMemoryReclaim=dropCache # Windows 11 only
2805
+
2806
+ # Use sparse VHD to allow better memory compaction
2807
+ # sparseVhd=true # Windows 11 only
2808
+
2809
+ # Mirrored networking (may conflict with Docker Desktop)
2810
+ # networkingMode=mirrored # Windows 11 only
2484
2811
  ```
2485
2812
 
2486
2813
  **After changing `.wslconfig`:**
@@ -2505,15 +2832,21 @@ ip addr show eth0 # NAT mode shows 172.x.x.x IP
2505
2832
 
2506
2833
  | Feature | Windows 10 | Windows 11 22H2+ |
2507
2834
  |---------|-----------|------------------|
2508
- | `networkingMode=mirrored` | Not supported | ✅ Supported |
2509
- | `dnsTunneling=true` | ✅ Works | ✅ Works |
2835
+ | `memory`, `processors`, `swap` | Works | ✅ Works |
2836
+ | `localhostForwarding` | ✅ Works | ✅ Works |
2510
2837
  | `guiApplications=false` | ✅ Works | ✅ Works |
2838
+ | `networkingMode=mirrored` | ❌ Not supported | ✅ Supported |
2839
+ | `dnsTunneling=true` | ❌ Not supported | ✅ Supported |
2840
+ | `autoProxy=true` | ❌ Not supported | ✅ Supported |
2841
+ | `autoMemoryReclaim` | ❌ Not supported | ✅ Supported |
2842
+ | `sparseVhd=true` | ❌ Not supported | ✅ Supported |
2511
2843
 
2512
- **Windows 10 users:** The `networkingMode=mirrored` setting will be silently ignored. You'll stay on NAT mode, which can be less stable. The other settings (`dnsTunneling`, `guiApplications=false`) still help with stability.
2844
+ **Windows 10 users:** Most advanced WSL2 features require Windows 11. On Windows 10, only the basic resource limits and `localhostForwarding`/`guiApplications` settings are supported. Other settings will be silently ignored or may cause instability.
2513
2845
 
2514
2846
  If you experience frequent WSL2 crashes on Windows 10, consider:
2515
- - Upgrading to Windows 11 for mirrored networking support
2847
+ - Using only the basic settings shown above (memory, processors, swap, localhostForwarding, guiApplications)
2516
2848
  - Reducing `memory` allocation if system is under pressure
2849
+ - Upgrading to Windows 11 for full WSL2 feature support
2517
2850
  - Checking Windows Event Viewer for specific crash causes
2518
2851
 
2519
2852
  #### Additional Windows 10 Workarounds
@@ -16,9 +16,8 @@ import {
16
16
  saveSessionId,
17
17
  spawnAgent,
18
18
  stopAgent
19
- } from "./chunk-4BIZ4OVN.js";
20
- import "./chunk-U4LCHEVU.js";
21
- import "./chunk-DGUM43GV.js";
19
+ } from "./chunk-H45CLB7E.js";
20
+ import "./chunk-7HHDVXBM.js";
22
21
  export {
23
22
  appendActivity,
24
23
  autoRecoverAgents,
@@ -38,4 +37,4 @@ export {
38
37
  spawnAgent,
39
38
  stopAgent
40
39
  };
41
- //# sourceMappingURL=agents-RCAPFJG7.js.map
40
+ //# sourceMappingURL=agents-B5NRTVHK.js.map