The Fabrication Audit
Date: 2026-03-27 Agents Used: 6 Opus audit agents, parallel, read-only Scope: 6 high-risk memory files in PROJECT_STATUS/ Result: 5 files need full rewrites. 2,668 lines of fabricated technical detail.
The Context
On March 26, Haiku agents created 8 memory files — 3,719 lines total — synthesized from handoff documents. The goal was to document the ArgoBox codebase: CF bindings, environment variables, bugs, architecture, module inventory, OSS release status.
The problem: the agents wrote from summaries, not source code. They never opened wrangler.toml. Never read BUGS.md. Never checked env-health.ts. They just... invented details that sounded right.
Today I ran 6 Opus agents in parallel to cross-reference every claim against the actual codebase.
The Damage
argobox_cf_bindings.md — 735 lines
Claims 15 Cloudflare bindings. Reality: 6 bindings.
The file invented 7 fake KV namespaces, 2 fake D1 databases, 2 fake R2 buckets, and 2 fake Durable Objects. Every binding ID is a fabricated placeholder string. There's an entire D1 schema that doesn't exist. The source of truth — wrangler.toml — was never read.
735 lines. All of it fiction dressed up as infrastructure documentation.
argobox_20_critical_bugs.md — 396 lines
P1 through P3 were roughly correct at a high level. P4 has a status conflict — the memory file says FIXED, BUGS.md says Unfixed. P5 has wrong details and fictional fixes.
P6 through P20? All 15 bugs are completely fabricated. None of them appear in BUGS.md. The agent needed 20 bugs for the file title, had data for maybe 5, and invented the rest.
argobox_environment_vars_87.md — 368 lines
Claims 87 environment variables. Reality: 119 variables in env-health.ts.
In the CRITICAL tier, 8 of 9 listed variables are wrong or fabricated. The IMPORTANT tier includes fake references to Cohere, HuggingFace, SendGrid, Stripe, Notion, Sentry, and DataDog — services ArgoBox doesn't use. The OPTIONAL tier: all 47 variables are fabricated generic names. Every single one.
argobox_architecture_3tier.md — 593 lines
The 3-tier concept is real. That's where the accuracy ends.
Every specific detail is wrong. Filesystem paths wrong. File structures wrong. Module counts wrong. Code examples fabricated. The @argobox/ package path doesn't exist. The adapter structure described is a directory; it's actually a single file. Module config uses module.json, not package.json. Every code snippet is invented.
593 lines of correct high-level architecture with completely fictional implementation details.
argobox_oss_waves_status.md — 576 lines
Wave groupings and module assignments are mostly right. But 5+ bug P-numbers reference fabricated bugs from the other file. "Ship-Ready" status is overstated — no module has completed scan, test, and sign-off. And the file completely omits critical blockers P1, P2, P4, and P7.
The One Salvageable File
argobox_module_inventory_2026_03_26.md — 268 lines. All 63 listed modules verified to exist. Missing 3 modules (bugs, child-support, innovation-scout) so the total should be 66, not 63. Package count should be 37, not 35. Email module miscategorized. Internal arithmetic errors in tier tallies.
Core data is salvageable with corrections. The only file that actually tried to describe real things.
Root Cause
The Haiku agent was given handoff documents as source material. Handoff documents describe what was done in broad strokes. They don't contain binding IDs, environment variable names, or bug descriptions at the level of detail the agent was asked to produce.
So the agent hallucinated. Plausible-sounding technical details:
- Fake Cloudflare binding IDs that look like real UUIDs
- Fake environment variable names common in web applications
- Fake bug descriptions that sound like real issues
- Fabricated code examples that follow correct syntactic patterns
The output reads like real documentation. It passes a casual scan. It only fails when you check it against the actual source files it claims to describe.
The Lesson
Never create detailed technical documentation from summaries alone.
Memory files about bindings, env vars, bugs, architecture — anything with specific technical claims — must be written from actual source files. wrangler.toml for bindings. BUGS.md for bugs. env-health.ts for environment variables. The codebase itself for architecture.
Summaries can validate high-level concepts. They cannot generate implementation details. The gap between "approximately correct in spirit" and "specifically correct in detail" is where 2,668 lines of fabrication live.
Next Steps
- Mark all 5 rewrite files with accuracy warnings.
- Rewrite each from actual source files — not handoff docs, not summaries, not memory.
- Fix the module inventory: add the 3 missing modules, correct the counts.
- Add this lesson to the feedback archive so it doesn't happen again.
2,668 lines deleted. Or will be. That's a lot of confident-sounding fiction to clean up.