# Progress (for a new Claude session) Reading order: `CLAUDE.md` -> this file -> `tests/DESIGN-forest-from-spans.md` (the plan). Reference cases: `forest-examples.md`. Older notes, only if something points there: `tests/CLAUDE-PROGRESS-ARCHIVE.md`. ## Rules that matter - The user writes ALL source by hand. Claude plans, explains, and writes files ONLY in `tests/` and in the scratch workspace. No diffs unless asked. - Do not weaken reference cases or tests. Minimal targeted changes. Every fixed bug gets a regression test that failed before the fix. Label claims MEASURED / INFERRED / guess. - Do not open the paper PDFs without asking; the forest construction is the user's own design. - macOS: BSD sed, so edit files with python. Paths contain spaces: quote them. - zsh: `env $v cmd` with `v="A=1 B=1"` sets only `A`; write switches literally. ## Scratch workspace `` = `/Users/durand/Desktop/Centre/A propos de programmes/Rust/rep`. `/claude scratch/ws` (full copy), build dir `/claude scratch/target`. Run: `cd "/claude scratch/ws" && CARGO_TARGET_DIR="/claude scratch/target" cargo test --test oracle -- --test-threads=1` Prototypes and their switches: design doc section 9. ## Current state - **Design settled and verified in scratch** (design doc section 7). What remains is to follow the plan in design doc section 5: Part A (recognizer fixes, section 3), then Part B (forest from facts, section 4). No research is left. - **The user's tree has none of the fixes yet.** They exist only in scratch, behind switches. - **Tests** (design doc section 6): four open recognition tests fail today and pass with the fixes; one guard test passes and must keep passing. - **Suite today (scratch, default, probes skipped):** 36 passed, 13 failed (the 4 open recognition tests and 9 old forest tests), 1 ignored. The 9 forest tests are expected to pass after plan step 11: the top-down prototype gives exactly the oracle's trees on all of them. - **Next:** the user implements the plan, Part A first.