Source-grounded Go intelligence, change continuity, guarded refactoring, and whole-package verification for coding agents.
agentic-go demonstrates strong naming conventions (verb_noun pattern: go_workspace_brief, go_search, go_refactor) and comprehensive parameter schemas with types and descriptions. Tool descriptions are detailed and domain-specific, explaining source-grounding and snapshot-binding semantics. However, output schemas are not explicitly documented in the provided source, and error handling guidance is minimal. The 15-tool portfolio is well-composed with clear separation of concerns (intelligence, change, refactoring, verification, testing). Snapshot-bound parameters (expected_snapshot_id) and change contract continuity patterns show sophisticated design for agent state management. Missing: explicit output schema documentation, error recovery guidance, and per-parameter constraint documentation (ranges, enums).
Audits Go code for concurrency issues.
Audits Go code for error handling issues.
Creates a private Change Contract for continuity; does not edit source.
Compares benchmark results between two commits.
Updates a private Change Contract with structural drift; does not edit source.
Before editing unfamiliar or cross-package Go code, call with base and one selector group (query, symbol_ref, file+line+column, or focus_file/focus_package) to map impact and verification applicability. After editing, refresh with base and previous_pack_id only; stale selectors and refs are expected to be rejected, so select current evidence.
Output schemas not documented. Tools return structured results but LLMs cannot see field definitions, types, or required fields. Forces LLMs to infer output structure from descriptions alone.
Audit and testing tools (go_race_report, go_audit_concurrency, go_audit_errors) have minimal descriptions (65 chars or less). Descriptions do not explain when to call them, what they return, or how results guide next steps.
Error handling guidance absent. Tools validate inputs (e.g., validateChangeBaseGoal) but error responses do not guide LLM recovery. No indication of retryability, user-fixable vs fatal errors, or suggested next steps.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 70 | 2025-06-18+ | v2 |
Identifies test coverage gaps in Go code.
Identifies flaky tests in Go code.
Detects race conditions in Go code.
Previews deterministic gopls refactors and applies only an explicitly approved, snapshot-bound plan to existing contained non-generated files. It does not stage, commit, or change Git history.
Searches workspace symbols with snapshot-bound source provenance.
Returns source-grounded context and relationships for one Go symbol.
Runs Go tests with structured output and optional filtering.
Verifies a private Change Contract against structural policies and test coverage.
Returns a compact, source-grounded brief of the Go workspace.
Parameter constraints not documented. Numeric params (max_bytes, limit, runs, threshold) lack min/max bounds in descriptions. Enum-like params (operation: rename|format|organize_imports|fix_all) not declared as enums.
go_context parameter documentation is dense and unclear. 15 parameters with complex mutual exclusivity rules (query vs symbol_ref vs file+line+column vs focus_file vs focus_package vs previous_pack_id) not clearly explained. LLMs will struggle to select correct parameter combinations.