Methods & data
Every number on this site can be recomputed by someone who trusts none of the above — including us.
Code, raw responses, blind judgments, unblinding maps, per-item scores and the five pre-registrations are released in full. So are the amendments — including the ones that cost the author his own hypothesis, dated, with the reasoning that produced them.
Each pre-registration was written and hashed with SHA-256 before the corresponding data existed. Every amendment is dated and kept — the audit trail is the point, and it includes the amendments that went against us.
| Pre-registration | Covers | Final hash | Frozen |
|---|---|---|---|
| PREREG_controllo_memoria_random.md | Check 1 — counterfeit control | db4d34c0… | 2026-07-13 14:16:13 |
| PREREG_sonda_memoria.md | Check 2 — no-memory baseline | e74ededa… | 2026-07-13 15:07:32 |
| PREREG_replica_multimodello.md | Multi-model replication | 754d5459… | 2026-07-13 15:20:45 |
| PREREG_sonda_legami.md | Check 3 — symmetric probe, corpus A | 3c6609c9… | 2026-07-13 15:41:43 |
| PREREG_secondo_corpus.md | Check 3 — corpus B | 3ce45b23… | 2026-07-13 16:07:21 |
The original 30-day study's protocol was frozen separately on 23 April 2026: the signed manifest, the five conductor files, and instructions to verify the hash yourself.
These pre-registrations are hashed locally, not notarised. A sceptic may ask whether they were written after the results, and we have no cryptographic answer — only the audit trail. It would be incoherent for a paper about unverifiable claims to make one. Prospective registration on a public registry is what makes such a claim checkable, and that is what we will do next.
- counterfeit_control.py — builds the forged memory documents, runs the 42 responses, drives the three judge panels, anchors the contrasts.
- binding_probe.py — builds the symmetric probes, corrupts the bindings, runs the seven models across both corpora, exact McNemar with Holm.
- sensor_check.py — the field observation of §6: what the agent was actually receiving when it said it could see.
- stats_appendix.py — regenerates every confidence interval, denominator, abstention count, effect size and correction on this site.
A few hundred lines, released under an open licence, with a README that tells you how to point them at your own system.
- Raw responses — every generation, all conditions, all models (risposte_legami.json, risposte_legami_vivo.json, risposte_replica.json).
- Blind judgments — 126 records across the three panels, plus the unblinding maps, so you can check that the blinding was real rather than take our word for it.
- The probes themselves — both corpora, as generated.
- The 269 thoughts of the blind window from the field observation, raw, so anyone can re-classify them and disagree with our count.
- Full statistical appendix — all CIs, denominators, abstentions, effect sizes and Holm corrections, in one file.
- Logs — generation, judging, probing, analysis. Including the discarded attempts.
| Role | Model | Where |
|---|---|---|
| Subject of the 30-day study | qwen3.5:27b | Test-A / Test-B, 24 Apr – 24 May 2026 |
| Judge | gpt-4.1-2025-04-14 | Checks 1; original study |
| Judge | claude-opus-4-7 | Check 1; original study |
| Judge | gemini-2.5-pro | Check 1; original study |
| Subject panel | qwen3.5:27b · qwen3.6:35b-a3b · qwen3:32b · deepseek-r1:32b · llama3 · gpt-4.1 · gemini-2.5-pro | Checks 2 & 3, 13 Jul 2026 |
Panel limits, stated. Twenty-four probes per model per corpus, seven models, four of them from one family (Qwen). Claude Opus 4.7 is absent as a subject: its API key was rotated mid-experiment after an accidental exposure. It appears as a judge in Check 1, not as a subject in Checks 2–3. Ollama seeds do not guarantee bit-for-bit reproducibility; our anti-cherry-picking guarantee is "first usable output, all discards logged" — there were two discards, both structural.
If you download the raw output of Check 3, you will find five cells in corpus A marked CONTAMINATA — "the no-memory condition is not at chance" — next to models this site reports as valid. That is not a contradiction we are hiding; it is a conservative script.
The marker is computed over all 24 probes, counting abstentions as errors. Counting a refusal as a wrong answer drives the no-memory condition below chance and manufactures an artefact. The validity check must be read on the probes actually answered, which is what the statistical appendix does and what this site reports. We are leaving the raw marker in place rather than quietly rewriting it, and telling you why here.