v1.3.184
ggcode v1.3.184
Highlights
- Agent-side automatic task decomposition — deterministic complexity detection analyzes user prompts (file references, action verbs, sequential markers, architecture language, scope breadth, known multi-step patterns) and proactively suggests structured task decomposition via
todo_write. Inspired by Devin's Planner and Claude Code's auto-todo. Fully non-blocking, zero LLM cost. - Code execution label fix —
code_executiontool now requires adescriptionparameter so the TUI shows meaningful activity labels (e.g. "Searching for TODO patterns") instead of just "Code Execution". - Rich system prompt context — the agent now sees installed toolchain versions (Go, Node, Python), Go package symbol maps (AST-based), and rich git status (branch, dirty count, ahead/behind) in its system prompt for better codebase awareness.
New features
- agent: iteration-budget convergence pressure at 85% and 95% of maxIter
- agent: proactive context budget efficiency hints at 70% and 85% fill
- agent: annotate memoize cache-hit results for context efficiency
- agentruntime: inject project build/test commands (Makefile, Justfile, Taskfile) into system prompt
- agent: synchronous in-loop verification with auto-repair (fix-on-fail, up to 3 retries)
- agent: file integrity guard for optimistic concurrency control via mtime tracking
- tool: clipboard read/write (cross-platform)
- tool: pre-commit diff quality scanner (debug statements, secrets, TODOs)
- tool: post-edit LSP diagnostics for instant compile feedback
- tool: include compact unified diff in edit/write tool results
- tool: preserve critical lines (errors, panics) during output truncation
- tool: JSON repair for malformed tool call arguments
- lsp: lsp_document_highlights for in-file symbol tracking
- vcs: enriched git status with ahead/behind tracking
Fixes
- permission: remove nested RLock in Check that risks writer-starvation deadlock
- config: fix mcp_servers.yaml loading (YAML array parsed as map) and Save first-write data leakage
- lsp: restore missing name field on lsp_symbols tool
- config: SaveMCPServers writes to mcp_servers.yaml not main config
- tui: compatibility shims for refactored tunnel/pending APIs
- harness: define missing test helpers and fix broken comparisons
- graceful truncation recovery — keep partial output and auto-continue
Code cleanup
- remove confirmed dead code across tui/chat/agent/harness/cmd (-1245 lines)
- remove test-only dead code and unused files (test_handler.go, fullscreen.go)
Upgrade notes
No breaking changes. No configuration migration required.