# Batch 252 Process Log - Rule 210 Low-Coverage Water Reference Lexical Expansion

Date: 2026-07-08
Operator: claude-main
Status: accepted

## Starting State

- Authoritative corpus state before banking:
  - accepted: 11,736
  - revised: 911
  - verified total: 12,647 / 20,000
  - Kuku words: 107,582
  - last completed batch: batch-251 / Rule 209
- Handoff source: `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`, section 12.
- Rule 210 mandate: a new lexical expansion after Rule 209, with Rule 209 artefact-reference and all Rule 149-209 traps kept closed.

## Construction Choice

Rule 210 uses the already sourced bare deictic/reference noun frames:

1. `TARGET yaluy.` = The TARGET is here.
2. `TARGET yinyay.` = The TARGET is there.
3. `Yinya TARGET yinyay.` = That TARGET is there.
4. `TARGET yinya yinyay.` = That TARGET is there.
5. `Yinya TARGET yaluy.` = That TARGET is here.

Grammar support reread:

- Patz section 3.7 gives Yalanji `yinya` "that/those", `yaluy` "here", and `yinyay` "there".
- Patz section 3.7 states that demonstrative pronouns imply singular or plural by context and may refer to animate or inanimate beings.
- Patz section 3.7 gives both preposed and postposed demonstrative-noun order, including `yinya karrkay` and `karrkay yinya`.
- Rule 210 keeps all support forms bare and uninflected.

## Source-Checked Target Nouns

Final targets are all exact dictionary headwords in the `water` semantic domain:

- `balar` noun, high tide. The dictionary also records a place-name sense for Oaky Creek; Rule 210 uses only "high tide."
- `ngajal` noun, low tide. Rule 210 uses only "low tide."
- `walngka` noun, swamp. Rule 210 uses only "swamp"; no hanging/homograph drift.
- `yilki` noun, creek. Rule 210 uses only "creek"; no route, mouth, fishing, or travel row.
- `jirka` noun, spring. Rule 210 uses only the water-source noun "spring"; no season reading.
- `yiri` noun, waterfall. Rule 210 uses only "waterfall"; no falling/travel/danger row.
- `yirri` noun, running water. Rule 210 uses only "running water"; no water-use, current, or motion-event row.
- `marrka` noun, calm sea. The dictionary also gives a salt-pan sense; Rule 210 uses only "calm sea."
- `mulngku` noun, wave. Rule 210 uses only "wave"; no rough-sea, breaking, danger, or sound row.
- `miral` noun, scum on water. The dictionary also gives "whale oil"; Rule 210 uses only "scum."

Support heads: `yinya`, `yaluy`, and `yinyay`.

## Rejected / Deferred Candidate Fields

- `land-geography` was rejected because Batches 227-228 already handled a landform reference set and many low-count landform heads carry place-name, route, ecology, coral/reef, or ownership tails.
- `sky-weather` was deferred because several low-count entries are weather events or conditions that need a different frame than simple object-like deictic reference.
- `food` was deferred because the low-count entries carry food/eating/preparation/loan tails and would require a heavier use-semantics trap set.
- Water candidates `ngarngkul` splash, `jalungkarr` flood, and `dulngku` reef were held in reserve because the selected ten give a cleaner reference set and avoid event/flood/reef-gathering pressure.

## Duplicate Preflight

Exact duplicate preflight over all 50 planned Kuku surfaces returned no accepted, revised, or under-review collisions.

The clean final target set was:

`balar`, `ngajal`, `walngka`, `yilki`, `jirka`, `yiri`, `yirri`, `marrka`, `mulngku`, `miral`.

## Five-Lens Review Commitments

- Morphology: all targets remain bare absolutive citation nouns; no case, possessive, comitative, locative, instrumental, number, derivation, compounding, productive reduplication, or target suffixing.
- Lexicon: each row uses only the selected water/coastal label; no place-name, salt-pan, whale-oil, route, fishing, gathering, ecology, danger, flood, reef-use, water-use, current, motion, sound, travel, or ownership prose is imported.
- Syntax: only the five sourced deictic/reference frames above are used.
- Fidelity: English remains literal reference/location prose: "The X is here/there" and "That X is here/there".
- Register: rows are plain elicitation-style reference sentences, not narratives, fishing/tide instructions, route reports, water-use events, weather-event prose, or ecological descriptions.

## Expected Count Movement

- Before close: 12,647 verified sentences.
- After close: 12,697 verified sentences.
- Remaining after close: 7,303.
- Expected Kuku-word movement: +130, because all 50 rows use one-token target nouns plus one or two one-token demonstratives/location words.

## Close and Export Evidence

- `python3 batch_scripts/close_252.py` closed Batch 252:
  - accepted rows: 50
  - review rows: 250
  - verified movement: 12,647 -> 12,697
  - Kuku-word movement: 107,582 -> 107,712
- Post-close lint:
  - `lint: 12697 rows scanned, 0 issues flagged`
  - goal metric: `12697 / 20000` verified sentences and `107712` Kuku words
- Inventory after close:
  - accepted: 11,786
  - revised: 911
  - verified total: 12,697
  - remaining to 20,000: 7,303
  - Batch 252 rows: 50
  - Batch 252 reviews: 250
  - Batch 252 lessons: 27
  - Batch 252 lexeme/source-log rows: 13
  - Batch 252 process events through export: 11
- Export refreshed with `python3 export_training.py`:
  - total rows: 12,697
  - train/dev/synthtest: 10,640 / 1,036 / 1,021
  - `wc -l export/train.jsonl export/dev.jsonl export/synthtest.jsonl`: 12,697 total
- Process ledger events:
  - `1772`-`1775`: source, scope, duplicate preflight, and static guard pass
  - `1776`-`1781`: lint, five-lens review, lessons, lexeme logs, and close
  - `1782`: export refresh

## Living Books and Render Evidence

- Source books updated for Rule 210 / Batch 252:
  - `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`
  - `reports/SAMPLE-PRODUCTION-PAGES.md`
  - `reports/kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`
  - `reports/kuku-yalanji-dictionary-errata-2026-07-02.md`
- Operator guide now names the last completed batch as Rule 210, gives the current count as 12,697 verified
  sentences and 107,712 Kuku words, and hands off to Rule 211 / Batch 253 with `bank_253.py` and `close_253.py`.
- Sample pages now show the Batch 252 / Rule 210 water-reference examples:
  - `Balar yaluy.`
  - `Ngajal yinyay.`
  - `Yinya yilki yinyay.`
  - `Marrka yinya yinyay.`
  - `Yinya miral yaluy.`
- Mega grammar cheatsheet now contains Rule 210 with source basis, target heads, safe frames, process traps, and
  lint/export counts.
- Dictionary errata now contains Batch 252 with all ten target heads, all five admitted forms per target, and closed
  secondary readings.
- Stale-current scan over operator/sample source docs found no Batch 251 current-build note, no stale "Last completed
  Rule 209" marker, no stale "Recommended next Rule 210" handoff, no `bank_252.py`, no `close_252.py`, and no
  `12,647 verified` current marker.
- `./render-docs.sh` completed:
  - rendered `operator-guide.html`
  - rendered `sample-pages.html`
  - rendered `grammar-cheatsheet.html`
  - rendered `dictionary-errata.html`
  - wrote `index.html`
- Generated `public-docs/` HTML and Markdown artifacts contain Rule 210 / Batch 252 markers, 12,697 count, Rule 211
  handoff markers, and the Batch 252 example forms.
- Process ledger events:
  - `1783`: source books updated
  - `1784`: docs rendered

## Live Docs Verification

- Live route status checks:
  - `https://mobtranslate.com/docs` returns 301 to `https://mobtranslate.com/docs/`
  - `https://mobtranslate.com/docs/` returns 200
  - `operator-guide.html`, `sample-pages.html`, `grammar-cheatsheet.html`, and `dictionary-errata.html` return 200
  - `operator-guide.md`, `sample-pages.md`, `grammar-cheatsheet.md`, and `dictionary-errata.md` return 200
- Live body marker checks passed:
  - operator guide HTML/MD: `Rule 210`, `12,697`, `Rule 211`, `bank_253.py`, and `close_253.py`
  - sample pages HTML/MD: `Batch 252`, `Rule 210`, `12,697`, `Balar yaluy`, and `Yinya miral yaluy`
  - grammar cheatsheet HTML/MD: `Rule 210`, `Balar yaluy`, and `Yinya miral yaluy`
  - dictionary errata HTML/MD: `Batch 252`, `Balar yaluy`, and `Yinya miral yaluy`
- Live stale-marker checks over operator/sample HTML and MD found no stale Batch 251 current-build marker, stale
  Rule 209 current-completion marker, stale Rule 210 next-pick marker, `bank_252.py`, `close_252.py`, or
  `12,647 verified` current marker.
- Process ledger event:
  - `1785`: live docs verified

## Final Audit Evidence

- `python3 lint_corpus.py`:
  - `lint: 12697 rows scanned, 0 issues flagged`
  - `GOAL METRIC: 12697 / 20000 verified sentences  (107712 Kuku words)`
- Authoritative DB counts:
  - accepted: 11,786
  - revised: 911
  - verified total: 12,697
  - remaining to 20,000: 7,303
  - Kuku words: 107,712
  - last batch: 252
  - Batch 252 rows accepted: 50
  - Batch 252 review rows: 250
  - Batch 252 lessons: 27
  - Batch 252 lexeme/source-log rows: 13
  - Batch 252 process events after final audit: 15
- Export manifest and split line counts:
  - total rows: 12,697
  - train/dev/synthtest: 10,640 / 1,036 / 1,021
  - `wc -l export/train.jsonl export/dev.jsonl export/synthtest.jsonl`: 12,697 total
- Process ledger event:
  - `1786`: final audit
