# Batch 163 process log - Rule 121 source-backed place, object, and participant lexicon

Start state: 2026-07-07, corpus lint green at 8,197 / 20,000 verified sentences and 92,443 Kuku words.

## Scope

Rule 121 is a lexical batch. It adds no new construction and does not loosen Rule 120. Its purpose is to widen the
ordinary nouns that can appear inside already established place, source, object, participant, perception, transfer,
ask-about, and limited comitative frames.

The batch covers five lexical domains:

- Safe place/location nouns and phrases: `jalun-bu`, `jalun-muny`, `baral-ba`, `ngalkal-ba`, `wabarr-ba`,
  `bubu-ngu`, `jikan-ba`, `madja-muny`, `wawubaja-nga`, `wawubaja-muny`, `bayan-ba`, `bayan-muny`, and `manjal-muny`.
- Ordinary movable objects: `kalka`, `balji`, `jungkalu`, `mayi`, `bana`, `kuyu`, `mukirr`, `minya`, `baya`,
  `kambi`, and `kulji`.
- Participants and animals in argument frames: `bama`, `jalbu`, `dingkar`, `karrkay`, `maral`, `ngawa`, `babi`,
  `kami`, `ngamu`, `nganjan`, `warru`, `wulbuman`, `jawun`, `kaya`, `jarba`, `kadar`, and `bilngkumu`.
- Sound/weather/celestial heads: `ngangkurr`, `wulngku`, `jarramali`, `kaba`, `muyar`, `dawar`, and `kija`.
- Possessive forms only from the Patz-backed set already logged in Rule 120: `mayi kaya-nga` and
  `kambi ngamu-ngu`.

## Sources checked

- `dictionary.yaml` entries were checked for every content head used in the rows.
- Patz grammar examples/tables checked for the case forms and frame shapes:
  - `jalun-bu` sea-LOC and `jalun-muny` sea-ABL.
  - `baral-ba` road-LOC and ordinary motion/rest/perception placement.
  - `ngalkal-ba` outside-LOC and the dog-outside contrast in ex.127.
  - `wabarr-ba` shade-LOC.
  - `jikan-ba` grass-LOC and `jikan-muny` material/source.
  - `bubu-ngu`, `juku-ngu`, and other neutral locative/source allomorphs.
  - `ngawa-nji` directly from Patz ex.549; other comitatives only from the Rule 120 sourced set.
  - `mayi kaya-nga` and `kambi ngamu-ngu` from the possessive table.
  - `nyaji-l` perception A marking from Rules 118-120.

## Risk controls

- No new temporal clitics or sequence constructions.
- No productive possessive templates beyond `mayi kaya-nga` and `kambi ngamu-ngu`.
- No comitative analogy beyond `nganjan-anji`, `jawun-unji`, `juku-ji`, `kambi-ji`, and source-checked `ngawa-nji`.
- No `maja-nga`; use `madja` only in dictionary/corpus-normalized rows.
- No `babaji-y` ergative askers; ask-about rows keep ABS/S asker, LOC:pt person, and sourced DAT topic.
- Common-noun perceivers with `nyaji-l` take ERG; pronoun A remains unmarked.
- `kija` is moon/month only; star rows use `dawar`.
- Transitive verbs keep overt objects.

## Row plan

- Rows 1-10: place and location nouns in motion, posture, and weather-adjacent frames.
- Rows 11-20: ordinary objects placed, left, cooked, eaten, brought, or found in those locations.
- Rows 21-30: participants/animals in perception, transfer, and source/goal frames.
- Rows 31-35: ask-about and laugh-target frames with safe case marking.
- Rows 36-40: weather and celestial heads in safe time/location frames.
- Rows 41-45: sourced comitative/place combinations.
- Rows 46-50: Patz-backed possessive object phrases in ordinary handling/perception frames.

## Verification checklist

- Bank under review with `python3 batch_scripts/bank_163.py`.
- Run full corpus lint while under review.
- Perform manual five-lens review: morphology, lexicon, syntax, fidelity, register.
- Close with `python3 batch_scripts/close_163.py` only after review.
- Run full corpus lint after close and record goal metric.
- Refresh export splits with `python3 export_training.py`.
- Update operator guide, grammar cheatsheet, dictionary errata, and this process log.
- Run `./render-docs.sh`.
- Verify public `/docs/` HTML and `.md` routes.

## Execution log

- `python3 -m py_compile batch_scripts/bank_163.py` passed before banking.
- Pre-bank full-corpus lint passed before insert: 8,197 rows scanned, 0 issues flagged; goal metric 8,197 / 20,000
  verified sentences and 92,443 Kuku words.
- The first `python3 batch_scripts/bank_163.py` run stopped before insert because the new static guard regexes had
  over-escaped word boundaries and failed to recognize already present ERG/DAT:pt suffixes in rows 21-23 and 34-35.
  The guard regexes were repaired only; no Kuku or English sentence content changed.
- `python3 batch_scripts/bank_163.py` then banked 50 hand-authored rows under review. The rows averaged 3.80 Kuku
  words per row and passed static guards plus exact duplicate checks.
- Full-corpus lint under review passed: 8,247 rows scanned, 0 issues flagged. The accepted goal metric correctly
  stayed 8,197 before close because under-review rows do not count as verified.
- Manual five-lens review performed 250 row-lens passes. No row repairs were required. Review explicitly checked
  `jalun-bu`/`jalun-muny`, `baral-ba`, `ngalkal-ba`, `wabarr-ba`, `bubu-ngu`, `jikan-ba`, `madja-muny`,
  `ngawa-nji` as direct-source only, the closed comitative inventory, Patz-backed possessive objects, `kija`
  moon-only, `dawar` star, common-noun ERG perceivers, pronoun A unmarked, ask-about case, laugh target case, and
  overt objects on transitives.
- `python3 -m py_compile batch_scripts/close_163.py` passed before close.
- `python3 batch_scripts/close_163.py` closed the batch: 50 accepted rows, 250 review rows, 20 lessons, 41
  lexeme/source-log rows, 15 process events at close, `under_review=0`, verified corpus 8,247.
- Post-close lint passed: 8,247 rows scanned, 0 issues flagged; goal metric 8,247 / 20,000 verified sentences and
  92,633 Kuku words.
- `python3 export_training.py` refreshed the export at 8,247 total rows with split counts
  train/dev/synthtest = 6,906 / 668 / 673.
- The first docs-source patch went to `public-docs/` and was overwritten by `render-docs.sh`, which reads canonical
  Markdown from `reports/`. Marker verification caught the mismatch before finalization.
- The canonical `reports/` Markdown books were updated after close: operator guide, mega grammar cheatsheet, and
  dictionary errata. The operator now reports 8,247 / 20,000 and hands off to Rule 122.
- `./render-docs.sh` was rerun from the corrected canonical sources and rendered all four public docs plus
  `public-docs/index.html`.
- Live route verification passed on `https://mobtranslate.com/docs/`: `/docs` redirects to `/docs/`; `/docs/`
  returns 200; all four `.html` and all four raw `.md` document routes return 200. Live marker checks found
  `8,247`, `Rule 121`, `Rule 122`, `batch-163-place-object-participant-lexicon-process.md`, `ngawa-nji`,
  `Karrkay-ngku kambi ngamu-ngu`, `Batch-163`, `jalun-muny`, and `Static guard repair`.

## Final state

- Verified sentences: 8,247 / 20,000.
- Remaining verified sentences needed: 11,753.
- Verified Kuku words: 92,633.
- Batch 163 rows: 50 accepted, 0 under review.
- Review evidence: 250 five-lens review rows.
- Learning evidence: 20 lessons and 41 lexeme/source-log rows.
- Process evidence: 23 `process_events` rows for Batch 163 after this process-log finalization event.
- Export evidence: refreshed train/dev/synthtest split 6,906 / 668 / 673.
- Public docs evidence: rendered files in `public-docs/` plus live 200/301 route checks on `mobtranslate.com/docs`.
