Skip to content

v0.42.0 - Time-Aware Recall & Activation Suite

Choose a tag to compare

@solaitken solaitken released this 04 Jun 16:52
· 12 commits to main since this release
b16c37d

Open Second Brain v0.42.0 - Time-Aware Recall & Activation Suite

Recall now reflects what the agent actually keeps using and respects when things happened rather than when files were written: recorded accesses reinforce a per-document activation that decays by content-type half-life so preferences and decisions never fade while session notes do, habitual companions boost each other through co-access edges, preference pages carry a dream-stamped freshness trend that biases ranking toward rules still earning their keep, since/until filters obey declared valid_from/valid_until validity windows with temporal-bridge traversal pulling in causes and consequences, and a zero-candidate evidence query runs exactly one broadened retry instead of dead-ending in an abstention - all deterministic, bounded, explainable, and bit-identical for vaults without the new data.

Time-Aware Recall & Activation Suite

What ships

  • Access-reinforced activation - CLI/MCP searches record surfaced documents as one hashed JSON event per access under Brain/search/activation/; the derived state is a replayable fold, and a capped activation boost decays stored strength by a content-type half-life table (preferences/decisions/antipatterns never decay, projects ~120d, handoffs/sessions ~30d, notes 60d). o2b brain activation status | sweep inspects and compacts the store; --no-record-access / record_access: false opt out per query.
  • Co-access reinforcement edges - documents habitually surfaced together gain pairwise counts; companions in the same candidate pool reinforce each other with a capped co_access boost (single co-occurrences are noise).
  • Freshness-trend classification - the dream refresh classifies every preference's evidence time distribution into new | strengthening | stable | weakening | stale, stamps freshness_trend into frontmatter opportunistically (no-op runs stay no-op), and recall multiplies the relevance portion (1.05 / 0.93 / 0.85) with an explainable reason; the belief-evolution envelope carries the live classification.
  • Event-time recall discipline - valid_from/valid_until validity windows govern since/until by interval overlap with mtime only as the fallback: an old file about a recent event is found, a fresh file about a closed-out event is excluded, unparseable values warn and fall back.
  • Temporal-bridge traversal - with a time range active, link-graph expansions are kept only inside a padded event-time neighbourhood (default 7d) and decay by temporal proximity (temporal_bridge reason).
  • Self-correcting two-pass recall - a zero-candidate first pass in evidence-pack mode triggers exactly one broadened OR retry, reported as secondPass with per-result second_pass reasons (search_two_pass_enabled kill switch).
  • Hermes integration cleanup - the upstream loader now registers parent namespaces for user-installed providers, so the plugin entrypoint dropped its file-path self-bootstrap for a plain relative re-export.

Process wins

  • Usage signal without authoring - the working set forms from real recall behaviour; nothing to tag, nothing to curate, and the whole layer is one o2b brain activation sweep away from a clean slate.
  • Trust gradient on rules - a weakening preference visibly sinks before the dream pass retires it, and the reason string says exactly why.
  • LongMemEval's largest failure category closed - storage-vs-event-time confusion is structurally impossible once a document declares its validity window.
  • Determinism preserved end to end - injected clocks, replayable folds, bounded boosts, explicit kill switches, an activation fingerprint in the query-cache key, and the MCP tool count unchanged at 66.

Notes

  • Quality gates: 3838 bun tests, 60 Python tests, strict tsc, oxlint baseline, live CLI smoke; independent reviewer pass plus a CodeRabbit pass (4 of 5 findings applied with 5 regression tests, 1 declined with rationale).
  • A vault that never records accesses, stamps trends, or declares validity windows ranks bit-identically to v0.41.0.
  • Full diff: v0.41.0...v0.42.0