# Batch 279 - Rule 237 Process Log

Theme: fire-reference construction consolidation after Rule 236.

Starting state:
- Verified sentences before batch: 13,997 / 20,000.
- Under review before batch: 0.
- Latest completed rule before this batch: Rule 236 / batch-278, fire-reference lexical expansion.
- Process ledger before banking: events complete through 2230.

Field audit:
- Cadence after a lexical batch favors construction consolidation rather than opening a new semantic field.
- Rule 237 therefore retains the exact ten Rule 236 fire-reference target nouns and changes only the syntactic
  support frame.
- The construction shape is the established post-lexical consolidation pattern used in recent batches: one
  postposed-demonstrative band plus four pronoun-perception bands.
- No new lexical head is admitted.

Source basis:
- Dictionary entries checked directly for all ten retained target heads: `baya` fire, `jimal` fire stick,
  `jirramar` small sticks, `kubu` smoke, `kunjin` fire, `miyilkura` smouldering log, `ngalku` bush fire,
  `ngaluri` flames, `ngunjil` charcoal, and `wula` flames.
- Patz section 3.5 sources the bare nominative pronouns `yundu`, `nyulu`, `ngana`, and `jana`.
- Patz section 3.7 sources `yinya` "that/those", `yaluy` "here", and `yinyay` "there"; the batch uses them bare.
- Patz section 3.8.3.2 sources `nyaji-l` "see" as an l-conjugation verb; accepted corpus convention supplies
  `nyajin` for past perception.
- Patz Text 12 includes fire/smoke in perception contexts, including smoke sought by looking around and fire seen
  in a story sequence. Rule 237 uses only the perception affordance and does not import coming, lighting, burning,
  police-fire, or fire-management event prose.

Selected target heads:
- `baya` - fire; no firewood, lighting, collecting, cooking, or coming-fire row.
- `jimal` - fire stick; no fire-making, drill/twirling, or story row.
- `jirramar` - small sticks; no starting-fire/kindling-use row.
- `kubu` - smoke; no smoke-from, smoke-out, fire-event, or source-location row.
- `kunjin` - fire; no asserted contrast with `baya` beyond dictionary synonymy.
- `miyilkura` - smouldering log; no burning, cooking, warming, or fire-management row.
- `ngalku` - bush fire; no spreading, clearing, danger, warning, or burn-event row.
- `ngaluri` - flames; no leaping/flame-motion event row.
- `ngunjil` - charcoal; no hot-coals or hot-ashes extension.
- `wula` - flames; no `dalngarri` synonym import and no `dalngarri` urine/body-fluid homograph.

Planned frame grid:
- Rows 1-10: `TARGET yinya yaluy`.
- Rows 11-20: `Yundu TARGET yinyay nyajil`.
- Rows 21-30: `Nyulu TARGET yaluy nyajil`.
- Rows 31-40: `Ngana TARGET yinyay nyajil`.
- Rows 41-50: `Jana TARGET yaluy nyajin`.

Preflight:
- Exact planned-surface collision scan is enforced inside `bank_279.py` before insert.
- Token-boundary corpus coverage before banking: `baya` 455, `jimal` 33, `jirramar` 5, `kubu` 61, `kunjin` 11,
  `miyilkura` 5, `ngalku` 5, `ngaluri` 5, `ngunjil` 68, and `wula` 59 accepted/revised token hits.
- Static guards in `bank_279.py`: 50 explicit hand-authored rows; exactly one Rule 237 target noun per row; no
  loans; no target morphology; no denied recent body/landform target drift; no fire-action, use, loan, body-fluid
  homograph, or event English; no pronoun case; no perception compound; five sourced construction frame bands only.

Closeout requirements:
- Run `python3 -m py_compile batch_scripts/bank_279.py batch_scripts/close_279.py`.
- Run `python3 batch_scripts/bank_279.py`.
- Run whole-corpus lint while rows are under review.
- Run `python3 batch_scripts/close_279.py` after five-lens review.
- Run whole-corpus lint again.
- Run `python3 export_training.py`.
- Update all living books with Rule 237 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_279.py batch_scripts/close_279.py` completed cleanly.
- `bank_279.py` static guard check returned 0 issues before banking.
- Exact duplicate preflight over the 50 planned Kuku surfaces returned 0 accepted, revised, or under-review
  collisions.
- `python3 batch_scripts/bank_279.py` banked 50 Rule 237 rows as `under_review`.
- Under-review lint scanned 14,047 total rows and found 0 issues; the closed verified count was still 13,997 before
  `close_279.py`.
- Manual five-lens review passed all 50 rows: source, morphology, syntax, semantics/fidelity, and register all stayed
  inside the planned fire-reference construction scope.
- `python3 batch_scripts/close_279.py` accepted all 50 rows and moved the corpus from 13,997 to 14,047 verified
  sentences; Kuku words moved from 111,397 to 111,587.
- Close stored 250 review rows, 31 lessons, and 19 lexeme/source-log rows.
- Post-close lint scanned 14,047 rows and found 0 issues; final closed corpus state is 14,047 / 20,000, with 5,953
  remaining and 0 rows under review.
- `python3 export_training.py` refreshed 14,047 exported rows: train 11,776, dev 1,140, synthtest 1,131.
- Source 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/index.html`, all four rendered HTML documents, and all four raw
  Markdown documents.
- Live verification with `curl -A 'Mozilla/5.0'` confirmed `/docs` returns 301 to `/docs/`, `/docs/` returns 200,
  all four rendered HTML docs return 200, all four raw Markdown docs return 200, and all eight document URLs contain
  `14,047`, `Batch 279`, `Rule 237`, and `batch-279`.
- Process ledger is complete through event 2248 for Batch 279: source, planning, preflight, bank, lint, review,
  close, export, source-book update, render, live-doc verification, and process-log finalization.
