Skip to content

v1.3.185

Choose a tag to compare

@topcheer topcheer released this 30 Jul 03:45
· 2026 commits to main since this release

v1.3.185

Features

Multi-Language Test Impact Analysis

  • Extended TIA to support 8 languages: Go, TypeScript/JavaScript, Python, Rust, Java, Ruby, Swift, Dart
  • Language-specific test file detection (e.g., *.test.ts, test_*.py, *_test.rb)
  • Regex-based function extraction for coverage gap detection across all languages
  • Language-aware targeted test commands (npx vitest, pytest, cargo test, mvn test, etc.)
  • Go retains AST-based precision; other languages use zero-dependency regex extraction
  • Go-specific: AST function-level coverage detection + import-graph transitive impact analysis

Spec-Driven Development Pipeline

  • Markdown spec parser: spec → structured requirements → harness tasks
  • Automatic dependency mapping with cycle detection
  • Acceptance criteria validation
  • Harness Task struct enhanced with SpecRef, AcceptanceCriteria, Metadata fields

Persistent Background BM25 Code Index

  • code_search tool now backed by persistent BM25 index stored on disk
  • Async background build — never blocks the agent loop
  • mtime-based incremental updates
  • Cross-process file locking (flock on Unix, LockFileEx on Windows) — only one ggcode instance writes index per workspace
  • code_search registered as read-only tool across all subsystems (permissions, memoize, ACP, A2A, chat display)

Stale-Read Aware Diagnostics

  • edit_file, multi_edit_file, multi_file_edit now detect when a file was modified externally since the agent's last read
  • Error messages include actionable context instead of bare "old_text not found"

No-Op File Write Guard

  • All 4 file-editing tools (edit_file, write_file, multi_edit_file, multi_file_write) now skip writes when content is identical
  • Eliminates unnecessary mtime changes, cache invalidation, and checkpoint saves
  • Multi-file tools report skipped files with count and paths

Fixes

  • Split code index lock into platform-specific files for Windows compatibility
  • BM25 camelCase splitting improved for digit→letter transitions (e.g., "BM25Index" → "BM25", "Index")
  • code_execution tool schema: added top-level description parameter for TUI rendering

Tests

  • 51+ new tests across multi-language TIA, spec parser, stale-read diagnostics, and no-op guard
  • Full make verify-ci passing: Go + Desktop + Frontend (113/113)