Skip to content

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 12 Jul 09:48
efdf394

Changed — behavior

  • Resolver source-precedence taxonomy expanded 7 → 9 tiers (#328). A new
    agent-observed:<model>:<session-ref> tier is inserted at rank 5 (below
    wikipedia, above claude:), which re-ranks the lower tiers
    (claude: → 6, script: → 7, model-prior: → 8, unsourced → 9). Conflict
    resolutions that compare claims across these tiers can therefore reach a
    different winner than in 0.13.x. The change to the taxonomy itself is
    additive (no field removed); the behavior change is in ranking.
  • repair --backfill-sources rewrites the source: scalar of existing
    DEFAULTED claude:inferred memories (#328).
    With --apply, claims whose
    origin transcript shows the user stated them are lifted to user:<ref>
    (tier 1) and claims derived from in-session artifacts to
    agent-observed:<...> (tier 5). This raises their precedence, so future
    resolutions over pre-existing data can change outcome.
    Dry-run by default;
    only DEFAULTED inferred claims are touched; idempotent (a confirmed claim
    gets inferred_verified: true and is never re-examined).
  • Opinions no longer lose to precedence (#327). Pairs classified
    claim_kind: opinion with different (or unknown) asserters resolve to the
    new attribute_both action — both stay active, neither is superseded.
    Same-asserter dated opinions still supersede (newer wins). This changes the
    outcome of opinion-vs-opinion conflicts that previously picked a precedence
    winner.

Added

  • Incremental indexing for both search backends (#348). Whole-file
    content-hash diffing rebuilds only changed/new/deleted pages; an unchanged
    corpus is a sub-second no-op instead of a full re-embed. Adds --full and a
    config seam for the embedding model (default all-MiniLM-L6-v2 unchanged).
  • On-demand athenaeum ingest / athenaeum reindex (--incremental|--full) (#349)
    — change-gated compile + index with one-line JSON summaries, single-flight.
  • athenaeum session-end for cross-agent same-day recall (#350). A
    change-gated compile-then-index entrypoint: a remember written in one
    session becomes recallable in another after that session ends, without
    waiting for the nightly librarian. No-op when nothing changed.
  • claim_kind classification + attribute_both resolver action (#327),
    including asserter-identity comparison (same / different / unknown)
    with a keep-both fallback when identity is unavailable.
  • repair --backfill-sources (#328) — re-classify DEFAULTED
    claude:inferred provenance from origin transcripts to user-stated,
    agent-observed, or confirmed-inferred.
  • Scoped claims: org/locale dimensions + three-way overlap verdict (#329)
    (DISJOINT / OVERRIDE / OVERLAP), disjoint scopes short-circuit to
    not-a-conflict without an LLM call.
  • Temporal recall --as-of <date> view and per-claim compiled validity (#308).
    A historical read-time view over validity windows, and per-source validity
    stamped into compiled entries.
  • athenaeum compile --as-of <date> --out <dir> — historical recompiled wiki
    view (#359).
    Distinct from the read-time recall --as-of filter: re-runs the
    deterministic C3 blend with as_of threaded into the per-member validity
    predicate, writing to a scratch dir (live wiki never touched, no LLM spend), so
    a member expired-as-of-today is re-included when the date precedes its
    valid_until close. Valid-time rewind; transaction-time replay is documented as
    deferred (the frontmatter model lacks per-member assertion timestamps).
  • athenaeum serve honors KNOWLEDGE_RAW_PATH / KNOWLEDGE_WIKI_PATH (#355)
    — each env var overrides its root individually; otherwise falls back to
    <path>/raw|wiki. Makes athenaeum's MCP server a drop-in for the standalone
    local knowledge server.

Fixed

  • Resolver aggregate eval floor recalibrated + JSON-repair retry (#345).
    Two mislabeled golden fixtures corrected, the golden set enlarged 5 → 8, the
    floor re-derived with slack, and propose_resolution now retries once with a
    strict-JSON reminder when the first response has no parseable JSON object.
  • TestBatchSyncEquivalence no longer hangs locally (#362). The batch-mode
    test double now reports an immediately-completing batch at create time, so the
    poll loop's real 30s sleep is skipped under test (suite runs in seconds, not
    ~60s/test); production poll cadence unchanged.