pocketteam 1.0.0__tar.gz

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.
Files changed (175) hide show
  1. pocketteam-1.0.0/.gitignore +49 -0
  2. pocketteam-1.0.0/CHANGELOG.md +195 -0
  3. pocketteam-1.0.0/CONTRIBUTING.md +574 -0
  4. pocketteam-1.0.0/LICENSE +21 -0
  5. pocketteam-1.0.0/PKG-INFO +888 -0
  6. pocketteam-1.0.0/README.md +848 -0
  7. pocketteam-1.0.0/docs/CONFIGURATION.md +496 -0
  8. pocketteam-1.0.0/docs/DASHBOARD.md +558 -0
  9. pocketteam-1.0.0/docs/HOOKS.md +637 -0
  10. pocketteam-1.0.0/docs/TROUBLESHOOTING.md +671 -0
  11. pocketteam-1.0.0/docs/assets/dashboard-office.png +0 -0
  12. pocketteam-1.0.0/docs/assets/dashboard-safety.png +0 -0
  13. pocketteam-1.0.0/docs/screenshots/01-office-view.png +0 -0
  14. pocketteam-1.0.0/docs/screenshots/02-timeline-view.png +0 -0
  15. pocketteam-1.0.0/docs/screenshots/03-safety-view.png +0 -0
  16. pocketteam-1.0.0/docs/screenshots/04-usage-view.png +0 -0
  17. pocketteam-1.0.0/examples/full_pipeline.py +71 -0
  18. pocketteam-1.0.0/examples/self_healing.py +56 -0
  19. pocketteam-1.0.0/examples/simple_task.py +52 -0
  20. pocketteam-1.0.0/pocketteam/__init__.py +5 -0
  21. pocketteam-1.0.0/pocketteam/agents/__init__.py +1 -0
  22. pocketteam-1.0.0/pocketteam/agents/base.py +264 -0
  23. pocketteam-1.0.0/pocketteam/agents/coo.py +67 -0
  24. pocketteam-1.0.0/pocketteam/agents/devops.py +22 -0
  25. pocketteam-1.0.0/pocketteam/agents/documentation.py +19 -0
  26. pocketteam-1.0.0/pocketteam/agents/engineer.py +34 -0
  27. pocketteam-1.0.0/pocketteam/agents/investigator.py +24 -0
  28. pocketteam-1.0.0/pocketteam/agents/monitor.py +28 -0
  29. pocketteam-1.0.0/pocketteam/agents/observer.py +309 -0
  30. pocketteam-1.0.0/pocketteam/agents/observer_cli.py +34 -0
  31. pocketteam-1.0.0/pocketteam/agents/planner.py +22 -0
  32. pocketteam-1.0.0/pocketteam/agents/product.py +21 -0
  33. pocketteam-1.0.0/pocketteam/agents/prompts/coo.md +195 -0
  34. pocketteam-1.0.0/pocketteam/agents/prompts/devops.md +125 -0
  35. pocketteam-1.0.0/pocketteam/agents/prompts/documentation.md +90 -0
  36. pocketteam-1.0.0/pocketteam/agents/prompts/engineer.md +155 -0
  37. pocketteam-1.0.0/pocketteam/agents/prompts/investigator.md +151 -0
  38. pocketteam-1.0.0/pocketteam/agents/prompts/monitor.md +98 -0
  39. pocketteam-1.0.0/pocketteam/agents/prompts/observer.md +126 -0
  40. pocketteam-1.0.0/pocketteam/agents/prompts/planner.md +171 -0
  41. pocketteam-1.0.0/pocketteam/agents/prompts/product.md +112 -0
  42. pocketteam-1.0.0/pocketteam/agents/prompts/qa.md +125 -0
  43. pocketteam-1.0.0/pocketteam/agents/prompts/reviewer.md +177 -0
  44. pocketteam-1.0.0/pocketteam/agents/prompts/security.md +135 -0
  45. pocketteam-1.0.0/pocketteam/agents/qa.py +114 -0
  46. pocketteam-1.0.0/pocketteam/agents/reviewer.py +22 -0
  47. pocketteam-1.0.0/pocketteam/agents/security.py +246 -0
  48. pocketteam-1.0.0/pocketteam/browse/browser.ts +148 -0
  49. pocketteam-1.0.0/pocketteam/browse/bun.lock +15 -0
  50. pocketteam-1.0.0/pocketteam/browse/commands.ts +522 -0
  51. pocketteam-1.0.0/pocketteam/browse/index.ts +389 -0
  52. pocketteam-1.0.0/pocketteam/browse/package.json +9 -0
  53. pocketteam-1.0.0/pocketteam/browse/ptbrowse +2 -0
  54. pocketteam-1.0.0/pocketteam/browse/server.ts +352 -0
  55. pocketteam-1.0.0/pocketteam/browse/snapshot.ts +218 -0
  56. pocketteam-1.0.0/pocketteam/channels/__init__.py +0 -0
  57. pocketteam-1.0.0/pocketteam/channels/remote.py +136 -0
  58. pocketteam-1.0.0/pocketteam/channels/setup.py +310 -0
  59. pocketteam-1.0.0/pocketteam/cli.py +955 -0
  60. pocketteam-1.0.0/pocketteam/config.py +369 -0
  61. pocketteam-1.0.0/pocketteam/constants.py +190 -0
  62. pocketteam-1.0.0/pocketteam/core/__init__.py +1 -0
  63. pocketteam-1.0.0/pocketteam/core/budget.py +112 -0
  64. pocketteam-1.0.0/pocketteam/core/context.py +230 -0
  65. pocketteam-1.0.0/pocketteam/core/orchestrator.py +157 -0
  66. pocketteam-1.0.0/pocketteam/core/pipeline.py +369 -0
  67. pocketteam-1.0.0/pocketteam/dashboard.py +919 -0
  68. pocketteam-1.0.0/pocketteam/github_setup.py +343 -0
  69. pocketteam-1.0.0/pocketteam/hooks/__init__.py +0 -0
  70. pocketteam-1.0.0/pocketteam/hooks/__main__.py +78 -0
  71. pocketteam-1.0.0/pocketteam/hooks/_utils.py +19 -0
  72. pocketteam-1.0.0/pocketteam/hooks/agent_lifecycle.py +208 -0
  73. pocketteam-1.0.0/pocketteam/hooks/context_warning.py +96 -0
  74. pocketteam-1.0.0/pocketteam/hooks/cost_tracker.py +35 -0
  75. pocketteam-1.0.0/pocketteam/hooks/delegation_enforcer.py +12 -0
  76. pocketteam-1.0.0/pocketteam/hooks/keyword_detector.py +49 -0
  77. pocketteam-1.0.0/pocketteam/hooks/observer_trigger.py +104 -0
  78. pocketteam-1.0.0/pocketteam/hooks/pre_compact.py +166 -0
  79. pocketteam-1.0.0/pocketteam/hooks/session_start.py +166 -0
  80. pocketteam-1.0.0/pocketteam/hooks/session_stop.py +35 -0
  81. pocketteam-1.0.0/pocketteam/hooks/telegram_inbox.py +65 -0
  82. pocketteam-1.0.0/pocketteam/init.py +1376 -0
  83. pocketteam-1.0.0/pocketteam/modules/__init__.py +0 -0
  84. pocketteam-1.0.0/pocketteam/modules/autoresearch/__init__.py +3 -0
  85. pocketteam-1.0.0/pocketteam/modules/autoresearch/module.py +126 -0
  86. pocketteam-1.0.0/pocketteam/modules/autoresearch/tracker.py +203 -0
  87. pocketteam-1.0.0/pocketteam/modules/base_module.py +72 -0
  88. pocketteam-1.0.0/pocketteam/monitoring/__init__.py +0 -0
  89. pocketteam-1.0.0/pocketteam/monitoring/escalation.py +163 -0
  90. pocketteam-1.0.0/pocketteam/monitoring/healer.py +155 -0
  91. pocketteam-1.0.0/pocketteam/monitoring/watcher.py +176 -0
  92. pocketteam-1.0.0/pocketteam/safety/__init__.py +1 -0
  93. pocketteam-1.0.0/pocketteam/safety/__main__.py +57 -0
  94. pocketteam-1.0.0/pocketteam/safety/activity_logger.py +114 -0
  95. pocketteam-1.0.0/pocketteam/safety/allowlist.py +151 -0
  96. pocketteam-1.0.0/pocketteam/safety/audit_log.py +243 -0
  97. pocketteam-1.0.0/pocketteam/safety/dsac.py +674 -0
  98. pocketteam-1.0.0/pocketteam/safety/guardian.py +619 -0
  99. pocketteam-1.0.0/pocketteam/safety/mcp_rules.py +197 -0
  100. pocketteam-1.0.0/pocketteam/safety/network_rules.py +240 -0
  101. pocketteam-1.0.0/pocketteam/safety/rate_limiter.py +162 -0
  102. pocketteam-1.0.0/pocketteam/safety/rules.py +226 -0
  103. pocketteam-1.0.0/pocketteam/safety/sensitive_paths.py +189 -0
  104. pocketteam-1.0.0/pocketteam/skills/MANIFEST.json +63 -0
  105. pocketteam-1.0.0/pocketteam/skills/add-mcp-server.md +49 -0
  106. pocketteam-1.0.0/pocketteam/skills/architecture-docs.md +78 -0
  107. pocketteam-1.0.0/pocketteam/skills/architecture-review.md +58 -0
  108. pocketteam-1.0.0/pocketteam/skills/atomic-commits.md +85 -0
  109. pocketteam-1.0.0/pocketteam/skills/autopilot.md +43 -0
  110. pocketteam-1.0.0/pocketteam/skills/breaking-change-plan.md +64 -0
  111. pocketteam-1.0.0/pocketteam/skills/browse.md +106 -0
  112. pocketteam-1.0.0/pocketteam/skills/competitive-analysis.md +63 -0
  113. pocketteam-1.0.0/pocketteam/skills/cost-report.md +85 -0
  114. pocketteam-1.0.0/pocketteam/skills/create-skill.md +37 -0
  115. pocketteam-1.0.0/pocketteam/skills/dashboard-deploy.md +78 -0
  116. pocketteam-1.0.0/pocketteam/skills/db-diagnostics.md +92 -0
  117. pocketteam-1.0.0/pocketteam/skills/debug.md +56 -0
  118. pocketteam-1.0.0/pocketteam/skills/dependency-scan.md +84 -0
  119. pocketteam-1.0.0/pocketteam/skills/design-review.md +63 -0
  120. pocketteam-1.0.0/pocketteam/skills/discuss.md +84 -0
  121. pocketteam-1.0.0/pocketteam/skills/e2e-test.md +109 -0
  122. pocketteam-1.0.0/pocketteam/skills/escalation.md +70 -0
  123. pocketteam-1.0.0/pocketteam/skills/handoff-spec.md +57 -0
  124. pocketteam-1.0.0/pocketteam/skills/health-check.md +82 -0
  125. pocketteam-1.0.0/pocketteam/skills/hotfix.md +57 -0
  126. pocketteam-1.0.0/pocketteam/skills/insights-manage.md +45 -0
  127. pocketteam-1.0.0/pocketteam/skills/investigate.md +66 -0
  128. pocketteam-1.0.0/pocketteam/skills/log-analysis.md +85 -0
  129. pocketteam-1.0.0/pocketteam/skills/map-codebase.md +138 -0
  130. pocketteam-1.0.0/pocketteam/skills/market-research.md +60 -0
  131. pocketteam-1.0.0/pocketteam/skills/owasp-audit.md +77 -0
  132. pocketteam-1.0.0/pocketteam/skills/pause-resume.md +113 -0
  133. pocketteam-1.0.0/pocketteam/skills/performance-review.md +63 -0
  134. pocketteam-1.0.0/pocketteam/skills/pocketteam-help.md +46 -0
  135. pocketteam-1.0.0/pocketteam/skills/product-brief.md +41 -0
  136. pocketteam-1.0.0/pocketteam/skills/propose-improvements.md +71 -0
  137. pocketteam-1.0.0/pocketteam/skills/quick.md +40 -0
  138. pocketteam-1.0.0/pocketteam/skills/ralph.md +55 -0
  139. pocketteam-1.0.0/pocketteam/skills/receive-review.md +48 -0
  140. pocketteam-1.0.0/pocketteam/skills/retro.md +69 -0
  141. pocketteam-1.0.0/pocketteam/skills/review.md +62 -0
  142. pocketteam-1.0.0/pocketteam/skills/risk-assessment.md +52 -0
  143. pocketteam-1.0.0/pocketteam/skills/rollback.md +77 -0
  144. pocketteam-1.0.0/pocketteam/skills/scaffold.md +44 -0
  145. pocketteam-1.0.0/pocketteam/skills/security-audit.md +63 -0
  146. pocketteam-1.0.0/pocketteam/skills/self-improve.md +117 -0
  147. pocketteam-1.0.0/pocketteam/skills/service-deploy.md +81 -0
  148. pocketteam-1.0.0/pocketteam/skills/setup-schedules.md +45 -0
  149. pocketteam-1.0.0/pocketteam/skills/ship.md +70 -0
  150. pocketteam-1.0.0/pocketteam/skills/skills-discovery.md +98 -0
  151. pocketteam-1.0.0/pocketteam/skills/smoke-test.md +52 -0
  152. pocketteam-1.0.0/pocketteam/skills/stale-doc-audit.md +74 -0
  153. pocketteam-1.0.0/pocketteam/skills/state-management.md +99 -0
  154. pocketteam-1.0.0/pocketteam/skills/task-breakdown.md +56 -0
  155. pocketteam-1.0.0/pocketteam/skills/tdd.md +47 -0
  156. pocketteam-1.0.0/pocketteam/skills/test-data-setup.md +85 -0
  157. pocketteam-1.0.0/pocketteam/skills/threat-model.md +69 -0
  158. pocketteam-1.0.0/pocketteam/skills/timeline-reconstruction.md +62 -0
  159. pocketteam-1.0.0/pocketteam/skills/update-readme.md +54 -0
  160. pocketteam-1.0.0/pocketteam/skills/verification.md +139 -0
  161. pocketteam-1.0.0/pocketteam/skills/visual-qa.md +88 -0
  162. pocketteam-1.0.0/pocketteam/skills/wave-execute.md +158 -0
  163. pocketteam-1.0.0/pocketteam/skills/weekly-digest.md +79 -0
  164. pocketteam-1.0.0/pocketteam/statusline/index.js +188 -0
  165. pocketteam-1.0.0/pocketteam/telegram_daemon.py +423 -0
  166. pocketteam-1.0.0/pocketteam/telegram_daemon_plist.py +100 -0
  167. pocketteam-1.0.0/pocketteam/tools/__init__.py +0 -0
  168. pocketteam-1.0.0/pocketteam/tools/activity_logger.py +93 -0
  169. pocketteam-1.0.0/pocketteam/tools/browser_tools.py +323 -0
  170. pocketteam-1.0.0/pocketteam/tools/coordination.py +379 -0
  171. pocketteam-1.0.0/pocketteam/tools/deploy_tools.py +178 -0
  172. pocketteam-1.0.0/pocketteam/tools/health_check.py +221 -0
  173. pocketteam-1.0.0/pocketteam/tools/test_runner.py +228 -0
  174. pocketteam-1.0.0/pocketteam/utils.py +29 -0
  175. pocketteam-1.0.0/pyproject.toml +86 -0
@@ -0,0 +1,49 @@
1
+ PLAN.md
2
+
3
+ # Python
4
+ __pycache__/
5
+ *.py[cod]
6
+ *.egg-info/
7
+ dist/
8
+ build/
9
+ .venv/
10
+ venv/
11
+ .env
12
+ .env.*
13
+
14
+ # PocketTeam init artifacts (generated by `pocketteam init`)
15
+ # These are runtime files, not source code.
16
+ # When bootstrapping, they live here but are never committed.
17
+ .pocketteam/
18
+ .claude/
19
+ .github/
20
+ .mcp.json
21
+
22
+ # Node / Dashboard
23
+ node_modules/
24
+ dashboard/dist/
25
+
26
+ # IDE
27
+ .vscode/
28
+ .idea/
29
+ *.swp
30
+ *.swo
31
+
32
+ # Secrets / Credentials (belt and suspenders)
33
+ *.pem
34
+ *.key
35
+ *.p12
36
+ credentials.json
37
+ service-account.json
38
+
39
+ # macOS
40
+ .DS_Store
41
+
42
+ # Testing
43
+ .coverage
44
+ htmlcov/
45
+ .pytest_cache/
46
+
47
+ # mypy / ruff
48
+ .mypy_cache/
49
+ .ruff_cache/
@@ -0,0 +1,195 @@
1
+ # Changelog
2
+
3
+ All notable changes to PocketTeam are documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+
12
+ - COO delegation-only tool policy: tools restricted to `["Agent"]` via allowlist enforcement
13
+ - Fan-out/fan-in parallel investigation pattern for multi-agent research
14
+ - Skill catalog surfaced in COO system prompt
15
+ - `e2e-test` skill added for end-to-end test execution
16
+ - Session greeting dedup guard — prevents repeated Telegram welcome messages on re-entry
17
+ - Launch preparation: README polish, test coverage improvements, security hardening
18
+
19
+ ### Fixed
20
+
21
+ - `pocketteam start` now correctly passes `--agent pocketteam/coo` flag to Claude Code
22
+ - Dashboard EmptyState properly displays new sessions without delegated agents
23
+
24
+ ---
25
+
26
+ ## [1.0.0] - 2026-03-30
27
+
28
+ ### Added
29
+
30
+ - **Self-Healing via GitHub Actions** — 24/7 monitoring of health and log endpoints
31
+ - GitHub Actions workflow checks `/health` and `/logs` every hour
32
+ - On failure: triggers Claude Code COO session on your machine via `/trigger-session`
33
+ - COO analyzes, creates fix plan, notifies CEO via Telegram
34
+ - CEO approves before any changes — no autonomous fixes
35
+ - **GitHub Integration in Init** — Step 5 automates full GitHub setup
36
+ - Creates repo via `gh` CLI (or uses existing)
37
+ - Sets secrets: ANTHROPIC_API_KEY, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, GH_PAT
38
+ - Pushes monitoring workflow automatically
39
+ - Fine-grained PAT for private repo access in GitHub Actions
40
+ - **Agent Registry for Safety Allowlist** — resolves Claude Code internal agent hash IDs to PocketTeam agent names
41
+ - SubagentStart writes `agent_id → agent_type` mapping to `.pocketteam/agent-registry.json`
42
+ - Guardian reads registry before checking the allowlist
43
+ - Fixes critical bug where all subagent tool calls were denied as "Unknown agent"
44
+ - **59 skills** (was 37) — added `create-skill`, `add-mcp-server`, and 20 others
45
+ - **Agent SDK Integration Tests** — 47 tests covering healer, health checker, escalation, GitHub setup
46
+ - Fake HTTP server with chaos modes for testing
47
+ - CI workflow: `pocketteam-sdk-test.yml` (mock + live matrix)
48
+ - **Wave-Based Parallel Execution** — COO can run multiple agents simultaneously
49
+ - **Pre-Compact Context Snapshots** — task/plan/agent context preserved across context compaction
50
+ - **Auto-Triggered Session Detection** — marker file suppresses greeting for automated sessions
51
+
52
+ ### Changed
53
+
54
+ - Version bumped from 0.1.0 to 1.0.0
55
+ - Healer rewritten: CEO-in-the-loop instead of autonomous auto-fix
56
+ - `GitHubActionsConfig` → `GitHubConfig` with repo_name, repo_owner, repo_private fields
57
+ - Backwards compat: `cfg.github_actions` still works as alias for `cfg.github`
58
+ - Repository URLs updated from pocketteamtest to PocketTeam
59
+ - Telegram daemon: sessions started with `-p` flag skip greeting message
60
+
61
+ ### Fixed
62
+
63
+ - Agent allowlist: hash IDs now resolved to names via registry (was 100% denied)
64
+ - Workflow push: uses `git add -f` to override .gitignore
65
+ - Workflow push: uses `git push -u origin HEAD` for fresh branches
66
+ - Healer: reads Telegram credentials from env vars in CI (not just config)
67
+ - Dashboard: better error message when `dashboard/` directory not found
68
+
69
+ ---
70
+
71
+ ## [0.1.0] - 2026-03-26
72
+
73
+ ### Added
74
+
75
+ - **12 specialized agents** with role-based permission models (COO, Product, Planner, Reviewer, Engineer, QA, Security, DevOps, Investigator, Documentation, Monitor, Observer)
76
+ - **Observer agent** for team learning and continuous improvement
77
+ - Analyzes completed tasks for error patterns
78
+ - Updates agent prompts with learnings
79
+ - Tracks recurring issues and positive patterns
80
+ - Stores learnings in `.pocketteam/learnings/`
81
+ - **Real-time 3D isometric dashboard** showing live agent activity, cost tracking, and team status
82
+ - Pixel-art Habbo-style office visualization
83
+ - Live event feed with agent actions and audit trail
84
+ - Session picker for multi-session monitoring
85
+ - Usage tracking (tokens, cost per agent, subscription vs API breakdown)
86
+ - **9-layer safety system** with runtime hooks that survive context compaction
87
+ - PreToolUse and PostToolUse validation hooks
88
+ - Network allowlist enforcement
89
+ - Secrets detection and redaction
90
+ - D-SAC v3.1 pattern for destructive operations (tool-call hash binding, re-initiation tracking)
91
+ - Kill switch (< 1 second response time)
92
+ - **4 workflow modes** for different use cases
93
+ - `autopilot:` full autonomous pipeline (plan → implement → test → deploy)
94
+ - `ralph:` persistent mode with automatic fix loops until all tests pass
95
+ - `quick:` speed mode skipping reviews
96
+ - `deep-dive:` parallel research agents for thorough analysis
97
+ - **37 specialized skills** across the team
98
+ - Product: market research, competitive analysis, product briefs
99
+ - Planning: task breakdown, risk assessment, breaking-change plans
100
+ - Engineering: scaffolding, debugging, hotfixes, refactoring
101
+ - QA: smoke tests, visual QA, test data setup, E2E testing
102
+ - Security: OWASP audits, CVE scanning, threat modeling
103
+ - DevOps: staging deploys, canary releases, rollbacks
104
+ - Documentation: README updates, architecture docs, stale-doc audits
105
+ - Observer: retro, propose-improvements, weekly-digest
106
+ - **Configuration system** with `.pocketteam/config.yaml`
107
+ - Auth modes (subscription, API key, hybrid)
108
+ - Telegram integration with persistent sessions and auto-resume
109
+ - Monitoring with auto-fix policy and staging-first deployment
110
+ - Budget limits per agent per task
111
+ - Network domain allowlist
112
+ - Dashboard configuration
113
+ - **WebSocket real-time communication** between dashboard and backend
114
+ - Agent spawn/update/complete events
115
+ - Event stream with full audit trail
116
+ - Debounced message batching (200ms)
117
+ - Bearer token authentication with 60s ticket TTL
118
+ - **Telegram integration** with inbox persistence
119
+ - Message recovery across session restarts
120
+ - Message status tracking (received → presented)
121
+ - Auto-resume on new messages
122
+ - **Event stream persistence** at `.pocketteam/events/stream.jsonl`
123
+ - Agent lifecycle events (spawn, complete)
124
+ - Tool call tracking and duration recording
125
+ - **Browser automation** via ptbrowse skill
126
+ - Headed browser mode for visual debugging
127
+ - Session management and screenshot capture
128
+ - **Git workflow integration**
129
+ - Automatic stale branch cleanup
130
+ - Release branch detection and versioning
131
+ - **CLI with extensive commands**
132
+ - `pocketteam init` — project initialization
133
+ - `pocketteam skill` — skill management (list, run, create)
134
+ - `pocketteam agent` — agent status and management
135
+ - `pocketteam monitor` — health check daemon
136
+ - `pocketteam logs` — unified log viewer
137
+
138
+ ### Changed
139
+
140
+ - **D-SAC upgraded to v3.1** with improved safety guarantees
141
+ - Tool-call hash binding (prevents operation scope substitution)
142
+ - Re-initiation tracking via sequence file
143
+ - Lock file creation with 0o600 permissions
144
+ - Persistent session_id fallback mechanism
145
+ - Upgraded dashboard frontend to React 18 with TypeScript
146
+ - Refactored WebSocket message types for stricter typing
147
+ - Improved agent lifecycle tracking with transcript-based tool call counting
148
+ - Enhanced auth system with timing-safe comparison to prevent token oracle attacks
149
+ - Switched from docker-compose v1 to v2 with fallback support
150
+ - Updated isometric rendering engine for smoother animations and better pixel-art quality
151
+
152
+ ### Fixed
153
+
154
+ - COO live status now correctly reflects subagent activity
155
+ - Session detection improved for multi-session scenarios
156
+ - Layout overlaps in the 3D office view resolved
157
+ - Fixed idle animation timing and state management
158
+ - Kill switch response time now < 1 second (previously 2-5s)
159
+ - Network hook now correctly validates approved domains
160
+
161
+ ### Security
162
+
163
+ - Bearer token authentication with timing-safe comparison on all API routes
164
+ - Secrets redaction on WebSocket messages (tool_result content stripped)
165
+ - Two-layer redaction system: sensitive content removal + regex-based redaction
166
+ - Network allowlist with approved domains (GitHub, npm, PyPI, Supabase, etc.)
167
+ - D-SAC pattern for destructive batch operations with approval tokens (5 min TTL)
168
+ - Sensitive files protected (config.yaml: 0o600)
169
+ - Environment variable isolation (.env files gitignored)
170
+
171
+ ### Deprecated
172
+
173
+ - `docker-compose` (v1) — use `docker compose` (v2) instead
174
+
175
+ ### Removed
176
+
177
+ - Disabled old survey aggregation endpoint (no longer used)
178
+
179
+ ---
180
+
181
+ ## Release Notes
182
+
183
+ ### How to Deploy
184
+
185
+ 1. **Initialize a project** with `pocketteam init`
186
+ 2. **Configure** via `.pocketteam/config.yaml`
187
+ 3. **Start the dashboard** with `pocketteam dashboard start`
188
+ 4. **Send a task** via Telegram or Claude Code's input
189
+
190
+ ### Next Steps
191
+
192
+ - Dashboard persistence (session state saved to disk)
193
+ - Advanced monitoring with custom health checks
194
+ - Multi-project dashboard aggregation
195
+ - Team slack integration