Skip to content

v1.3.188

Choose a tag to compare

@topcheer topcheer released this 01 Aug 05:29
· 1928 commits to main since this release

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 computes TPS = 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 scheduleJobLocked caused 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 concurrent Update/Resume/Create call could create a new timer. When the original callback re-acquired the lock and called scheduleJobLocked, 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: each scheduleJobLocked call 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_checkout tool — the agent had 11 git tools but lacked branch creation/switching. Any branch operation required falling back to run_command, bypassing safety checks. New git_checkout tool 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 Checkout method, implemented by Git, Mercurial, Jujutsu. Subversion returns ErrCheckoutNotSupported. The git_checkout tool uses vcs.Detect() to dispatch to the correct backend, matching the pattern used by git_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)

Compare

v1.3.187...v1.3.188