You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .alfonso/release-notes/v0.23.0.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,7 +6,7 @@ A minor release with three themes: the context-reduction system was rebuilt arou
6
6
7
7
**The agent maintains its own memories now.**`ctx_memory` grew `update`, `archive` (including batch archive in one call), and `merge` for the memories the agent already sees in its context — previously these were reserved for the background dreamer, so a wrong or outdated memory stayed wrong until the next maintenance run. Cross-project access stays locked down: an agent can only touch its own project's memories. Memory categories are now schema-enforced (the 5-category taxonomy), so invalid categories fail at validation instead of being silently rejected.
8
8
9
-
**Context nudges are quieter and cache-safe.** The old chat-visible reminder messages are gone. In their place: a compact `<system-reminder>` appended to tool outputs when reclaimable context piles up (Channel 1), and a single one-shot escalation near the threshold (Channel 2) that's delivered only when a fresh measurement confirms it's still warranted — never on stale data. Subagents get the same self-management machinery now: they see §N§ tags and `ctx_reduce`, with a minimal guidance block, so long-running subagent sessions no longer balloon.
9
+
**Context nudges are quieter and cache-safe.** The old chat-visible reminder messages are gone. In their place: a compact `<system-reminder>` appended to tool outputs when reclaimable context piles up (Channel 1), and a single one-shot escalation near the threshold (Channel 2) that's delivered mid-turn — between tool calls, while the pile is still growing — and only when a fresh measurement confirms it's still warranted, never on stale data. Channel 1 paces itself: the re-fire interval scales with the history budget, repeat reminders in the same severity band are suppressed, and the cycle resets once the pile actually shrinks — so a long turn sees a handful of escalating reminders instead of one per tool call. Subagents get the same self-management machinery now: they see §N§ tags and `ctx_reduce`, with a minimal guidance block, so long-running subagent sessions no longer balloon.
10
10
11
11
**Emergency context recovery actually hits its target.** At ≥85% pressure the tiered emergency drop (T3 misc → T2 edit/search → T1 navigation tools, newest 20% of each tier reserved) replaces the old need-blind age-based drops — and its reclaim target is now computed from the full live tail, fixing a systematic under-eviction the audits caught. The routine `auto_drop_tool_age` / `drop_tool_structure` config knobs are removed (doctor cleans them up); reduction is the agent's job via `ctx_reduce`, with the tiered drop as the safety net.
12
12
@@ -37,6 +37,11 @@ Beyond the headline items, three blind audit rounds over this release's changes
37
37
- A primary agent could merge another project's memories (now dreamer-only, like the rest of cross-project access).
38
38
- Token-count math: ordinal gaps from malformed rows no longer drop valid messages from boundary sums; a literal `<EOT>`-like string in tool output no longer crashes tokenization.
39
39
- Tool calls cleared by `ctx_reduce` could be stripped one pass too early, busting the prompt cache on a defer pass (frozen-watermark replay fixes it).
40
+
- Routine history compaction can no longer cross the newest user message — the active prompt always survives a background historian pass intact.
41
+
- The Channel-2 one-shot lease is crash-safe: a delivery interrupted mid-send (process kill, database contention) is recovered by a TTL-scoped heal instead of wedging the nudge off for the rest of the session.
42
+
- Two processes opening the shared database at the same moment could race during the WAL journal-mode switch; the busy timeout now installs first.
43
+
- One-shot notifications (upgrade reminder, context-limit alert) only mark themselves delivered after an actual send — a skipped or failed delivery retries on a later launch instead of being lost.
44
+
- Sidekick (the `/ctx-aug` helper) is read-only on project memory now; `ctx_memory archive` rejects already-archived ids with a friendly error instead of silently re-archiving.
0 commit comments