Holstein → CRETIN · IMPLEMENTATION home · all docs
Tech stack. Composability. Worker layout.
Loading…
\n \n \n\n\n```\n\n## Validation strategy\n\nEach layer ships with `validation.md` carrying:\n1. **Spot-check numerical values** (e.g., Doppler-slab $g_0(k_0L=10) = ?$ from fitting eq vs M&O Table D.1)\n2. **Asymptotic behaviour** (e.g., $g_0 \\propto k_0L$ for Doppler high-opacity)\n3. **Visual reproduction** of at least one published figure (M&O Fig 7.1, 7.7, 11.5, etc.)\n4. **Performance budget** (slider latency, mode-evaluation time)\n\nValidation harness (Layer 9 / continuous):\n- `tools/validate.ts` — runs all layer validations against published values; outputs pass/fail\n- Build CI does NOT pass until all layers' validations pass\n\n## Reference handling\n\n```\n~/cc/projects/holstein-cretin/refs/\n├── molisch-oehry/\n│ ├── book.md → symlink to ~/cc/projects/ocr-bench/out/book-gemini-clean.md\n│ └── appendix-d.md → extracted Appendix D tables (this session)\n├── cretin/\n│ ├── papers/ → symlink to ~/cc/cretin/papers/\n│ └── ocr/ → (forthcoming — OCR via same Gemini pipeline)\n├── bezuglov/\n│ ├── 1998-pra-57-2612.txt (TODO: pull)\n│ ├── 2001-pra-64-022719.txt (TODO: pull)\n│ └── 2008-pra-77-063414.txt (TODO: pull)\n├── docters-2017-na-589-819.txt (TODO: pull)\n└── research/\n ├── claude/ → symlink to ~/cc/cretin/claude/\n ├── gemini/ → symlink to ~/cc/cretin/gemini/\n └── chatgpt/ → symlink to ~/cc/cretin/chatgpt/\n```\n\n## Build + deploy\n\nFor now, no build pipeline. The Worker uses Cloudflare's text-import to bundle `*.html` and `*.md`. Each layer's `page.html` is a self-contained file with inline `