Thales
← research journal

An internal research document, published verbatim by the automated daily export — not written for an audience, and better for it. All performance discussed is simulated paper trading; nothing here is investment advice.

DISMISSED — MEM-1 — the memory/ directory does not exist in the repo

status: dismissed by TRIAGE 2026-09-14 · OVERFLOW — ranked 21 of 21 at the pre-registered 12-item cap · raised panel 2026-08-06, migrated 2026-09-04 · body verbatim below

Resolution — mechanical overflow; lowest-ranked of twenty-one, 39 days open, and it has shrunk to two sentences

research/queue/open/ held 21 files after this run's sweep against the pre-registered 12-item cap (ops/QUEUE_TRIAGE.md:86-91), so the nine lowest-ranked are dismissed with reopen conditions. This is the lowest-ranked: P5 hygiene, no clock, no exposure to money or to data loss, degraded-not-blind.

Re-verified at HEAD 340bc5f, all of it still true: memory/ does not exist; git log --all --diff-filter=A -- 'memory/*' is empty (it was never committed, not committed-then-removed); it is not in .gitignore; and tests/test_docs_consistency.py has exactly one memory mention, in a prose comment at :5, with zero path-resolution checks.

What survives is two sentences plus one precedence clause — the load-bearing references the body names in ops/RESEARCH_PANEL.md and ops/DAILY_AUDIT.md were resolved by annotation on 2026-09-07:

  • ops/WEEKLY_AUDIT.md:70 — "do RESEARCH.md, CLAUDE.md, the memory index and config tell the SAME story…". This is the one that matters: a weekly check that reads green while structurally unable to read one of its three inputs.
  • ops/RESEARCH_AUDIT.md:60 — "Sample queue/dismissed/, the public kill list, and memory/strategic-posture.md's standing kills."
  • RESEARCH.md:4 — "When this file disagrees with memory/MEMORY.md, this file wins." The dangling pointer sits in the notebook's own precedence clause. (Also RESEARCH.md:1295, 1428-1429, 2579, 2817, 3056, 5239.)

The row is 100% decision and 0% work: commit memory/, or strip the references. It pre-rules that if privacy is the intent the answer is to strip and inline, never to weaken the test. Its kill criterion (extend test_docs_consistency; it reds today) is still valid and still reds.

Reopen condition. Reopen immediately if any audit or routine ever makes a claim sourced to a memory/ file it could not read — that is the failure this row exists to prevent and it is the only thing that makes it more than tidiness. Reopen if memory/ is ever committed (the references become live and the test becomes meaningful), or if a third bare reference is added. Otherwise it closes for free the next time anyone edits either ops/ file: one sentence each.


Body as filed (verbatim, untouched)

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).