# Batch 182 Process Log: Rule 140 Construction Consolidation After Rule 139

## Scope

- Goal: add 50 verified synthetic Kuku Yalanji rows after Rule 139.
- Batch type: construction consolidation, not a new lexical expansion.
- Reused target heads:
  - `jimal`: fire stick.
  - `ngunjil`: charcoal/hot coals.
  - `dumbul`: bark; shell/crust senses excluded.
  - `buyku`: paperbark.
  - `jikan`: grass.
  - `baya`: fire/firewood.
  - `kubu`: smoke.
  - `nganjirr`: grass tree.
- Reused support-only heads: `balji` bag/container, `bubu` ground/place, `wabarr` shade, `bayan` camp/house.
- Added support-only location after source readback: `ngalkal-ba` outside LOC.
- Reused frames: state, rest-location, perception, placement, leaving, and getting/source.

## Source Readback

- Dictionary/source anchors retained:
  - `jimal`: dictionary fire stick; commentary links it to `jimal damal` make fire with a fire stick.
  - `ngunjil`: dictionary charcoal/hot coals; grammar ex.175 has wood turning into charcoal.
  - `dumbul`: dictionary bark/hard covering; Rule 140 selected bark only.
  - `buyku`: dictionary paperbark; grammar/Text 51 has paperbark sitting on top in an earth-oven sequence.
  - `jikan`: dictionary grass; grammar examples include grass location and grass objects.
  - `baya`: dictionary and grammar fire/firewood; Rule 140 uses fire in state/perception rows only.
  - `kubu`: dictionary smoke; grammar line has `baya kubu nyaji-nka` to see smoke.
  - `nganjirr`: dictionary grass tree; grammar ex.65 confirms root `nganjirr` grass tree(s).
  - `ngalkal`: dictionary outside; grammar ex.127b has `ngalkal-ba-ku` outside-LOC-EMPH.
- Rejected/unopened candidates:
  - `bajar`: dictionary entries gloss English "ash" only because the tree is Moreton Bay ash/white gum. It remains
    rejected for ash residue.
  - `ngalku`: source-known as bush fire/grassfire, but not opened in this construction batch.

## Risk Controls

- No new target heads.
- No `bajar` residue-ash rows.
- No `ngalku` grassfire rows.
- No Rule 137/138 handled-object carry-over heads: `badur`, `karra`, `makarr`, `ngunyin`, `wangal`, `warrbi`,
  `kunjuri`, or `kalka`.
- No target-head dative, locative, ablative, instrumental, comitative, possessive, or compound forms.
- No instruments.
- No comitatives.
- No alienable possessive suffixes.
- No temporal clitics.
- No body-part traps: `waba`, `jandal`, `dakil`, or locational `jibarr`.
- No carry-over animal/body-flesh heads: `malbin`, `jiba`, `bangkarr`, or `minya`.
- No `jungkalu`, `juku`, `kulji`, or `kambi` drift.
- `Dumbul` remains bark only in this batch.
- `Baya` remains fire in this batch; no handled firewood row.
- `Kubu` remains smoke only.
- `Nganjirr` remains grass tree only.
- `Baya`, `kubu`, and `nganjirr` are not treated as portable handled objects.
- Common-noun transitive/perception A must be ERG-marked.
- Pronoun A must remain bare.

## Authoring Notes

- Rows were hand-authored in the main loop.
- Constructional variety comes from recombining the same Rule 139 heads with already sourced predicates, participants,
  and support locations.
- `Ngalkal-ba` was added as a support location only after dictionary, grammar, and lexeme-ledger readback.
- Final planned-surface scan found 50 planned rows, 50 unique within-batch surfaces, and zero exact cross-corpus
  duplicates.
- The bank script requires 50 rows, Rule 140 frame ids, JSON metadata, zero loans, selected-sense glosses, at least
  one target head in every row, no target case forms, no denied heads, approved local support forms only, ERG
  common-noun A, bare pronoun A, and no portable-object treatment for fire/smoke/grass-tree rows.
- The bank script performs an exact cross-corpus duplicate scan before insertion and refuses to overwrite
  accepted/revised rows.

## Banking, Review, And Close

- Compile command: `python3 -m py_compile batch_scripts/bank_182.py batch_scripts/close_182.py`
  - no output; compile succeeded.
- Pre-bank lint:
  - `lint: 9147 rows scanned, 0 issues flagged`
  - `GOAL METRIC: 9147 / 20000 verified sentences (95902 Kuku words)`
- Bank command: `python3 batch_scripts/bank_182.py`
  - `banked batch-182: rows=50, under_review=50, verified_before_close=9147`
- Under-review lint:
  - `lint: 9197 rows scanned, 0 issues flagged`
  - `GOAL METRIC: 9147 / 20000 verified sentences (95902 Kuku words)`
- Close command: `python3 batch_scripts/close_182.py`
  - `closed batch-182: 50 accepted rows, 250 review passes, 25 lessons, 33 lexeme/source-log rows, 12 process events, under_review=0, verified corpus=9197`
- Post-close lint:
  - `lint: 9197 rows scanned, 0 issues flagged`
  - `GOAL METRIC: 9197 / 20000 verified sentences (96073 Kuku words)`
- Export refresh:
  - total rows: 9,197
  - train/dev/synthtest: 7,711 / 743 / 743
- Process events:
  - 16 rows for `batch-182` after close, export, docs render, and live verification: source pass, construction scope, risk controls, duplicate
    preflight, process capture, bank success, under-review lint, five-lens pass, review detail, lesson inventory,
    lexeme/source log, close success, post-close lint, export refresh, docs render, and live-doc verification.

## Five-Lens Close Notes

- Morphology: target heads stayed bare; no dative, locative, ablative, instrumental, comitative, possessive, or
  compound target forms appeared. The only local support forms were `balji-nga`, `bubu-ngu`, `bubu-muny`,
  `wabarr-ba`, `bayan-ba`, and `ngalkal-ba`. Common-noun A stayed ERG-marked, and pronoun A stayed bare.
- Lexicon: `jimal` stayed fire stick, `ngunjil` charcoal/hot coals, `dumbul` bark, `buyku` paperbark, `jikan`
  grass, `baya` fire, `kubu` smoke, and `nganjirr` grass tree. `Bajar` remained rejected for residue ash, and
  `ngalku` remained unopened.
- Syntax: state rows used simple noun-predicate clauses; rest rows were limited to portable material nouns;
  perception rows admitted fire, smoke, and grass tree without forcing them into handled-object frames; placement,
  leave, and get/source rows were reserved for fire stick, charcoal, bark, paperbark, and grass.
- Fidelity: English labels narrow the selected senses. `Ngunjil` rows are charcoal rows, not ash rows; `ngalkal-ba`
  rows are outside-location support rows, not new target morphology.
- Register: rows remained ordinary practical sentences about materials being good/big/dry, lying somewhere, seen,
  put, left, or taken.

## Living Books And Live Verification

- Render command: `./render-docs.sh`
  - `rendered operator-guide.html <- KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`
  - `rendered sample-pages.html <- SAMPLE-PRODUCTION-PAGES.md`
  - `rendered grammar-cheatsheet.html <- kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`
  - `rendered dictionary-errata.html <- kuku-yalanji-dictionary-errata-2026-07-02.md`
  - `wrote index.html`
- Live verification command: `python3 urllib live docs marker verifier`
  - `/docs` returned 301 to `/docs/`.
  - `/docs/` returned 200.
  - `/docs/operator-guide.html`, `/docs/sample-pages.html`, `/docs/grammar-cheatsheet.html`, and
    `/docs/dictionary-errata.html` returned 200.
  - `/docs/operator-guide.md`, `/docs/sample-pages.md`, `/docs/grammar-cheatsheet.md`, and
    `/docs/dictionary-errata.md` returned 200.
  - Operator guide markers present: `9,197`, `Rule 140`, `Rule 141`, `batch-182`, `7,711`, and `743`.
  - Sample-pages markers present: `Batch 182`, `9,197`, `ngalkal-ba`, and `Moreton Bay ash`.
  - Grammar-cheatsheet markers present: `Rule 140`, `Ngunjil ngulkurr`, `Dumbul ngalkal-ba wunan`,
    `Ngamu-ngku jimal bayan-ba yijarrin`, and `7711/743/743`.
  - Dictionary-errata markers present: `Batch-182`, `Jimal yalbay`,
    `Nganjan-angka ngunjil bubu-muny manin`, `ngalkal-ba`, and `7711/743/743`.
- Process ledger rows:
  - `704` docs-render.
  - `705` live-doc-verification.

## Next Handoff

- After close, the next batch should be `batch-183`, proposed Rule 141.
- Cadence may return to lexical expansion only after a fresh source pass.
- Keep Rule 139/140 traps active: `bajar` is a tree-name trap, `ngalku` remains unopened unless a later source pass
  intentionally opens grassfire/bush-fire rows, and `baya`/`kubu`/`nganjirr` should not be treated as portable
  handled objects.
