[
  {
    "id": "task-20260304-211216-acp-claude-codex",
    "created_at": "2026-03-04T21:12:16Z",
    "title": "Fix ACP runtime failures for Claude Code and Codex agents",
    "owner": "zap",
    "priority": "high",
    "status": "in-progress",
    "details": "Historical evidence said Claude/Codex ACP runs failed with `acpx exited with code 1/5`. Latest focused pass narrowed the live issue: direct bundled `acpx` now shows Codex working, while Claude returns top-level JSON-RPC `Authentication required` errors and exits 0. A focused upstream fix now makes the bundled acpx runtime surface those JSON-RPC prompt errors instead of silently treating them as success. Remaining work: validate through the real OpenClaw ACP session path once ACP is explicitly configured here, or capture a fresh repro of the older exit-code crashes.",
    "notes": [
      "Reported by Will on 2026-03-04.",
      "Added as deferred follow-up while immediate LiteLLM route fix was applied directly.",
      "2026-03-13 follow-up: exact historical `acpx exited with code 1/5` crashes were not reproduced. Live direct bundled-acpx repros showed Codex success and Claude top-level JSON-RPC auth errors with clean exit 0.",
      "2026-03-13 follow-up: fixed bundled acpx prompt parsing in external/openclaw-upstream so top-level JSON-RPC error responses now emit ACP runtime error events instead of being dropped. Targeted validation passed: 22 tests across events/control-errors/runtime test files.",
      "2026-03-13 remaining step: validate the fix through a real OpenClaw ACP session once `acp`/`acpx` is explicitly enabled in local config, or wait for a fresh end-to-end repro of the older exit-code failures."
    ]
  },
  {
    "id": "task-20260304-2215-subagent-reliability",
    "created_at": "2026-03-04T22:17:23Z",
    "title": "Fix subagent reliability and completion-event spam handling",
    "owner": "zap",
    "priority": "high",
    "status": "in-progress",
    "details": "User explicitly requested that subagent tooling reliability be fixed. Follow up on repeated subagent timeout behavior, ACP/subagent failure modes, and delayed completion-event spam that caused repeated \"ok\" replies.",
    "notes": [
      "Requested by Will on 2026-03-04 22:15 UTC.",
      "Do not close until subagent path is stable under real workload and duplicate completion spam is prevented.",
      "Implemented local TUI filtering patch in openclaw dist to suppress internal runtime completion context blocks (tui-LeOEBhMz.js).",
      "Patch timestamp: 2026-03-04T22:31:50Z",
      "Upstream patch committed in external/openclaw-upstream on branch fix/tui-hide-internal-runtime-context commit 0f66a4547 (suppress internal runtime completion context blocks in TUI formatter).",
      "Validation: pnpm test:fast completed successfully (812 files / 6599 tests passing) at 2026-03-04T22:53:29Z",
      "2026-03-13: confirmed corrected LiteLLM run was still failing (child transcript showed assistant 429/plan error for GLM-5) while runs.json incorrectly stored outcome.status=ok and frozenResultText=null; implemented upstream branch fix/subagent-wait-error-outcome to derive terminal subagent outcome from latest assistant error state, with targeted validation (50 tests passed across 3 files).",
      "2026-03-13 later: live gpt-5.4 success repro passed (run 23750d80-b481-4f50-b219-cc9245be405f). Live gpt-5.4 failure repro also passed for subagent persistence/announcement handling: child run b50cb91f-6219-44f7-9d2f-a1264ac7ceaf ended with transcript stopReason=error + context_length_exceeded, and runs.json now stored outcome.status=error / endedReason=subagent-error / frozenResultText non-null. Remaining open nuance: raw agent.wait for that same failed child still returned status=ok.",
      "2026-03-13 later: traced raw agent.wait=status:ok-on-terminal-error to an upstream bug in commands/agent.ts fallback lifecycle emission (phase:end emitted even when resolved run meta.stopReason=error). Added focused upstream fix plus dedupe-path handling/tests on branch fix/subagent-wait-error-outcome; targeted validation passed (81 tests across commands/agent.test.ts, gateway/server-methods/agent-wait-dedupe.test.ts, gateway/server-methods/server-methods.test.ts). Live verification of the new agent.wait behavior remains open.",
      "2026-03-13 final live pass: a fresh source-run gateway on port 18902 still returned agent.wait status=ok for run gwc-live-agent-wait-gpt53-source-1773427981614 even though the same session's terminal assistant message had provider=openai-codex model=gpt-5.3-codex stopReason=error with context_length_exceeded. Most likely remaining gap: an inner lifecycle emitter still marks the live direct gateway path as phase:end early enough that waitForAgentJob resolves ok before dedupe/result-meta rescue logic can win.",
      "2026-03-13 final focused pass: closed the remaining raw agent.wait bug. Root cause was the live direct gateway path receiving agent_end with a terminal assistant error but no preceding message_end, leaving stale assistant state and still emitting lifecycle phase:end. Final fix updated embedded subscribe lifecycle handling to recover terminal assistant errors from agent_end/session state and updated gateway server-methods/agent.ts to derive final RPC status from observed lifecycle + resolved result metadata. Validation passed (108 tests across 5 files). Live source-gateway repro on port 18903 then returned finalStatus:error and agent.wait status:error for run gwc-live-agent-wait-gpt53-source-fixed2-1773429512008."
    ]
  },
  {
    "id": "task-20260305-0838-council-personality-depth",
    "created_at": "2026-03-05T08:38:00Z",
    "title": "Revisit council subagent personality depth",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Explore richer personality backstories and communication styles for council advisor agents beyond the current role/lens/stance pattern.",
    "notes": [
      "From council skill brainstorm session 2026-03-05."
    ]
  },
  {
    "id": "task-20260305-0838-council-skill-name",
    "created_at": "2026-03-05T08:38:00Z",
    "title": "Revisit council skill name",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "council works for now but revisit whether a better name fits as the feature matures.",
    "notes": [
      "From council skill brainstorm session 2026-03-05."
    ]
  },
  {
    "id": "task-20260311-1908-calendar-access",
    "created_at": "2026-03-11T19:08:00Z",
    "title": "Add calendar access/backend for proactive scheduling help",
    "owner": "zap",
    "priority": "medium",
    "status": "done",
    "details": "Set up or connect a calendar backend so zap can provide stronger calendar-aware assistance, daily briefs, and schedule checks.",
    "notes": [
      "Added from LAN-services gap review on 2026-03-11.",
      "Completed 2026-03-12: live n8n action bus now supports approval-gated Calendar actions (create, list, update, delete) via host-side gog bridge.",
      "Live workflow id: Jwi54VWMdlLqYnRo.",
      "Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md (decision to defer Drive/Docs/Sheets)."
    ]
  },
  {
    "id": "task-20260311-1908-email-access",
    "created_at": "2026-03-11T19:08:00Z",
    "title": "Add email/inbox access for triage and briefing",
    "owner": "zap",
    "priority": "medium",
    "status": "done",
    "details": "Set up access to a mail/inbox workflow so zap can help with triage, summaries, and urgent-message detection.",
    "notes": [
      "Added from LAN-services gap review on 2026-03-11.",
      "Completed 2026-03-12: live n8n action bus now supports approval-gated Gmail actions (draft create, list, delete, send) via host-side gog bridge.",
      "Live workflow id: Jwi54VWMdlLqYnRo.",
      "Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md (decision to defer Drive/Docs/Sheets)."
    ]
  },
  {
    "id": "task-20260311-1908-doc-search-corpus",
    "created_at": "2026-03-11T19:08:00Z",
    "title": "Add broader personal document/search corpus",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Expose a broader searchable corpus beyond the workspace memory so zap can search personal docs, notes, or repos more effectively.",
    "notes": [
      "Added from LAN-services gap review on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1908-homelab-observability",
    "created_at": "2026-03-11T19:08:00Z",
    "title": "Add more homelab observability/status endpoints",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Add additional LAN-accessible status or observability endpoints so zap can do more homelab health monitoring without extra shell work.",
    "notes": [
      "Added from LAN-services gap review on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1914-github-tooling",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Add stronger GitHub tooling (MCP or improved gh workflow helper)",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Improve structured GitHub operations beyond the current baseline by adding a reliable GitHub MCP/server or a stronger helper workflow around gh.",
    "notes": [
      "Added from tool wishlist on 2026-03-11.",
      "Nice-to-have rather than urgent because gh already covers a lot."
    ]
  },
  {
    "id": "task-20260311-1914-google-workspace-access",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Add Google Workspace access (Calendar/Drive/Docs/Gmail as appropriate)",
    "owner": "zap",
    "priority": "medium",
    "status": "done",
    "details": "Connect Google Workspace services where useful so zap can work with calendar, docs, drive, and/or gmail more directly.",
    "notes": [
      "Added from tool wishlist on 2026-03-11.",
      "Completed 2026-03-12: Gmail and Calendar are live via n8n action bus with approval gating and audit history.",
      "Drive/Docs/Sheets evaluated and deferred in WIP.drive-docs-sheets.md — revisit only when concrete use cases appear.",
      "Live workflow id: Jwi54VWMdlLqYnRo.",
      "Evidence: WIP.md + memory/2026-03-12.md + WIP.drive-docs-sheets.md."
    ]
  },
  {
    "id": "task-20260311-1914-ocr-pdf-extraction",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Add local OCR / PDF extraction capability",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Set up a local OCR or PDF extraction path so zap can better process scanned docs, screenshots, and mixed-content PDFs.",
    "notes": [
      "Added from tool wishlist on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1914-notes-connector",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Add notes-system connector (for example Obsidian or vault search)",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Connect an external notes system or searchable vault so important material outside this workspace is easier to access and reuse.",
    "notes": [
      "Added from tool wishlist on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1914-secret-manager-integration",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Evaluate password-manager / secret lookup integration",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Evaluate whether a minimal, safe secret lookup integration would be useful for ops workflows without creating too much trust or exposure risk.",
    "notes": [
      "Added from tool wishlist on 2026-03-11.",
      "High trust/safety surface; should be approached cautiously."
    ]
  },
  {
    "id": "task-20260311-1914-home-assistant-integration",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Evaluate Home Assistant / smart-home integration",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Evaluate whether Home Assistant or similar smart-home integration would add enough real utility to justify the additional complexity.",
    "notes": [
      "Added from tool wishlist on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1914-structured-data-connectors",
    "created_at": "2026-03-11T19:14:00Z",
    "title": "Evaluate structured data connectors (database/browser MCPs for regular local data)",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Evaluate whether database-oriented or structured-data MCPs would be useful for regular local data access patterns.",
    "notes": [
      "Added from tool wishlist on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-local-code-indexing",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add local code search / indexing across more repos",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Set up stronger local code search/indexing so zap can work across multiple repositories more effectively than raw grep alone.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-alert-ingestion",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add monitoring / alert ingestion",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Add inputs for meaningful alerts such as failed backups, service outages, disk pressure, SSL expiry, or cron failures so zap can summarize and react to them.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11.",
      "High practical value because it improves signal routing, not just raw visibility."
    ]
  },
  {
    "id": "task-20260311-1917-media-pipeline",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add stronger local media pipeline",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Improve local handling for audio cleanup, transcription post-processing, video frame extraction, and image captioning/tagging.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-people-context-layer",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Evaluate lightweight contact / people context layer",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Evaluate whether a lightweight people directory with preferred channels and important context would improve continuity without becoming creepy or high-maintenance.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-meeting-prep-pipeline",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add meeting-prep / briefing pipeline",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Build a pipeline that combines calendar, docs, notes, and recent messages into concise meeting-prep briefs.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11.",
      "Depends partly on better calendar/docs access."
    ]
  },
  {
    "id": "task-20260311-1917-notification-routing",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Improve notification routing policy",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Define better rules for when zap should send via webchat, Telegram, or quiet log-only updates as integrations expand.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-external-action-audit-log",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add change / audit log for external actions",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Create a lightweight audit trail for external actions such as email, calendar, task, or message operations to improve trust and traceability.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-sandbox-execution-helpers",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add safer sandboxed execution helpers",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Add more isolated ways to test scripts or tools before they touch real systems.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-update-intelligence",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add package / update intelligence",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Track meaningful updates for important services and summarize what actually matters instead of generating noisy generic update spam.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-local-docs-rag",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add local RAG over docs and manuals",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Set up a separate retrieval layer for homelab docs, OpenClaw docs, runbooks, or other manuals beyond the personal memory system.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-decision-log",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add lightweight decision log",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Create a small place to record important decisions and why they were made so that same choices do not get re-litigated repeatedly.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-operating-playbooks",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add standard operating playbooks for recurring workflows",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Create compact repeatable procedures for common workflows such as backup checks, outage triage, Telegram debugging, and OpenClaw update verification.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-dependency-inventory",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add dependency / credential inventory",
    "owner": "zap",
    "priority": "low",
    "status": "open",
    "details": "Create a safer map of which services depend on which credentials or systems without storing the secrets themselves.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11."
    ]
  },
  {
    "id": "task-20260311-1917-eval-harness",
    "created_at": "2026-03-11T19:17:00Z",
    "title": "Add eval / regression harness for core assistant behavior",
    "owner": "zap",
    "priority": "medium",
    "status": "open",
    "details": "Create repeatable checks to verify that memory recall, messaging, search routing, and subagent behavior still work after changes.",
    "notes": [
      "Added from second-wave improvements list on 2026-03-11.",
      "High leverage for trust and maintenance."
    ]
  }
]
