Repository navigation
v0.5.2 — bounded consolidation: backlog-only scans, ADD rewrites, since bound
What's Changed
Fixes
- Consolidation cost is now bounded by the backlog, not the store — every episode
that completes a consolidation pass (whatever the verdict: ADD / UPDATE / DELETE /
NOOP) is stamped with aconsolidated_atmetadata mark and never re-selected, so
each System 2 cycle pays for new episodes instead of re-embedding and re-classifying
the full history. Unlike a caller-sidesincetimestamp, the stamp survives aborted
passes. Reports exposeskipped_consolidatedacross the engine, HTTP API, MCP
server, and Go client. (d42f856) - ADD verdicts store the LLM's rewritten fact — promoted facts no longer carry the
raw event's recording template shell (agent=… | action=… | observation=…). The
classifier'snew_textis now honored on ADD as well as UPDATE, falling back to the
raw event text when omitted — the offline (no-LLM) classifier always omits it, so
heuristic mode is unchanged. The consolidation prompt and JSON schema now describe
new_textas the distilled fact for both verdicts. (c841747)
Features
sincebound onconsolidate—/api/consolidate, the MCPconsolidatetool,
andConsolidate(ctx, workspace, since)on the Go client accept an optional
unix-secondssince(0 = the whole pending backlog), giving remote deployments an
explicit cost-control handle. (da06014)
Documentation
- README (en + zh-CN) What's New refreshed for the 0.5 line; version bumped to 0.5.2.
(393d8b1)
Upgrade notes
- Downstream integrations that worked around the full re-scan (e.g. assembling their
own incremental cycles with caller-sidesincethreading) can drop that logic:
Consolidate(ws, 0)now means "the pending backlog", not "the whole store". - The Go SDK's
Consolidatesignature gained asince float64parameter — pass0
for the previous behavior.
Full changelog: v0.5.1...v0.5.2