Version. 0.1
Date. 2026-08-15
Author. Claude.ai, drafted against the B-104 build-list entry (v0.87+, filed from inspection-briefs/loomworks-personal-memory-probe-duplicate-shane-v0_1).
Repository. loomworks-engine.
Build-list item. B-104 (full close).
When the Companion says "the N things I have recorded about you," N is the length of a 500-row page, while the same call's true total is received and ignored. Today the true count is 8, so the sentence is honest. At 501 it would silently claim completeness over a truncated set — a false claim of the truthfulness class, waiting on volume. The fix is one comparison: when the total exceeds the page, the sentence says "the N most recent" instead of claiming the whole. No decision needed from the Operator.
len() of a _PERSONAL_RECALL_LIMIT = 500 page (router.py:1717-ish at filing time) while the same list_assertions call's total is received and unused.
In scope. The comparison and the two sentence forms: total <= len → the existing complete-count sentence, unchanged; total > len → the "N most recent" form. Tests per §3.
Out of scope. The limit's value. Pagination of recall. B-103. Any other sentence the recall path composes.
Step 0 — branch and verify. Branch cr-2026-219-recall-count-limit-edge. Verify CR-2026-219 unclaimed in loomworks-record; HALT if claimed. Locate the current count site and confirm total is available in scope as filed. Report the location. HALT if the shape has changed.
Step 1 — the comparison. total > len(page) selects the "N most recent" sentence form; otherwise the existing sentence, byte-identical.
Step 2 — tests.
total == len → the existing sentence, unchanged (the today-case, 8 of 8).total > len → the "most recent" form with the page length as N — driven by a stubbed total, not by writing 501 rows.Step 3 — quality gates. ruff zero-tolerance; mypy message-level non-regression.
Checkpoint A — after the green run, before tag and push. Gate string: GATE A APPROVED — PROCEED for CR-2026-219. No live over-limit verification is expected — production truth is 8 rows; the stubbed test is the evidence, and fabricating 493 personal assertions to walk the edge would violate the synthetic-only discipline for no gain. The report says so plainly rather than papering it.
Stage by explicit path, never git add -A. Re-verify HEAD before each write. Halt before every push. One session, one repository. An early gate string is asked back, not banked.
DUNIN7 — Done In Seven LLC — Miami, Florida CR-2026-219 — recall count limit edge — v0.1 — 2026-08-15