v1.3.189
86 commits since v1.3.188 (2026-08-01)
Highlights
- Write-time code quality guards: 9 new post-write integrity checks — Unicode character detection, commented-out code, unterminated strings/comments, Python indentation, duplicate declarations, context leak detection, config syntax validation, test gaming detection, and auto-format for 7 languages.
- Streaming UX overhaul:
wait_agent, wait_command, and run_command now stream live progress to the TUI. Running tool calls show animated rotating icon (◐◓◑◒).
- Agent intelligence gates: Self-correction stability gate, convergence lock, change reconciliation, verification regression detection, task re-anchoring, and tool sequence validation.
- Git workflow: Full git toolset (revert/reset/tag), smart commit partitioning, pre-commit build gate, protected branch warnings.
- Cross-tool compatibility: Reads
.cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md.
- MCP ecosystem: Dynamic tool refresh, elicitation support, sampling/createMessage.
New Features
Write-Time Code Quality Guards
| Check |
Description |
| Unicode character detection |
Flags smart quotes, non-breaking spaces, zero-width chars, BOM, em-dashes introduced by LLM |
| Commented-out code detection |
Warns when large commented-out code blocks appear in edits |
| Unterminated string/comment detection |
Catches unclosed string literals, block comments, Python triple-quotes at EOF |
| Python indentation consistency |
Detects mixed tabs/spaces in .py indentation (would cause TabError) |
| Duplicate declaration detection |
Catches redeclared Go symbols in post-write check |
| Context leak detection |
Flags context.TODO()/context.Background() in functions that already receive ctx context.Context |
| Config syntax validation |
Post-edit validation for JSON/YAML/TOML/XML config files |
| Auto-format on write |
Runs gofmt/rustfmt/black/prettier/clang-format/dart format on file write |
| Test gaming detection |
Catches agents that delete tests, add t.Skip(), or remove assertions instead of fixing code |
Agent Intelligence & Safety Gates
- EIR-based self-correction stability gate: Prevents oscillating correction loops by tracking edit-to-verification ratio.
- Post-verification convergence lock: Detects and warns about unnecessary edits after successful verification.
- Pre-completion change reconciliation gate: Ensures all modified files are accounted for before task completion.
- Verification regression detection: Detects when a correction introduces new failures.
- Task re-anchoring: Prevents context collapse from losing track of the original task.
- Tool call sequence validator: Detects cross-iteration anti-patterns (e.g., repeated failed edits to same file).
- Undo-triggered correction feedback: Agent learns from undo operations.
Streaming UX
wait_agent live progress: Streams sub-agent status, tool count, current tool, and progress summary during polling.
wait_command live output: Scrolling log effect with [...]/[completed] status prefix.
run_command real-time output: Up to 5 lines of live command output during execution.
- Animated tool call icon: Running tools show rotating quarter-circle (◐◓◑◒) instead of static circle.
start_command initial output: Shows first 3s of output (later reverted per user preference).
Git Workflow
| Tool/Feature |
Description |
git_revert |
Revert commits safely |
git_reset |
Reset staging area / working tree |
git_tag |
Create, list, delete tags |
| Smart commit partitioning |
Suggests logical commit grouping for large changes |
| Pre-commit build gate |
Verifies code compiles before allowing git_commit |
| Protected branch warning |
Warns when editing on main/master/develop |
| Destructive command detection |
Blocks git push --force, git reset --hard, etc. |
MCP Ecosystem
- Dynamic tool refresh: Server tool list changes are detected and applied without restart.
- Elicitation (
elicitation/create): Servers can request structured input from the user.
- Sampling (
sampling/createMessage): Servers can request LLM completions via the host agent.
- Full capability detection: Complete Agent Card / tool / prompt / resource discovery.
Session & Context
- Smart session title: Auto-generates descriptive titles from conversation content.
- Cross-session search (
/search): Full-text search across all session histories.
- Session preview snippet: Resume picker shows a content preview for each session.
- Recent git commits in system prompt: Injects last N commits for session continuity.
- Per-session tool call budget: Progressive enforcement of tool call limits.
Cross-Tool Compatibility
- Reads rules from
.cursorrules, .windsurfrules, .clinerules, .github/copilot-instructions.md in addition to GGCODE.md/AGENTS.md/CLAUDE.md.
Provider & Model
- OpenAI adaptive sampling: Per-turn temperature/top_p control based on task phase.
- Gemini reasoning effort + tool choice: Full
thinking_budget and tool_choice support.
- Adaptive per-tool timeout: Based on tool category and observed latency baseline.
Developer Experience
open_editor tool: Launch files in user's external IDE with line/column jump.
undo_edit agent tool: Revert file edits made in the current session.
/undo-run command: Batch revert all file changes from a specific run.
/goal command: Persistent autopilot goal injection.
- Auto-detect lint/format commands: Scans Makefile/package.json and injects into system prompt.
- Auto-remove unused Go imports: On file write.
- Post-edit LSP diagnostics: Cross-package diagnostic detection with baseline diffing.
Security
- Network egress detection: Warns about outbound network calls (data exfiltration prevention).
- Output redirection guard: Detects writes to sensitive system paths (
/dev/, /etc/, etc.).
- Blind write detection: Warns when overwriting files that haven't been read.
- Critical infrastructure file warnings: Special warnings for editing lock files, CI configs, etc.
- Pre-run dirty tree awareness: Captures working tree state before agent runs.
Fixes
- Tool progress callbacks decoupled from lanchat:
SetToolProgressCallback was inside SetLanChatHub() which was (a) never called if lanchat unconfigured, (b) called before r.program created. Extracted to standalone RegisterCallbacks().
- Cron double-fire on restart: Three-layer defense (enqueue debounce, generation tracking, timer reset).
- Cron debounce broke timer chain: Permanently stopped cron jobs after skip.
- Cron system messages missing timestamps: Added timestamp display.
run_command/wait_command streaming not rendering: ToolProgressKey was not injected into tool execution context.
- BashToolItem suppressed result body:
suppressBody flag incorrectly hid command output.
- Test flakiness: Hardened
TestOpenEditor_LaunchAndVerify, TestPostEditVerifyHintWithImpactAndCoverage, TestSyncVerify against CI load.
- Pre-commit diff scan: Now runs on
git_commit all:true path.
- Dead code removal: Cleaned up
summarizeCompilerErrors (reviewer P2).
Internal
- Per-tool description token budgeting for MCP schema bloat mitigation.
- Build/test output intelligence — structured command result extraction.
- Tool argument size guard for context efficiency.
- Delayed input-needed notifications for blocked agent runs.
- Companion file test coverage guard.
- Press Up arrow to de-queue pending messages while agent is busy.
- Persistent autopilot goal injection.
Compare