Skip to content

Add an installed qualification command for temporal memory - #1784

Merged
dcellison merged 1 commit into
mainfrom
feature/memory-installed-qualification
Sep 23, 2026
Merged

dcellison merged 1 commit into
mainfrom
feature/memory-installed-qualification

Conversation

@dcellison

Copy link
Copy Markdown
Owner

Third of three deliveries for #1717.

Change

python -m kai.workshop.memory_qualification --db <DATA_DIR>/kai.db --snapshot <file> qualifies temporal memory on an installed Kai. It opens the database read-only and never the vector store, so it runs while the service is up. It passes when:

  1. every memory diagnostic line install status prints is active (current truth, reconciliation, episode history, extraction receipts), which means their integrity, replay, projection, and drift gaps are all zero;
  2. every owner the service counted has a stored vector audit, and the oldest audit is newer than the latest projection (otherwise it asks for a restart or a search index check);
  3. conversational backend and model settings are unchanged: the first run records them in the snapshot file, later runs compare against it.

Output is one PASS or FAIL line per check, with no memory content. Exit status is 0 on pass and 1 otherwise.

The stored vector audit time is now recorded at full precision, so an audit taken in the same second as a projection is not mistaken for an older one.

Verification

  • Tests: a consistent install passes and records defaults once; a changed default, a stale audit, a missing audit, and a failed projection each fail the right check; a missing database is reported.
  • Run read-only against the production database: all six checks pass, and a second run compares 11 settings unchanged.
  • Full suite: 7117 passed. Pyright clean.

@dcellison
dcellison merged commit d9ff712 into main Sep 23, 2026
10 checks passed
@dcellison
dcellison deleted the feature/memory-installed-qualification branch September 23, 2026 18:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants