feat: wire up all Phase 2-6 features into daemon and config

Integrate all new features into the shared infrastructure:
- Config schema: add memory, discord, slack, process, web_search schemas
- Daemon wiring: memory store init, tool registration, channel adapters
- Orchestrator: memory injection into system prompt, extraction on compaction
- Agent: add setSystemPrompt() for dynamic prompt updates
- Channel/tool index: export new adapters and tool factories
- Add @slack/bolt, discord.js, turndown, linkedom, @mozilla/readability deps
- Update state.json with Phase 3b completion (494 tests passing)
This commit is contained in:
William Valentin
2026-02-06 14:24:39 -08:00
parent 6d9e27a591
commit 7a35b22458
12 changed files with 1099 additions and 4 deletions
+215
View File
@@ -0,0 +1,215 @@
{
"version": "1.0",
"updated_at": "2026-02-06",
"description": "Tracks the status of all Flynn plans and implementation phases",
"plans": {
"openclaw-feature-gap-analysis": {
"file": "2026-02-06-openclaw-feature-gap-analysis.md",
"status": "completed",
"date": "2026-02-06",
"summary": "Comprehensive comparison of Flynn vs OpenClaw. 118 features compared: 29 match, 11 partial, 78 missing."
},
"p0-p1-implementation-plan": {
"file": "2026-02-06-p0-p1-implementation-plan.md",
"status": "in_progress",
"date": "2026-02-06",
"summary": "7 features across 7 phases (0-6). Estimated 15-22 days total.",
"phases": {
"phase_0_multi_model_delegation": {
"priority": "P0",
"status": "completed",
"description": "AgentOrchestrator with sub-agent delegation to different model tiers",
"files_created": [
"src/backends/native/orchestrator.ts",
"src/backends/native/orchestrator.test.ts",
"src/backends/native/prompts.ts"
],
"files_modified": [
"src/daemon/index.ts",
"src/config/schema.ts"
],
"test_status": "20/20 passing"
},
"phase_1_context_compaction": {
"priority": "P0",
"status": "completed",
"description": "Token estimation, auto-compaction, /compact command, SQLite history replacement",
"files_created": [
"src/context/tokens.ts",
"src/context/tokens.test.ts",
"src/context/compaction.ts",
"src/context/compaction.test.ts",
"src/context/index.ts"
],
"files_modified": [
"src/backends/native/orchestrator.ts",
"src/session/manager.ts",
"src/session/store.ts",
"src/config/schema.ts",
"src/daemon/index.ts",
"src/frontends/tui/commands.ts"
],
"test_status": "21/21 passing"
},
"phase_2_memory_system": {
"priority": "P0",
"status": "completed",
"description": "Persistent memory with file-based storage, memory tools, auto-extraction after compaction",
"depends_on": ["phase_0", "phase_1"],
"files_created": [
"src/memory/store.ts",
"src/memory/store.test.ts",
"src/memory/index.ts",
"src/tools/builtin/memory-read.ts",
"src/tools/builtin/memory-write.ts",
"src/tools/builtin/memory-search.ts"
],
"files_modified": [
"src/tools/builtin/index.ts",
"src/config/schema.ts",
"src/backends/native/agent.ts",
"src/backends/native/orchestrator.ts",
"src/context/compaction.ts",
"src/daemon/index.ts"
],
"test_status": "17/17 passing"
},
"phase_3_messaging_channels": {
"priority": "P1",
"status": "in_progress",
"description": "Discord, Slack, WhatsApp channel adapters",
"sub_phases": {
"3a_discord": {
"status": "completed",
"effort": "1-2 days",
"files_created": [
"src/channels/discord/adapter.ts",
"src/channels/discord/adapter.test.ts",
"src/channels/discord/index.ts"
],
"files_modified": [
"src/config/schema.ts",
"src/channels/index.ts",
"src/daemon/index.ts"
],
"test_status": "22/22 passing"
},
"3b_slack": {
"status": "completed",
"effort": "1 day",
"files_created": [
"src/channels/slack/adapter.ts",
"src/channels/slack/adapter.test.ts",
"src/channels/slack/index.ts"
],
"files_modified": [
"src/config/schema.ts",
"src/channels/index.ts",
"src/daemon/index.ts",
"package.json"
],
"new_dependencies": ["@slack/bolt"],
"test_status": "22/22 passing",
"notes": "Socket Mode only (HTTP fallback deferred). Slash commands deferred. User ID used as senderName (display name resolution is a follow-up)."
},
"3c_whatsapp": { "status": "not_started", "effort": "2-3 days" }
},
"planned_files": [
"src/channels/discord/adapter.ts",
"src/channels/discord/index.ts",
"src/channels/slack/adapter.ts",
"src/channels/slack/index.ts",
"src/channels/whatsapp/adapter.ts",
"src/channels/whatsapp/index.ts",
"src/channels/utils/chunking.ts",
"src/channels/utils/auth.ts",
"src/channels/utils/markdown.ts"
]
},
"phase_4_web_search": {
"priority": "P1",
"status": "completed",
"description": "Web search tool (Brave Search API + SearXNG fallback)",
"effort": "0.5 day",
"files_created": [
"src/tools/builtin/web-search.ts",
"src/tools/builtin/web-search.test.ts"
],
"files_modified": [
"src/config/schema.ts",
"src/tools/builtin/index.ts",
"src/tools/index.ts",
"src/daemon/index.ts"
],
"test_status": "14/14 passing"
},
"phase_5_background_exec": {
"priority": "P1",
"status": "completed",
"description": "Background process management tools (start, status, output, kill, list)",
"effort": "1-2 days",
"files_created": [
"src/tools/builtin/process/manager.ts",
"src/tools/builtin/process/start.ts",
"src/tools/builtin/process/status.ts",
"src/tools/builtin/process/output.ts",
"src/tools/builtin/process/kill.ts",
"src/tools/builtin/process/list.ts",
"src/tools/builtin/process/index.ts",
"src/tools/builtin/process/manager.test.ts"
],
"files_modified": [
"src/config/schema.ts",
"src/tools/builtin/index.ts",
"src/tools/index.ts",
"src/daemon/index.ts"
],
"test_status": "28/28 passing"
},
"phase_6_enhanced_web_fetch": {
"priority": "P1",
"status": "completed",
"description": "HTML-to-markdown extraction, format parameter, response caching",
"effort": "1 day",
"files_modified": [
"src/tools/builtin/web-fetch.ts",
"src/tools/builtin/web-fetch.test.ts"
],
"new_dependencies": ["turndown", "linkedom", "@mozilla/readability", "@types/turndown"],
"test_status": "10/10 passing"
}
}
},
"earlier_plans": {
"status": "completed",
"summary": "Original design and implementation phases from 2026-02-02 to 2026-02-05",
"plans": [
{ "file": "2026-02-02-flynn-design.md", "status": "completed" },
{ "file": "2026-02-02-flynn-phase1-implementation.md", "status": "completed" },
{ "file": "2026-02-02-flynn-phase2-implementation.md", "status": "completed" },
{ "file": "2026-02-05-flynn-phase3-implementation.md", "status": "completed" },
{ "file": "2026-02-05-tui-redesign.md", "status": "completed" },
{ "file": "2026-02-05-tui-redesign-implementation.md", "status": "completed" },
{ "file": "2026-02-05-llamacpp-integration-design.md", "status": "completed" },
{ "file": "2026-02-05-llamacpp-implementation.md", "status": "completed" },
{ "file": "2026-02-05-backend-switch-design.md", "status": "completed" },
{ "file": "2026-02-05-backend-switch-implementation.md", "status": "completed" },
{ "file": "2026-02-05-openclaw-parity-design.md", "status": "completed" },
{ "file": "2026-02-05-phase1-tool-framework.md", "status": "completed" },
{ "file": "2026-02-05-phase2-websocket-gateway.md", "status": "completed" },
{ "file": "2026-02-05-phase3-channel-adapters.md", "status": "completed" },
{ "file": "2026-02-05-phase5-cli-cron-doctor-design.md", "status": "completed" },
{ "file": "2026-02-05-phase5a-implementation.md", "status": "completed" }
]
}
},
"overall_progress": {
"total_test_count": 494,
"all_tests_passing": true,
"p0_completion": "3/3 (100%)",
"p1_completion": "3/4 (75%)",
"next_up": "phase_3c_whatsapp_adapter"
}
}