docs: master roadmap + P2–P7 TDD migration plans to 100% parity#1
Open
sqlrush wants to merge 17 commits into
Open
docs: master roadmap + P2–P7 TDD migration plans to 100% parity#1sqlrush wants to merge 17 commits into
sqlrush wants to merge 17 commits into
Conversation
added 17 commits
June 21, 2026 09:03
…diomatic error discard
…d non-allow paths
- Delete placeholder PermissionAskRequest; askRequest.req is now tool.PermissionAskRequest - Add loopAsker (asker.go) implementing tool.PermissionAsker via channel hand-off - Add showPermission + pendingAsk field; route askCh in Run select loop - Update handleKey to resolve dialog events and dispatch PermissionDecision - Add onPermissionShown test seam (nil in production) for deterministic gating - Tests: TestLoopAskerAllow (gated Enter→Allow) + TestDecisionFromAction (pure) - go test -race ./internal/repl/ passes all 19 tests; go build ./... clean
…loop exit Replace single pendingAsk with activeAsk + askQueue FIFO so concurrent tool asks are serialized rather than overwriting each other. Defer denyPendingAsks in the tty Run path to unblock all waiting askers (active, queued, in-channel) on any exit, preventing goroutine leaks when executors use context.Background().
- Add onTurnDone hook to Loop.finishTurn for test synchronization - Create internal/repl/run.go with newTurnLoop + RunInteractive - Replace scaffold stub in cmd/claude/main.go with interactiveRunner - Add deterministic e2e test in internal/repl/run_test.go (no t.Skip)
Add the parent roadmap and nine per-phase implementation plans that take ccgo from the merged Phase 1 (interactive REPL) to 100% functional parity. - 00-master-roadmap: locked scope, dependency graph, phase table, milestone gates, shared Global Constraints, plan index, and §10 code-verified corrections to the gap audit. - phase2 interactive-completeness (13 tasks), phase3 agent-loop-wiring (9), phase4 auth-oauth (7), phase5 tools (10), phase6a mcp-cli-remote-oauth (10), phase6b commands (13), phase6c memory-claudemd-rewind (8), phase6d hooks-lifecycle (9), phase7 sandbox-team-sdk (9). 88 TDD tasks total. Each plan was authored against the real code on both sides (ccgo + CC TS reference), not self-reported roadmap docs, and follows the Phase 1 exemplar format (failing test -> minimal impl -> verify -> commit).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds the parent roadmap and nine per-phase TDD implementation plans that take ccgo from the merged Phase 1 (interactive REPL) to 100% functional parity with Claude Code. No production code changes — planning docs only.
Every plan was authored by reading the real code on both sides (ccgo + the CC TypeScript reference), not self-reported roadmap docs, and follows the Phase 1 exemplar format (failing test → minimal impl → verify → commit) with exact
file:lineanchors and runnable verification commands.What's included
00-master-roadmap— locked scope, dependency graph, phase table, milestone gates, shared Global Constraints, plan index, §10 code-verified correctionsphase2-interactive-completeness(UI 复刻主体, critical path)phase3-agent-loop-wiring(cache / thinking / stop-reason)phase4-auth-oauthphase5-tools(prompts / web* / plan-ask / LSP)phase6a-mcp-cli-remote-oauthphase6b-commandsphase6c-memory-claudemd-rewindphase6d-hooks-lifecyclephase7-sandbox-team-sdk88 TDD tasks total across P2–P7 (~18K lines of plans).
Code-verified corrections to the gap audit (master §10)
Writing the plans against real code surfaced stale/imprecise audit items. Net: several subsystems are cheaper than audited (library built, glue missing), Phase 7 slightly larger.
~/.claude/history.jsonlstore already fully built (0 callers);claude mcp serve+ MCP elicitation protocol already complete (MCP net-new ≈1.8–2.5K, not ~6K); OAuthBuildAuthURL+ PKCE + endpoints already present;config.WriteSettingsDocument+native.BuildColorDiffalready exist for Phase 2.UserPromptSubmit/Stop/SubagentStopalready fire; CC has 27 events (~16 in scope, 8 already work); real gap = 6 events + sequential→paralleldeny>ask>allow.pause_turn(audit item 11) is absent from the CC reference → implement minimal resume.New dependencies the plans introduce (only where justified)
os/exec→/usr/bin/security, like CC).github.com/landlock-lsm/go-landlock+ promotegolang.org/x/systo direct; seccomp hand-rolled; macOS uses OSsandbox-exec.Cross-phase coupling to manage at execution
/permissions) + P6d (hook settingsOverride) — keep one writer.internal/repl/internal/tui— sequence P2 first or isolate in a worktree.Test plan
go build ./...unaffected (verified clean locally).superpowers:subagent-driven-developmentorexecuting-plans; per-task TDD steps carry their owngo testverification.