summaryrefslogtreecommitdiff
path: root/src/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'src/CLAUDE.md')
-rw-r--r--src/CLAUDE.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/CLAUDE.md b/src/CLAUDE.md
index e286cd9..c7c7e4a 100644
--- a/src/CLAUDE.md
+++ b/src/CLAUDE.md
@@ -4,6 +4,20 @@ A chess engine by Scott Gasch ([email protected]), originally started 2004.
Previously named "monsoon" -- any old references to that name mean this same
codebase. Speaks the xboard/WinBoard protocol. FreeBSD host, 64-bit.
+## Scratch files and logs
+
+**Put ad-hoc test/debug output under `/tmp/typhoon/`, not loose in `src/` or
+loose in `/tmp` itself.** Past sessions repeatedly dropped one-off ECM run
+logs, build logs, bisect binaries, and gprof output directly into `src/`
+(`ecm_v17_sn4m.stdout`, `lmr_A.log`, stray `typhoon_*` binaries, etc.) and
+directly into `/tmp` (`build6.log`, `nn_ringers.log`, `typhoon_pool_test3/`,
+multi-hundred-MB `typhoon_gprof.txt`, etc.), both of which build up
+uncommitted clutter that's easy to mistake for something meaningful and
+tedious to clean up later. Anything that isn't a deliberately-kept
+comparison baseline (`head_reference/`, the curated suites in `tests/`,
+`eval_tune/`'s pipeline scripts and `.dna` outputs) is scratch and belongs
+under `/tmp/typhoon/`.
+
## Building
`build.sh`'s OS detection (`expr $OSTYPE = "darwin"`) is broken in this shell
@@ -67,6 +81,26 @@ Not a config issue; the fix is downloading the missing 6-man `.rtbw` files.
`sd 10` (or similar) holds search effort constant so a solve-rate
difference is actually attributable to the eval change being tested.
+**Invocation**, matching what `test.sh` and `head_reference/logs/` use --
+piping commands over stdin does not reliably run a `script` command to
+completion; use `--batch --command` instead, with the opening book pointed
+at a nonexistent path so early moves aren't book lookups (see the
+`match_play.py` bugs below for why that matters) and explicit `--hash`/
+`--cpus` rather than the tiny memset-zero defaults:
+
+```sh
+./typhoon --cpus 1 --hash 256m --logfile /tmp/typhoon/<run>/sd10_<suite>.log \
+ --batch --command "force; book name /nonexistent.book.bin; sd 10; script ../tests/<suite>.ep_"
+```
+
+**Run these in the background and use Monitor to wait, don't block the
+foreground on them.** Each curated suite takes on the order of minutes at
+`sd 10`; a `wait` in a synchronous Bash call routinely exceeds a 2-minute
+tool timeout even though the run itself is fine. Launch with
+`run_in_background: true` (or equivalent), then use Monitor (or just
+continue the conversation -- a background command notifies on completion)
+rather than polling/sleeping in a loop.
+
Current baseline (`lastrun.log`, `st 1`, unmodified eval constants):
**606/879 solved.** A first full DNA-tuning pass against 600k TWIC positions
raised this to **622/879** (see `eval_tune/`).