v1.3.188
v1.3.188
Overview
20 commits since v1.3.187. Major improvements in verification UX, metrics accuracy, cron reliability, and Git workflow integration.
Verification UX (1 fix)
- Silent freeze during verification — two stages of the post-run verification pipeline ran with no user-visible output for up to 30 seconds:
- LLM verify command decision: when deterministic build system detection fails, the agent silently calls the LLM to decide a verify command. Now shows "Determining verification command…" with elapsed-time logging.
- Lint check after build: after a successful build, the lint check ran silently (10-20s on large projects). Now shows "Running lint check…" in both sync and async verification paths.
Metrics Accuracy (2 fixes)
- TPS per-LLM-call calculation — TPS was incorrectly computed as
sum(tokens) / sum(duration - min(TTFT)), which only subtracted one prefill period even when a turn had multiple LLM calls. Each call has its own TTFT, so N-1 prefill periods were counted as decode time, deflating TPS. Fixed: each LLM call independently computesTPS = tokens / (Duration - TTFT), then the turn-level TPS is the simple average across all calls.
Cron Reliability (1 fix)
- Cron double-fire race — a race condition in
scheduleJobLockedcaused the same cron job to fire twice in quick succession. The timer callback released the mutex between reading job data and rescheduling; during this window, a concurrentUpdate/Resume/Createcall could create a new timer. When the original callback re-acquired the lock and calledscheduleJobLocked, it overwrote the timer map entry, orphaning the timer created by the concurrent call. Both timers then fired. Fixed with a per-job generation counter: eachscheduleJobLockedcall increments the generation, and the timer callback checks its captured generation at two points (before enqueue, before reschedule) to detect staleness.
Git Workflow Integration (2 features)
git_checkouttool — the agent had 11 git tools but lacked branch creation/switching. Any branch operation required falling back torun_command, bypassing safety checks. Newgit_checkouttool with branch name validation (blocks shell injection, git-reserved characters), start-point reference validation, and uncommitted-changes warning.- Multi-VCS checkout support — VCS interface gains
Checkoutmethod, implemented by Git, Mercurial, Jujutsu. Subversion returnsErrCheckoutNotSupported. Thegit_checkouttool usesvcs.Detect()to dispatch to the correct backend, matching the pattern used bygit_add/git_diff.
Metrics
- 20 commits since v1.3.187
- All tests passing: Go unit + integration tests (61 files, +6315 lines)
- Build: clean on all platforms (Linux/macOS/Windows, amd64/arm64)