Skip to main content

Gitmoot v0.8.5

Agent memory lands in observation mode, SkillOpt gains its pre-canary replay gate, and terminal-state semantics become a documented decision. Everything additive; defaults unchanged.

What's new since v0.8.4

Agent persistent memory — observation mode (#626, Phase 0+1)

  • Agents can now be enrolled in a persistent memory ([memory] + per-agent flag, off by default): gitmoot records durable facts (starting with mechanical, daemon-observed ones), injects a token-budgeted "Prior learnings" block into job prompts (repo-scoped facts + the agent's general tier), and shadow-collects agent-returned learnings behind deterministic trust filters (directive-phrased and secret-shaped content rejected at the door). Includes gitmoot memory list and an A/B measurement harness — live agent-write injection stays gated on measured benefit.
  • Proven end-to-end by a full-chain E2E that captures the exact prompt the agent subprocess receives — which also caught and fixed a home double-resolution bug that had the daemon-side memory silently disabled (#640). Memory genuinely works as of this release.

SkillOpt: pre-canary replay gate (#627)

  • gitmoot skillopt gate run: replay a candidate template against a fixed deterministic corpus; accept only on strict improvement over the champion (one retry with the failing log, then reject). Both promotion paths (auto and manual) refuse ungated/rejected candidates when the gate is enabled. Review hardening included byte-identical replay determinism (ordered float summation) and working relative replay commands.

Terminal-state semantics unified (#632)

  • Four scattered, disagreeing "is this job state terminal?" predicates (two sharing a name with opposite blocked handling) are now two documented helpers: IsSettledJobState (barrier semantics — includes blocked) and IsFinalJobState (resumability — excludes it). No behavior change; the blocked split is now a decision, not four accidents.

Blocked-job hygiene (#631)

  • Dismiss blocked jobs: widened cancel, bulk mode, a blocked_ttl sweep, and a doctor check — blocked jobs no longer accumulate forever.

Web dashboard expansion (#503 line)

  • New pages with real datasources: Jobs, Agents (with template/version prompt content in the agent detail), Charts, Health; daemon version/update surface; URL routing for all views; runs picker inside the Graph view.