You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Prior audit is STALE: docs/refactor/03-feature-gaps-roadmap-proposal.md — superseded by this effort. So is docs/roadmap.md's status table (see baseline decision).
Audit tickets recorded findings as a resolution comment on their own ticket; full detail lives there — zoom in when reconciling.
Decisions so far
Audit: ECA server protocol surface (development.md + protocol.md) — 58 JSON-RPC methods across lifecycle / chat / context / tools / MCP / editor / completion / config / auth / jobs / server-driven, plus a rich chat/contentReceived content-type taxonomy. Surface the stale audit missed: provider/auth login (providers/*), MCP server CRUD+OAuth, background jobs API, chat steering + history pagination + flags, hooks, skills, subagents, task tool.
Audit: eca-nvim feature surface — ~40 items. Sidebar chat, approval popup with diff view, expandable reasoning, typewriter streaming, MCP status line, token/cost usage, @/# context refs, model/behavior + debug pickers. Notably no session/jobs browser exists in nvim.
Audit: eca-web feature surface — ~50 affordances. Prompt toolbar, tool-call + diff cards, approval flow, subagents, MCP / Providers / Jobs / Config / Logs settings tabs, markdown / thinking / task-list rendering, chat resume / timeline / flag / export. Built on the shared eca-webview core.
Audit: eca-desktop feature surface — thin Electron shell over the same eca-webview core as web (so its chat affordances overlap web: rollback / fork / flag, ask-question, pickers, MCP+OAuth, jobs, contexts). Desktop-only chrome: multi-session / multi-workspace, native menu+sidebar with approval badges, preferences window, auto-updater, centralized logs.
Baseline: eca-cli implemented surface — ~2,838 LOC. Phases 1a–5 built, plus MCP integration (phase 7) and @-refs + jobs (phase 11) already merged to main. docs/roadmap.md's status table is STALE — it doesn't reflect those, and still names the resume command /sessions when the code renamed it /chats. Unbuilt: phases 6, 8, 9, 10, and /rollback + /fork from 11.
Master gap inventory — ~30 deduped gap rows (upstream − baseline), grouped: chat-lifecycle protocol (steering, ask-question, rollback/fork, context picker, flags, history pagination), tool-call UX (diff render, granular shell approval, task panel), rendering (markdown→ANSI, url/OSC-8, context breakdown, images), panels (MCP CRUD, providers, config editor, logs), session mgmt (variant picker, export, multi-workspace, remote), and editor-oriented rows flagged as likely-out-of-scope for a TUI (rewrite, inline completion, diagnostics). Each row tagged size S/M/L + on-roadmap y/n(+phase). Full table in the resolution comment.
Not yet specified
Reconcile-roadmap decision — now UNBLOCKED, ticketed as Reconcile decision: fold gap inventory into roadmap phases 6-11+. Correct the drift the baseline found first (record merged MCP + @-refs/jobs; fix /sessions→/chats), then place each gap row into a phase and re-order. This is the frontier.
Destination
An approved reconciliation plan — a spec, not applied edits. It contains:
Editing
docs/roadmap.mdand doing the issue surgery are specified here and executed downstream — not inside this map.Notes
CLAUDE.md,docs/assessment.md.roadmap.mdor touch issues refactor: extract (key-press? + key-match?) pattern (25 sites) #5–15. Those are downstream execution./grilling+/domain-modelingfor the reconcile decisions;/researchfor audits.../eca(server),../eca-emacs,../eca-nvim,../eca-web,../eca-desktop.docs/refactor/03-feature-gaps-roadmap-proposal.md— superseded by this effort. So isdocs/roadmap.md's status table (see baseline decision).Decisions so far
chat/contentReceivedcontent-type taxonomy. Surface the stale audit missed: provider/auth login (providers/*), MCP server CRUD+OAuth, background jobs API, chat steering + history pagination + flags, hooks, skills, subagents, task tool.@/#context refs, model/behavior + debug pickers. Notably no session/jobs browser exists in nvim.eca-webviewcore.eca-webviewcore as web (so its chat affordances overlap web: rollback / fork / flag, ask-question, pickers, MCP+OAuth, jobs, contexts). Desktop-only chrome: multi-session / multi-workspace, native menu+sidebar with approval badges, preferences window, auto-updater, centralized logs.@-refs + jobs (phase 11) already merged tomain.docs/roadmap.md's status table is STALE — it doesn't reflect those, and still names the resume command/sessionswhen the code renamed it/chats. Unbuilt: phases 6, 8, 9, 10, and/rollback+/forkfrom 11.Not yet specified
/sessions→/chats), then place each gap row into a phase and re-order. This is the frontier.Out of scope
docs/roadmap.md, or creating / closing / relabelling any GitHub issue refactor: extract (key-press? + key-match?) pattern (25 sites) #5–15 (plan-only; downstream effort).