Remove all gherkin references

ober

0998a0e0fb421f7bc485440450620f306379fae4

diff --git a/Dockerfile b/Dockerfile
index bbc0f37..46eefbb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -114,8 +114,7 @@ RUN cd /build/mine/jerboa/jerboa-native-rs && \
     strip -S target/x86_64-unknown-linux-musl/release/libjerboa_native.a
 
 # ── Clone all common dependency repos ────────────────────────────────────────
-RUN git clone --depth 1 https://github.com/ober/gherkin.git && \
-    git clone --depth 1 https://github.com/ober/chez-ssh.git && \
+RUN git clone --depth 1 https://github.com/ober/chez-ssh.git && \
     git clone --depth 1 https://github.com/ober/chez-sqlite.git && \
     git clone --depth 1 https://github.com/ober/chez-crypto.git && \
     git clone --depth 1 https://github.com/ober/chez-ssl.git && \
@@ -160,7 +159,6 @@ RUN mkdir -p /build/sci-vendor && cd /build/sci-vendor && \
 ENV JERBOA_MUSL_CHEZ_PREFIX=/build/chez-musl
 ENV JERBOA_HOME=/build/mine/jerboa
 ENV JERBOA=/build/mine/jerboa/lib
-ENV GHERKIN=/build/mine/gherkin/src
 ENV AWK_DIR=/build/mine/jerboa-awk/lib
 ENV SED_DIR=/build/mine/jerboa-sed/lib
 ENV AWS_DIR=/build/mine/jerboa-aws/lib
diff --git a/docs/hide.md b/docs/hide.md
index 3fcc2d7..fa0b726 100644
--- a/docs/hide.md
+++ b/docs/hide.md
@@ -14,7 +14,7 @@ A stock `jsh` build (20 MB, unstripped) exposes:
 | Category | Count | Source |
 |----------|-------|--------|
 | Home directory paths | 412 | Chez SFDs, Rust panics, C `__FILE__` |
-| Sibling project paths | ~30 | gherkin, cargo registry |
+| Sibling project paths | ~30 | cargo registry, etc. |
 | ELF symbols | 21,948 | `.symtab` (not stripped) |
 | DWARF debug sections | 13 | `.debug_*` |
 | Scheme symbol names | ~8,700 | FASL interned symbols |
diff --git a/docs/optimization.md b/docs/optimization.md
index d65ec62..859bf1a 100644
--- a/docs/optimization.md
+++ b/docs/optimization.md
@@ -209,9 +209,9 @@ This only affects compilation (via `compile-file`), not source loading.
 
 6. **`debug-level 0`** — For release builds, allows maximum continuation optimization.
 
-## 17. Empirical Results (gherkin-shell benchmarks)
+## 17. Empirical Results (shell benchmarks)
 
-Tested on gherkin-shell using shellbench. All numbers are executions/second (higher = better).
+Tested with shellbench. All numbers are executions/second (higher = better).
 
 | Optimization | Avg Improvement | Best Test | Binary Size |
 |-------------|----------------|-----------|-------------|
diff --git a/docs/static-binary-gotchas.md b/docs/static-binary-gotchas.md
index b88fa92..fd1d72b 100644
--- a/docs/static-binary-gotchas.md
+++ b/docs/static-binary-gotchas.md
@@ -194,7 +194,7 @@ Note: The **program** `.so` still uses memfd (for `Sscheme_script`), because `Ss
 
 ### The Problem
 
-jerboa-shell's `.sls` files are auto-generated from Gerbil `.ss` sources by the Gherkin compiler (via `build-jerboa.ss`). The generated code frequently needs fixes that can't be done at the source level because:
+jerboa-shell's `.sls` files are auto-generated from Gerbil `.ss` sources by the Gerbil compiler (via `build-jerboa.ss`). The generated code frequently needs fixes that can't be done at the source level because:
 
 1. The Gerbil compiler drops `(only ...)` imports that look unused (e.g., parameter mutations)
 2. The Gerbil compiler transforms `let` to `let*` and reorders definitions
@@ -292,9 +292,8 @@ Changes to FFI bindings require updating BOTH:
 The boot file loads modules in this order:
 
 1. **Jerboa stdlib** — `jerboa/core`, `jerboa/runtime`, `std/error`, `std/format`, `std/sort`, `std/pregexp`, `std/sugar`, `std/misc/*`, `std/stm`, `std/foreign`, `std/os/*`, `std/transducer`, `std/log`, `std/capability/*`
-2. **Gherkin runtime** — `compat/types`, `compat/gambit-compat`, `runtime/*`, `reader/reader`, `compiler/compile`, `boot/gherkin`
-3. **Compat layer** — `src/compat/gambit.so`
-4. **Application modules** — `ffi`, `pregexp-compat`, `stage`, `static-compat`, `ast`, `registry`, `macros`, `util`, `environment`, `lexer`, `arithmetic`, `glob`, `fuzzy`, `history`, `parser`, `functions`, `signals`, `expander`, `redirect`, `control`, `jobs`, `builtins`, `pipeline`, `executor`, `completion`, `prompt`, `lineedit`, `fzf`, `script`, `startup`, `sandbox`, `main`
+2. **Compat layer** — `src/compat/gambit.so`
+3. **Application modules** — `ffi`, `pregexp-compat`, `stage`, `static-compat`, `ast`, `registry`, `macros`, `util`, `environment`, `lexer`, `arithmetic`, `glob`, `fuzzy`, `history`, `parser`, `functions`, `signals`, `expander`, `redirect`, `control`, `jobs`, `builtins`, `pipeline`, `executor`, `completion`, `prompt`, `lineedit`, `fzf`, `script`, `startup`, `sandbox`, `main`
 
 ### Adding a New Module
 
diff --git a/gerbil-like.md b/gerbil-like.md
index 7ffdfe2..f7fbc88 100644
--- a/gerbil-like.md
+++ b/gerbil-like.md
@@ -320,7 +320,7 @@ Translate Gerbil's FFI syntax to Chez's at macro-expansion time:
        (ffi-translate-type ret-type))]))
 ```
 
-The `c-declare` blocks need a compile-time step: extract C code, compile to `.so`, emit `load-shared-object`. This can be a build-system step rather than a macro — the `gherkin build` command handles it.
+The `c-declare` blocks need a compile-time step: extract C code, compile to `.so`, emit `load-shared-object`. This is handled as a build-system step rather than a macro.
 
 FFI type mapping:
 
@@ -374,10 +374,10 @@ Here's what gerbil-shell code looks like today:
 
 **This code would work unchanged.** Every form in it (`def`, `try`, `match`, `import`, `export`) is handled by the macro library. The `:std/*` imports resolve to native Chez libraries. The FFI imports compile to `foreign-procedure`.
 
-## What Changes vs Current Gherkin
+## What Changes vs Previous Gerbil-on-Chez Approach
 
-| Aspect | Current Gherkin | New approach |
-|--------|----------------|--------------|
+| Aspect | Previous approach | New approach |
+|--------|-------------------|--------------|
 | Gerbil's expander | Loaded and run on Chez | Not needed |
 | gambit-compat.sls | 1790 lines | Deleted |
 | MOP | 800+ lines simulating Gambit structs | ~200 lines on Chez records |
@@ -401,8 +401,6 @@ The total codebase shrinks from ~50 files / 20K+ lines to roughly:
 | Module path mapping | ~100 |
 | **Total** | **~5200** |
 
-vs. the current gherkin at ~20K+ lines across 50+ files.
-
 ## What Gerbil Code Won't Work
 
 Being honest about what breaks:
diff --git a/jerbuild.ss b/jerbuild.ss
index 1977349..76b78d4 100644
--- a/jerbuild.ss
+++ b/jerbuild.ss
@@ -710,7 +710,6 @@
 
 (define (add-auto-imports translated-imports)
   ;; Always inject (jerboa core) and (jerboa runtime) if not already present.
-  ;; Gherkin-generated .sls files confirm these coexist with (std ...) in Docker.
   ;; Identifier conflicts with chezscheme are handled by *exclusion-triggers*.
   (let ([existing-libs (map unwrap-import-lib translated-imports)])
     (let loop ([autos *auto-imports*] [result translated-imports])