Skip to content

v1.3.1 — agreement up close, and a redemption that sticks

Choose a tag to compare

@dthorntonz dthorntonz released this 23 Aug 19:09
· 6 commits to main since this release

Two places where the system drew a conclusion its evidence did not support.

Agreement has to be concentrated

The abstention gate — the check that decides whether the store actually holds an answer, rather than letting noise pose as one — ends on a count of how many content words a query and a recalled memory agree about. That count was documented as not scaling with document length. It did.

Counted across a whole memory, a long one about something else collects the query's words scattered over pages of unrelated prose, in senses that have nothing to do with the question. Two of them was the whole bar.

A memory's detail now contributes only through its single most agreeing window, so several of the query's words have to appear near one another rather than merely somewhere in the same record. The gist always counts wherever that window falls: it is the summary, and since 1.3.0 it is capped, so it cannot become a haystack of its own.

Both options were measured before choosing. Counting the gist alone would have been simpler and would have cost real answers whose agreement genuinely lives in their detail; the window keeps those and removes almost all of the accidental agreements. Ranking is unaffected — the count feeds only the gate, and that was verified rather than assumed.

A redemption that sticks

Suppression — muting a memory that is pushed constantly and never used — is decided by scanning the host's session transcripts. Those transcripts do not change. So a memory redeemed today still showed the same pushes and the same zero references tomorrow, re-qualified at once, and was suppressed again.

Every deliberate "this one matters" signal the system has — an explicit suppress --undo, a show, a mark_helpful, a rewrite — was losing to the evidence it had just overruled.

Suppression now has to be re-earned from pushes that happen after the redemption, and the scan reports which memories it spared and why.

Schema

Store schema v14 adds one nullable column recording the push count a redemption overruled. Existing stores migrate forward automatically on open; memories redeemed before it existed keep being judged on their whole history, which is the behavior they have today.

1074 tests + 1 skip.

Install: pip install "git+https://github.com/itdtllc/fornixdb@v1.3.1"