Skip to content

v1.20.19 β€” πŸ““ Journal write restraint + level-routed injection + ReAct coherence

Choose a tag to compare

@jgouviergmail jgouviergmail released this 02 Jun 16:11

πŸ““ The assistant's personal journal grows up

Refines the personal journal (amends ADR-079) against entries that were often useless or harmful β€” over-generalising a rule from a single short message, or enshrining a false "I have no access to your data" limitation that then made the assistant refuse to even try.

Highlights

  • Restraint-first writing β€” default output is empty; an operational directive (L1) must be grounded in an explicit user signal you could quote and safe to obey blindly. Generic prohibitions forbid asserting a limit on the assistant's own capabilities/tools and generalising from a single surface feature. L0 becomes a capped, private release valve.
  • Level-routed injection β€” operational prompts now carry only L1/L2 directives; L0 (private feedstock) and L3 (carried by the compiled portrait) are excluded by default via JOURNAL_OPERATIONAL_INJECTION_EXCLUDE_LEVELS. Extraction and consolidation still see every level.
  • ReAct directive coherence β€” the autonomous reasoning loop now also receives L1/L2 directives (count-capped by JOURNAL_REACT_CONTEXT_MAX_ENTRIES, injected in full so a directive is never cut mid-sentence), closing a cross-mode gap.
  • De-pressured consolidation β€” L2 synthesis only on genuine convergence ("zero L2 is the correct outcome when no convergence exists"); dedup guard against merging directives that prescribe different actions.

Notes

  • No schema change, no migration.
  • Tests: Ruff / Black / MyPy strict clean; 8414 backend unit tests green; i18n parity (6 languages) verified.
  • See ADR-088 Β· CHANGELOG

πŸ€– Generated with Claude Code