Skip to content

titen-memory 0.7.1

Choose a tag to compare

@RamaAditya49 RamaAditya49 released this 07 Aug 12:43
· 57 commits to main since this release

Stable release · npm latest

npm install -g titen-memory@0.7.1

Install guide · Release page · npm package


The measurement release: the pooled-store condition on LongMemEval-S, with
two pre-registered falsifiers fired against Titen and published, plus the
#291 disputed-signal authorization fix and the evidence-depth tie-break.

Added

  • The pooled-store measurement: quality, latency, and build cost at
    production store shape.
    All 19,829 distinct LongMemEval-S sessions in one
    single-subject store, all 500 questions against it, at four store sizes —
    the condition every published number in this field (ours included) avoids by
    giving each question its own ~50-session haystack. Pre-registered with five
    falsifiers before the first scored run
    (prereg,
    report). The system under test
    is the published npm tarball, not a checkout.
  • The 2026-08-07 agent-memory landscape survey,
    superseding 2026-08-04 on the fame roster and correcting two of its claims,
    and the performance-axis answer
    recording which competitive axes were adversarially killed and why.

Changed

  • A ranking dead heat now breaks on authorized evidence depth before the
    arbitrary statement fallback
    (#288).
    Order changes only where weighted score and vector similarity are both
    exactly tied; measured byte-identical on all 500 LongMemEval-S instances,
    and published as capturing 0.0 of the reranking ceiling on that corpus
    (report).

  • The disputed signal now resolves through the caller's own authorization,
    so a contradicting observation the caller may not read no longer marks the
    claim (#291).
    The flag
    was computed from a bare EXISTS over claim_sources with no join to
    observations, while the citations beside it were filtered correctly. A
    principal who could not read the contradicting source still saw the claim
    demoted by the 0.05 conflict term and still received a conflicts[] entry
    whose evidence_ids omitted the source that caused it — told a contradiction
    existed and told they could not see it. Fixed at all four query sites:
    POST /v1/context/compile (lexical and vector candidates), GET /v1/context/:id, and the Memory Atlas conflict_freshness lens. The
    governance review queue was already correct and now shares the same predicate.

    Visible consequence: in a store that already holds a cross-scope
    contradiction, claims that were demoted for callers who cannot read the
    contradicting source stop being demoted. Their score rises by up to 0.05,
    their score_components.conflict reads 1 instead of 0, they leave
    conflicts[], and the resulting order can change. Nothing changes for a
    caller who can read the source, and nothing changes for a claim whose own
    status is disputed — that is the claim's own field, not an inference about
    hidden evidence. There is no migration and no flag: the previous numbers were
    the leak.

    Response shapes, routes, and field names are unchanged, so this is a patch
    under the table in
    release.md — the
    minor slot signals shape breakage, and only values that were disclosing hidden
    rows move here.

Fixed

  • The Memory Atlas review queue no longer scans every observation in the
    organization to decide has_contradiction.
    It expressed the predicate as
    claim_sources JOIN observations, and SQLite drove from observations,
    evaluating the membership and retention subqueries for all of them once per
    candidate. On a 424,168-claim store that is 79 s per compile against 17.8
    ms
    . The shared predicate added above uses a nested EXISTS so
    claim_sources seeks its own primary key, and the review queue now uses it.
    Found by benchmarking the change above; the dual-runtime contract suite passed
    on both query shapes, because its stores hold tens of rows.

Evidence

  • docs/testing/2026-08-07-disputed-authorization.md
    — n=500, ranked output byte-identical before and after (0/0/500, p = 1.0),
    compile latency flat within repeat spread. It also states what it cannot show:
    the corpus holds zero contradicting sources, so it cannot measure the fix
    where the fix fires.