# Batch 291 - Rule 249 Process Log

Theme: body-part complementary perception pronoun expansion after Rule 248.

Starting state:
- Verified sentences before batch: 14,597 / 20,000.
- Under review before batch: 0.
- Latest completed rule before this batch: Rule 248 / batch-290, landform/geography complementary perception pronoun
  expansion.
- Process ledger before banking: events complete through 2472.

Field audit:
- Rule 249 returns to the Rule 234-235/245 body-part field because those ten target heads are already
  dictionary-backed, already reviewed through reference and perception frames, and already trapped against
  possession, possessor-pronoun rows, body-state predicates, pain, illness, medicine/healing, body-fluid rows,
  ritual/taboo/scar/initiation rows, animal-only readings, dialect-only readings, movement/use/event rows, jaw,
  ankle, toenail, insides/guts/organs, emotion, butchery/eating, locational `jibarr`, `kangku` valley, `kangkul
  kulbal` slap, rude-register rows, sitting-event rows, hip, target case, pronoun case, perception compounds, target
  compounds, productive reduplication, and support inflection.
- This is a construction consolidation, not a new lexical field. It keeps the Rule 234 target inventory and fills the
  opposite here/there half of the Rule 245 pronoun/location grid.
- The final planned grid uses five sourced, zero-collision bare nominative-pronoun bands: `Ngali TARGET yinyay
  nyajil`, `Ngaliny TARGET yaluy nyajil`, `Yubal TARGET yinyay nyajil`, `Nganjin TARGET yaluy nyajil`, and
  `Yurra TARGET yinyay nyajil`.

Source basis:
- Dictionary entries source `bandin` love handles, `bari` chin, `bibar` shin, `birri` fingernail, `jiba` liver,
  `jandal` leg, `jibar` stomach, `kangkul` cheek, `kuwinyu` posterior, and `waba` thigh.
- Direct dictionary readback used lines 1425-1434 for `bandin`, 1688-1698 for `bari`, 2131-2140 for `bibar`,
  3190-3199 for `birri`, 8611-8623 for `jiba`, 7926-7934 for `jandal`, 8728-8736 for `jibar`, 13276-13284 for
  `kangkul`, 16806-16818 for `kuwinyu`, and 24975-24984 for `waba`.
- Patz section 3.5 Table 3.6 sources bare nominative `ngali`, `ngaliny`, `yubal`, `nganjin`, and `yurra`.
- Patz section 3.7 Table 3.12 and Table 3.14 source Yalanji local demonstratives `yaluy` "here" and `yinyay`
  "there".
- Patz section 3.8.3.2 sources `nyaji-l` "see"; Rule 249 uses only nonpast `nyajil`.

Selected target heads:
- `bandin` - love handles; lexical plural English only, no possession, body-state, pain, or medical row.
- `bari` - chin; no jaw extension.
- `bibar` - shin; no ankle extension.
- `birri` - fingernail; no toenail extension.
- `jiba` - liver; no insides, guts, organs, emotion, butchery, eating, medical, or compound row.
- `jandal` - leg; no walking, movement, injury, possession, or event row.
- `jibar` - stomach; no locational `jibarr`, emotion, sickness, eating, or possession row.
- `kangkul` - cheek; no `kangku` valley drift and no `kangkul kulbal` slap row.
- `kuwinyu` - posterior; neutral posterior reference only, no rude-register, ritual, taboo, sitting-event, or
  possession row.
- `waba` - thigh; no hip extension.

Planned frame grid:
- Rows 1-10: `Ngali TARGET yinyay nyajil`.
- Rows 11-20: `Ngaliny TARGET yaluy nyajil`.
- Rows 21-30: `Yubal TARGET yinyay nyajil`.
- Rows 31-40: `Nganjin TARGET yaluy nyajil`.
- Rows 41-50: `Yurra TARGET yinyay nyajil`.

Preflight:
- Exact planned-surface collision scan over the final 50 Rule 249 surfaces returned 0 accepted, revised, or
  under-review collisions.
- Token-aware coverage before banking after Rule 248 was: `bandin` 15, `bari` 19, `bibar` 25, `birri` 23, `jiba`
  56, `jandal` 39, `jibar` 57, `kangkul` 19, `kuwinyu` 15, and `waba` 19.
- Pronoun coverage before banking was `ngali` 141, `ngaliny` 75, `yubal` 89, `nganjin` 91, and `yurra` 134.
- Static guards in `bank_291.py`: 50 explicit hand-authored rows; exactly one Rule 249 body-part target noun per
  row; exactly one selected bare nominative pronoun per row; no loans; no target morphology; no rejected body-part
  candidate; no possession, possessor-pronoun, body-state, pain, illness, medicine/healing, body-fluid,
  ritual/taboo/scar/initiation, animal-only, dialect-only, movement/use/event, jaw, ankle, toenail,
  insides/guts/organs, emotion, butchery/eating, locational `jibarr`, `kangku` valley, `kangkul kulbal` slap,
  rude-register, sitting-event, hip, target-case, pronoun-case, perception-compound, support-inflection,
  target-compound, or productive-reduplication drift; five sourced pronoun-perception bands only.

Closeout requirements:
- Run `python3 -m py_compile batch_scripts/bank_291.py batch_scripts/close_291.py`.
- Run `python3 batch_scripts/bank_291.py`.
- Run whole-corpus lint while rows are under review.
- Read back all 50 rows and run five-lens review.
- Run `python3 batch_scripts/close_291.py`.
- Run whole-corpus lint again.
- Run `python3 export_training.py`.
- Update all living books with Rule 249 and rerender docs with `./render-docs.sh`.
- Verify `/docs`, `/docs/`, all four rendered HTML docs, and all four raw Markdown docs from `mobtranslate.com`.

Execution closeout:
- `python3 -m py_compile batch_scripts/bank_291.py batch_scripts/close_291.py` passed.
- `bank_291.py` static scan returned 0 issues and banked 50 explicit under-review rows.
- Under-review lint scanned 14,647 rows with 0 issues while the verified count was still 14,597.
- SQLite row readback confirmed all 50 intended Batch 291 surfaces in the five-band grid:
  `Ngali TARGET yinyay nyajil`, `Ngaliny TARGET yaluy nyajil`, `Yubal TARGET yinyay nyajil`,
  `Nganjin TARGET yaluy nyajil`, and `Yurra TARGET yinyay nyajil`.
- `close_291.py` accepted all 50 rows and wrote 250 five-lens review rows, 33 lessons, and 18 lexeme/source-log
  records. Verified sentences moved 14,597 -> 14,647 and Kuku words moved 113,747 -> 113,947.
- Post-close lint scanned 14,647 rows with 0 issues. Final DB audit: accepted 13,736; revised 911; under_review 0;
  Batch 291 accepted rows 50; Batch 291 reviews 250; Batch 291 lessons 33; Batch 291 lexeme logs 18.
- `export_training.py` refreshed the JSONL export: train 12,290; dev 1,184; synthtest 1,173; total 14,647.
- Living books updated:
  `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`,
  `reports/SAMPLE-PRODUCTION-PAGES.md`,
  `reports/kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`, and
  `reports/kuku-yalanji-dictionary-errata-2026-07-02.md`.
- `./render-docs.sh` regenerated `public-docs/` HTML and raw Markdown files plus `index.html`.
- Local marker verification found `14,647`, `Batch 291 / Rule 249`, `Rule 249 - body-part`, `Batch-291`,
  `Ngali bandin yinyay nyajil`, `Ngaliny bari yaluy nyajil`, and `Yurra waba yinyay nyajil` in the source reports
  and rendered docs.
- Live verification against `https://mobtranslate.com/docs/` passed: `/docs` returned 301 to `/docs/`; `/docs/`,
  all four HTML docs, and all four raw Markdown docs returned 200 with the Batch 291 markers.
- Final audit green: lint 0 issues; DB total 14,647 verified / 20,000; export total 14,647; public docs current.

Next handoff:
- Next batch in sequence is Batch 292 / Rule 250.
- Start from 14,647 / 20,000 verified sentences; remaining to target: 5,353.
- Reread Rules 149-249 and the errata watchlist before authoring. Rule 249 does not license body-part possession,
  body-state, pain, illness, medicine/healing, body-fluid, ritual/taboo/scar/initiation, animal-only or dialect-only
  senses, jaw/ankle/toenail/insides/guts/organs/hip alternates, emotion/cognition idioms, butchery/eating rows,
  locational `jibarr`, `kangku` valley drift, `kangkul kulbal` slap rows, rude-register drift, sitting-event rows,
  target case, pronoun case, perception compounds, target compounds, productive reduplication, or support inflection.
