MEM-1 — the memory/ directory does not exist in the repo, and the C0 kill list is one of the files that is missing
status: open · raised panel run 1 (2026-08-06) · migrated 2026-08-24 from the frozen RESEARCH_QUEUE.md archive (body verbatim below) · class: hygiene / loop-integrity · judgement: YES · effort 0.25 pd
1. MEM-1 — the memory/ directory does not exist in the repo, and the C0
kill list is one of the files that is missing. · judgement: YES ·
effort 0.25 pd · horizon: immediate
Mechanism. git log --all --diff-filter=A -- 'memory/*' is empty: memory/
was never committed, and it is not in .gitignore either — it lives only on
the owner's Mac. Meanwhile 22+ references to 11 distinct memory/*.md files
appear across committed docs. Two of them are load-bearing for the autonomous
loop: ops/RESEARCH_PANEL.md §2 instructs this panel to check
memory/strategic-posture.md (the kill list enforcing the C0
anti-relitigation rule), and ops/WEEKLY_AUDIT.md check #8 instructs comparing
"the memory index" against RESEARCH.md/CLAUDE.md — a check that has been
reporting green while structurally unable to read one of its three inputs.
tests/test_docs_consistency.py verifies that ops/*.md referenced files
exist; nothing checks memory/*.md, so the dangling references are invisible
to the suite whose stated purpose (line 5) is that "an agent acts on what is
written".
Not fatal today, and say so: ops/RESEARCH_PANEL.md §2 enumerates the kill
list inline and web/public/data/killlist.json carries 13 entries, so cloud
routines are degraded, not blind. This panel used both.
Test design / kill criterion. Extend tests/test_docs_consistency.py to
assert every referenced memory/*.md path resolves. It reds today. The
owner must then either commit memory/ or strip the references; doing nothing
does not satisfy it, and "it works on my machine" is unavailable because CI's
checkout is the one that matters. If the owner's intent is that memory/
stay private and local, the correct resolution is to strip the references and
inline what the routines need — not to weaken the test.
Owner judgement required: commit vs de-reference is a policy call.
Triage note — 2026-08-24 (annotation only; the body above is untouched)
Premise re-verified on origin/main @ 3e0161a: memory/ still does not
exist in the checkout, and git log --all --diff-filter=A -- 'memory/*' is
still empty. Eighteen days open, unchanged. Still the owner's policy call
(commit the directory vs strip the references).
Triage note — 2026-08-31 (annotation only; the body above is untouched)
Premise intact, scope materially NARROWED — the policy call is now worth
about a tenth of what it was. Verified at HEAD 528793d: memory/ is still
absent from the checkout, git log --all --diff-filter=A -- 'memory/*' is
still empty, it is still not in .gitignore, and
tests/test_docs_consistency.py still contains zero memory/ checks.
But the two load-bearing references this row named have been annotated in
place rather than left dangling: ops/RESEARCH_PANEL.md now reads "sources
IN THE REPO (the memory/ dir is owner-side and absent from cloud checkouts)"
and inlines the 13-entry kill list, and ops/DAILY_AUDIT.md twice says
"owner-side … NOT in the repo; cloud sessions: context pointer only, do not
try to read it". A cloud routine that reads either file now knows what it
cannot see. That is de-referencing by annotation — one of the two resolutions
this row asked for — applied to the two files that mattered most.
Still bare, and still the reason this stays open:
ops/WEEKLY_AUDIT.md check #8 ("the memory index") and
ops/RESEARCH_AUDIT.md. Check #8 is the row's second load-bearing claim and
the one that offends this shop's cardinal rule — a check that reports green
while structurally unable to read one of its three inputs. Two files, two
sentences, or one committed directory.
Also found: CLAUDE.md cites a twelfth file, memory/MEMORY.md, which is not
in this row's list of eleven.
Twenty-five days open. Still the owner's policy call (commit vs strip), but it is now a five-minute call, not a half-day one.
Triage note — 2026-09-07 (annotation only; the body above is untouched)
Premise unchanged; one factual correction to the 08-31 note. Re-verified
at HEAD e25f80b: memory/ still absent from the checkout,
git log --all --diff-filter=A -- 'memory/*' still empty, still not in
.gitignore, and tests/test_docs_consistency.py still carries zero
memory/ checks. The two bare references are unchanged:
ops/WEEKLY_AUDIT.md:70 ("the memory index") and ops/RESEARCH_AUDIT.md:60.
Correction: the 08-31 note said the twelfth file memory/MEMORY.md is
cited by CLAUDE.md. It is not — it is cited by RESEARCH.md:4 ("when
this file disagrees with memory/MEMORY.md, this file wins") and
RESEARCH.md:1159. CLAUDE.md's memory references are a different set
(:278-282, :299, :312, :353, :361, :363, :401, :413, :414) and all resolve
to files in the row's original eleven. The consequence is slightly worse than
recorded: the dangling reference sits in the canonical research notebook's
precedence clause, i.e. in the sentence that tells a reader which of two
sources wins when one of them is unreadable.
Thirty-two days open. Still a five-minute owner policy call (commit the directory, or strip two sentences).