Unify agent guidance: merge CLAUDE.md into AGENTS.md, symlink CLAUDE.md

ober

0595c393e339a6fbf4d9aa36b375233c44912087

diff --git a/AGENTS.md b/AGENTS.md
index ca30460..80e7e42 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -341,7 +341,7 @@ When working in a Jerboa project, **ONLY modify files in the current repo** unle
 
 Common sibling repos that exist but must NOT be touched without explicit instruction:
 - `~/mine/jerboa-emacs` — **NEVER touch**. Another model owns it.
-- `~/mine/jerboa-mcp` — Only modify when user explicitly says to work there.
+- `~/mine/jerboa-mcp` — Legacy node MCP, superseded. The active MCP server now lives in THIS repo at `mcp/` + `data/`. Don't modify the legacy repo unless told.
 - `~/mine/jerboa-shell` — Only modify when user explicitly says to work there.
 - `~/mine/gerbil-mcp` — **NEVER touch**. Deprecated.
 - `~/mine/gerbil-orig` — Read-only reference for upstream Gerbil. Never modify.
@@ -362,6 +362,22 @@ find lib -name "*.so" -delete && find lib -name "*.wpo" -delete && make build
 ```
 Run `jerboa_stale_static` to detect stale `.so` files before debugging "why doesn't my edit work?".
 
+## Pre-commit Requirements
+
+**ALWAYS** run a clean build **before** committing any code to this repository. Pick the right target for the *current* platform:
+
+- **Linux**: run `make docker-build` — the Docker image must build cleanly against the full musl-static release pipeline.
+- **macOS / FreeBSD / other**: run `make binary` — the native local build must succeed. Do **not** run `make docker-build` here; Docker on non-Linux hosts is slow and not the canonical pipeline for those platforms.
+
+Do not commit if the build fails.
+
+## Act First, Read Less
+
+When making changes, read only what you need to make the edit, then make it.
+Do not read more than 3 files before acting. Do not re-read files you already
+read. Do not verify things you already know. If you have enough context to make
+a change, make it. The user will interrupt you if you are wrong.
+
 ## Jerboa MCP Tools — MANDATORY Usage
 
 Jerboa is a niche Scheme dialect with limited training data. **Never guess — always verify** with MCP tools. Tool descriptions are available at runtime via the MCP server; this section covers **when** and **why** to use each tool.
@@ -410,6 +426,8 @@ Jerboa is a niche Scheme dialect with limited training data. **Never guess — a
 - **`jerboa_howto_run`** / **`jerboa_howto_verify`**: Validate recipes still work
 - **`jerboa_error_fix_add`**: Save error→fix mappings for common mistakes
 
+**The knowledge base is `data/*.sexp` in THIS repo**, embedded into `jmcp` at build time. The write tools above edit it live — the server reads `data/` from disk first, with the embedded copy as fallback (`JERBOA_MCP_REPO` points every client at this repo). When you add a stdlib/language feature, also update `data/` (a cookbook recipe + `api-signatures.sexp` + `changelog.sexp`) and **commit it**. Run `make jmcp` (or `make jmcp-portable`) only to refresh the embedded copy shipped in portable binaries.
+
 ### Code Generation & Refactoring
 
 `jerboa_rename_symbol`, `jerboa_balanced_replace`, `jerboa_wrap_form`, `jerboa_splice_form`, `jerboa_scaffold_test`, `jerboa_generate_module`, `jerboa_translate_scheme`, `jerboa_project_template`, `jerboa_httpd_handler_scaffold`, `jerboa_db_pattern_scaffold`, `jerboa_actor_ensemble_scaffold`
diff --git a/CLAUDE.md b/CLAUDE.md
deleted file mode 100644
index 518662e..0000000
--- a/CLAUDE.md
+++ /dev/null
@@ -1,16 +0,0 @@
-## Pre-commit Requirements
-
-**ALWAYS** run a clean build **before** committing any code to this repository. Pick the right target for the *current* platform:
-
-- **Linux**: run `make docker-build` — the Docker image must build cleanly against the full musl-static release pipeline.
-- **macOS / FreeBSD / other**: run `make binary` — the native local build must succeed. Do **not** run `make docker-build` here; Docker on non-Linux hosts is slow and not the canonical pipeline for those platforms.
-
-Do not commit if the build fails.
-
-## Act First, Read Less
-
-When making changes, read only what you need to make the edit, then make it.
-Do not read more than 3 files before acting. Do not re-read files you already
-read. Do not verify things you already know. If you have enough context to make
-a change, make it. The user will interrupt you if you are wrong.
-
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 120000
index 0000000..47dc3e3
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1 @@
+AGENTS.md
\ No newline at end of file