# Batch 239 process log - visual/colour property lexical expansion after Rule 196

Date: 2026-07-08
Batch: batch-239
Rule: 197
Type: lexical expansion

## Source pass

Starting point: 11,997 / 20,000 verified sentences after Batch 238 / Rule 196.

Rule 197 returns to lexical expansion after the Rule 195-196 property-adjective pair. The selected field is a
strict visual/colour property set that can use already proven NP + adjective and deictic/local property frames.

Admitted target heads:

- `ngumbu` black/dark, sourced as the grammar colour term `ngumbu` dark and dictionary `ngumbu` black/charcoal.
- `bingaji` light-coloured, sourced as grammar colour term `bingaji` light and dictionary adjective `bingaji`
  white or light colored; noun homograph white-haired person stays closed.
- `ngala-ngala` red/reddish, sourced as grammar colour term `ngalangala` red/reddish and dictionary `ngala-ngala`
  red. Dialect notes were recorded; the batch keeps the established corpus spelling `ngala-ngala`.
- `dayirr` clean/clear/bright, sourced from dictionary examples and Rule 103/Batch 145; used only as clean/clear
  property, not as a new colour root.

Support nouns checked against dictionary/source state:

- `kulji` pebbles/small stones, used as stone only.
- `juku` tree/wood, used as tree only; no timber, cutting, burning, or material-use event.
- `ngurrban` cloud, used as cloud only; no weather-event predicate.
- `mungka` hair, used as body-part noun only; no possession or white-haired-person noun drift.
- `kambi` clothing sense, with flying-fox homograph noted but closed.
- `nganka` flower/blossom, used as flower only; no flowerless/plant-event morphology.
- `karrambil` king parrot, used as bird noun only; no flight, food, feather, or story-event semantics.
- `bana` water, used with `dayirr` clear only.
- `bubu` ground/earth, used as ground only; country/ownership readings closed.
- `bayan` house/camp/shelter, used as house only.

Explicit exclusions:

- No green, blue, brown, purple, yellow, general colour noun, colour verb, or English-colour loan.
- No `waki`, `kambar`, `makirr`, `murbuy`, `wuba`, `mula-mula`, `marun-marun`, `jurrbil`, `warral`,
  `wanka`, `jarrmba`, `jinbal`, `jibarr`, `kunji`, `dalku`, `kubarr`, `jarrakulba`, `balbal`, or
  `ngungul-ngungul`.
- No case, degree, comparison, causative, inchoative, plural, target compounds, productive reduplication,
  privative, material-source, plant-use, body-possession, weather-event, bird-event, or land/country ownership rows.

## Authoring plan

Five proven frames, ten subject-property pairings, 50 total rows:

1. `yala` + NP + adjective: "This X is Y."
2. NP + adjective + `yaluy`: "The Y X is here."
3. `yinya` + NP + adjective + `yinyay`: "That Y X is there."
4. NP + adjective + `yinyay`: "The Y X is there."
5. `yala` + NP + adjective + `yaluy`: "This Y X is here."

Duplicate preflight found one collision in the draft set: `Kambi dayirr yinyay.` duplicated Batch 146 row 9.
The row was replaced with `Bubu dayirr yinyay.`.

## Review notes

- Banked 50 hand-authored rows with `bank_239.py`; all rows entered `under_review` after static guards and exact
  duplicate preflight passed.
- Under-review lint was GREEN: `12047 rows scanned, 0 issues flagged`; verified total remained 11,997 before close.
- Five-lens review passed all rows:
  - Morphology: target adjectives stayed bare, with no case, degree, comparison, causative, inchoative, plural,
    compound, productive reduplication, or `-kari`.
  - Lexicon: `ngumbu`, `bingaji`, `ngala-ngala`, and `dayirr` kept their selected visual-property senses; all blocked
    colour variants and homographs stayed closed.
  - Syntax: the five frame bands matched the plan exactly.
  - Fidelity: English stayed literal and matched the selected Kuku senses.
  - Register: rows stayed plain descriptive property clauses, not cultural or narrative claims.
- Closed with `close_239.py`: 50 accepted rows, 250 review passes, 22 lessons, 18 lexeme/source-log rows, and 10
  process events through close.
- Post-close lint was GREEN: `12047 rows scanned, 0 issues flagged`; goal metric `12047 / 20000`, 105,602 Kuku words.
- Training export refreshed: 12,047 rows, split train/dev/synthtest = 10,084/988/975.
- Source books updated: operator guide now reads 12,047 / 20,000 and Rules 1-197 with Rule 198 handoff
  (`bank_240.py`, `close_240.py`); sample pages now cite Batch 239 / Rule 197; grammar cheatsheet has Rule 197;
  dictionary errata has Batch-239.
- Rendered docs with `./render-docs.sh`.
- Live docs verified at `https://mobtranslate.com/docs/` and the eight HTML/markdown document endpoints. Two verifier
  attempts were corrected in `process_events`: one over-specific index marker and one literal HTML-linebreak marker.
  The final whitespace-tolerant verifier passed and confirmed stale operator/sample markers absent.
