Skip to content

v1.3.251

Choose a tag to compare

@topcheer topcheer released this 02 Oct 17:32
· 1265 commits to main since this release

ggcode v1.3.251

Highlights

  • See the changelog below for the user-facing updates included in this release.

Compare

Changelog

  • release: v1.3.251
  • fix(agent): perf baseline tokens dimension in worst-run selection + blind-spot doc (#3102)
  • feat(agent): intervention point ledger - proactive defer hints (r395)
  • feat(agent): perf baseline tracks token spend with cost-regression advisory (r394)
  • fix(agent): constraint audit recognizes Chinese ordinal lists (#3093)
  • docs(design): mobile file transfer V1 design (agent→mobile, any format)
  • feat(agent): per-item constraint audit for listed multi-requirement tasks (r392)
  • fix(tui,session): guarded snapshots for cost-per-frame reads and /trace closure capture (#3086 review blockers)
  • feat(agent): pivot/refine meta-decision on consecutive command failures (r391)
  • fix(session,tui,im,desktop): endpoint stats source slices synchronized under endpointStatsMu (#3086)
  • fix(security): detect ENCRYPTED PRIVATE KEY variant; gate truncated-PEM mask on base64 body (#3084)
  • feat(agent): failure-aware playbook maintenance - rate + prune (r389)
  • fix(security): rune-aware C1 escape scanner, bare PEM header redaction, narrowed .test. allowlist (#3081)
  • feat(subagent): structured region handoff for Explore agents (r388)
  • ci(windows): extend windows-process paths and suites to runfile/restart (#3079)
  • feat(agent): intent-aware playbook hint ranking (r387)
  • fix(runfile,restart): Windows liveness wait-state check, creation-time recycle token, restart cd warning (#3079)
  • feat(agent): cross-session tool-mix drift check in perf baseline (r386)
  • test(agent): cover r382 spill wiring incl. nil-registry guard
  • fix(provider): sanitize prefix-strip fallback and case-insensitive connection-refused match (#3077)
  • feat(tool): acceptance checkpoint on completed delegation results (r384)
  • fix(agent): accurate wording for run_command omitted-middle spill notice (#3076)
  • fix(agent): nil tool registry panic in r382 spill wiring
  • feat(agent,tool): run_command truncation spills omitted middle via shared offloader (r382)
  • fix(provider): openai ChatStream sendEvent guard + foldInjectedUserMessages preserves consecutive guidance users (#3071) (#3075)
  • fix(agent,memory): decision-time experience recall - conditional wording, run-start dedup, tail-biased truncation (#3072) (#3074)
  • fix(provider): SetServerTools empty set clears stored tools (#3073)
  • feat(tool): recall_experience tool - agent-invocable experience query (r381)
  • feat(agentruntime): best_of_n cross-model ensemble - per-candidate model override (r380)
  • fix(agentruntime,provider): #3070 best_of_n orphan rollback + #3069 refuse mid-string json repair
  • feat(agent): decision-time experience recall on error strategy loop (r379)
  • test(tool): companion test for exported SpawnAgentTool.Launch (r377 follow-up)
  • feat(agentruntime): best_of_n tool - trajectory-level parallel sampling with consensus winner + RTV degradation
  • fix(provider): gemini ChatStream producer exits on consumer cancel via sendEvent guard (#3068)
  • fix(provider): clone keeps samplingOverride; files cache TTL; noteFailure narrows permanent set; OnRejected holds invariant (#3066)
  • test(agent,config): companion tests for SetIdleMaintainer round-trip and idle: section parsing (r373 companion)
  • feat(idle): sleep-time compute - idle-window pre-compact so the next message doesn't pay compaction latency (r373)
  • fix(agentruntime): watch trigger fires on deletions and defers cooldown-window settles (#3064)
  • test(cron,config): companion tests for Scheduler.Emit and watch: section parsing (r372 companion)
  • feat(watch): ambient file-watch triggers - fire-on-change prompts sharing the cron enqueue channel (r372)
  • test(permission): anchor nested-quote home-deletion shapes in IsExtremelyDangerous table (r371 companion)
  • fix(permission): adversarial invariant suite pins wrapper contract; nested-quote home deletion was Medium (r371)
  • fix(permission): home-deletion shapes Critical; raw-disk redirect Critical full family; local socat not exfiltration (#3061, #3062)
  • test(permission): pin Save atomic roundtrip — no temp leak, deny intact (#3060-C2)
  • fix(notify,permission): AppleScript escaping + atomic rules write (#3060)
  • fix(permission): sign free-text body fields in approval-memory keys (#3059)
  • fix(agent): overseer reset clears r365 research-gate fields (#3057)
  • test(agent): fix nil-map panic — use newOverseerState constructor (r365 follow-up)
  • test(agent): pin retrieval-counter semantics — errors excluded from multi-hop signal (r365)
  • feat(agent): research synthesis gate — deep-research multi-hop consolidation (r365)
  • feat(tool): web_search weak-result rephrase hint — Agentic-RAG low-confidence loop (r364)
  • feat(tui): /skill accept draft — session-agent distillation of skill suggestions (r363)
  • feat(tui): /skill suggest|accept — human-in-the-loop surface for skill suggestions (r362)
  • fix(memory): atomic supersede-sidecar writes; Stat-failure counts as broken path (#3055)
  • fix(memory): health-report age-range order; strict parent-escape path check (#3053)
  • fix(agent): repeated-SOP fingerprint must match target paths, not tool names only (#3050)
  • fix(memory): complementary +lists, include-only Makefiles, exact-dup content, rune-safe truncation (#3049)
  • feat(agent): repeated cross-tool SOP detection suggests consolidation (r361/r340)
  • fix(agent): todo-reminder budget no longer silences 6 downstream stop gates (#3048)
  • fix(agent): detect /vN cross-segment major bumps; suppress scan reminder after safe upgrade (#3046)
  • feat(eval): deterministic eval-harness integrity gate in CI (regression blocks door)
  • fix(agent): evidence gate needs real build/test, not formatters; Go VCS-path deps exempt from slopsquatting notice (#3045)
  • feat(agent): final-turn evidence gate - block stop after edits without any verify run
  • feat(agent): slopsquatting defense - verify notice for arbitrary new dependencies
  • fix(mcp): breaker no longer trips on server-authored JSON-RPC errors (#3044)
  • feat(memory): deterministic convention-drift scan for project memory files
  • fix(mcp): ReadResource miss path stores an independent Contents copy (#3042)
  • fix(mcp): clone Contents backing array on ReadResource cache hit (#3041)
  • feat(tui): contrastive induction for skill suggestions - recovered runs pass
  • fix(mcp): circuit breaker half-open probe survives early returns and caller cancels (#3039)
  • test(tools): colocate acceptance-criteria assertions with their tools
  • fix(lsp): note-by-value, lock-free startClient, bounded project-ready wait (#3037)
  • feat(tools): acceptance-criteria contract across the delegation chain
  • feat(plan): pre-mortem protocol in exit_plan_mode gate
  • feat(tools): delegation economics contract in spawn/delegate descriptions
  • fix(lsp): fallback discovery exec-bit check + bounded external probes (#3035)
  • test(swarm): package-wide HOME isolation for board persistence
  • feat(swarm): durable team task boards that survive restarts
  • fix(lanchat): remove dead ackTracker that grew without bound (#3033)
  • feat(tui): arbitrary-point session fork via /branch N (#346)
  • fix(knight): rate-limit self-reflection entries in the eval memory window (#3030)
  • fix(knight): cross-process file lock around semantic-memory Append read-modify-write (#3029)
  • fix(knight): reject-feedback scope must match exactly; empty scopes normalize to project (#3025)
  • fix(knight): truncate proposal-id slug before appending the disambiguation suffix (#3024)
  • fix(image): convert NSScreen Y origin to CG top-left for screencapture -R (#2999)
  • fix(image): gate zz_issue2999_test with darwin build tag (#2999)
  • fix(image): darwin display region uses NSScreen logical coordinates (#2999)
  • fix(knight): parse lock-file PID from either platform layout (#3020)
  • fix(knight): rename duplicate failureSignature, precompute sort scores
  • fix(knight): budget Record must account consumed tokens even when persistence fails (#3017)
  • fix(knight): rename duplicate failureSignature to failureFingerprint - main build broken by ec8a285 merge (#3016)
  • fix(knight): disambiguate signature-forked candidate Names (#3016 follow-up)
  • fix(knight): bind failure-fix candidate names to a failure signature fingerprint (#3016)
  • fix(knight): budget accounts before persist; failure-fix aggregation keyed by error signature (#3016, #3017)
  • agent: dedupe tool-result hints across results and exempt conflict meta-hint from advisory cap (#607)
  • fix(image): update stale #975 pin broken by the gnome gate sync (#3013)
  • fix(agent): makeRunnerNoopTargets scope correction - build/lint/check ARE verification
  • fix(agent,image): verify counter excludes no-op make targets; gnome gate syncs Display>=1 (#3011, #3013)
  • fix(image): windows capture must fail fast, not serve stale OutputPath bytes on PowerShell exit 0 (#3009)
  • fix(image): linux Display=0 (primary default) must resolve the primary output, not grim's composite (#3003)
  • fix(image): linux Display=1 must capture the first screen, not a composite of all outputs (#3003)
  • fix(agent,desktop): verify classification sync + mutation coverage + hotkey handler rollback
  • fix(image): linux screenshot all-tools-failed must not serve stale OutputPath file as success (#3002)
  • perf(agentruntime): hoist failureSignals key sorting out of per-entry loop in BuildRolloutSummary