# Batch 156 process log - Rule 114 precautionary, successive, and prior-event timing

Start state: 2026-07-07, corpus lint green at 7,847 / 20,000 verified sentences and 91,017 Kuku words.

## Scope

Rule 114 is a construction batch. It teaches three related but distinct "following event / prior event" devices:

- `-nyji` precautionary: an undesirable event that should be prevented ("lest X happen").
- `-nyjiku` successive: the following event used as the timing point ("before X happens").
- `wawu-...-muny` prior event: an already completed earlier event ("after X happened").

The batch uses the practical vocabulary from Rule 113 where possible, but the target is constructional contrast, not
lexical expansion.

## Sources checked

- Patz 3.8.4.2, Table 3.16 / 3.17: `-nyji` PRECAUT and `-nyjiku` SUCC are regular verbal inflections across
  conjugations.
- Patz 4.4.2: precautionary clauses follow the main clause and state the preventable bad outcome.
- Patz examples 432-444: `bujil-janji-nyji`, `kuni-nyji`, `bayka-nyji`, `banbadi-nyji`, `dara-y-mani-nyji`,
  `kada-nyji`, and `kabu-ma-nyji`.
- Patz 4.4.3: successive `-nyjiku` marks the latter event, with the main clause occurring before it; successive clauses
  are less common than topic-chain coordination and should be used sparingly/clearly.
- Patz examples 445-456: `bayka-nyjiku`, `jilba-dunga-nyjiku`, `wandi-nyjiku`, `nuka-nyjiku`, `ngara-nyjiku`,
  `duda-nyjiku`, `warri-nyjiku`, `dara-nyjiku`, and `kada-nyjiku`.
- Patz 4.4.4.3: prior event uses `wawu-` plus verb + `-nyV` + ablative, or `wawu-` plus an event noun/object in
  ablative where Patz says the noun attracts the ablative.
- Patz examples 491-497 and 3.10.1: `wawu-janji-nya-muny`, `wawu-wala-nya-muny`, `wawu-bayka-nya-muny`,
  `wawu-kambi-muny`, `wawu-jukijuki-muny`, `wawu-ngangkurr-muny`, `wawu-jilba-muny`, `wawu-mayi-muny`, and
  `wawu-yinya-muny`.

## Risk controls

- Do not confuse `-nyji` precautionary with `-nyjiku` successive; one is a preventable danger, the other a time
  reference.
- Do not use `-nyjiku` where simple coordination or topic chain is the more natural choice unless the row's purpose is
  specifically to teach the contrast.
- Do not use `wawu-` without an ablative `-muny` form.
- Do not build prior-event `wawu-VERB-nya-muny` when Patz says a noun/event word should attract the ablative instead.
- Avoid exact source rows already accepted in earlier batches; the duplicate gate remains authoritative.
- Keep all process details: source pass, duplicate collisions, lint outputs, close counts, export, render, and public
  docs verification.

## Verification checklist

- Bank under review with `python3 batch_scripts/bank_156.py`.
- Run full corpus lint while under review.
- Close with `python3 batch_scripts/close_156.py` only after five-lens 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_156.py` passed.
- Initial `python3 batch_scripts/bank_156.py` passed: 50 rows banked under review, average Kuku words per row 4.52.
- Under-review lint failed with three elder-surface `-iy` issues:
  `nguju-wuri-y`, `julurri-ji-y`, and `banbadi-y` in the Kuku surface.
- Patched the Kuku surfaces to `nguju-wuri`, `julurri-ji`, and `banbadi`; analysis retained the Patz `-y` where
  useful.
- Recompiled and rebanked the under-review rows with `python3 batch_scripts/bank_156.py`; rebank remained duplicate-clean.
- Under-review lint then passed: `lint: 7897 rows scanned, 0 issues flagged`; accepted goal metric remained
  `7847 / 20000` until close.
- `python3 -m py_compile batch_scripts/close_156.py` passed.
- `python3 batch_scripts/close_156.py` closed the batch: 50 accepted rows, 250 review passes, 16 lessons,
  37 lexeme/source-log rows, 19 process events at close, `under_review=0`, verified corpus `7897`.
- Post-close lint passed: `lint: 7897 rows scanned, 0 issues flagged`; goal metric `7897 / 20000 verified
  sentences (91243 Kuku words)`.
- `python3 export_training.py` refreshed the export: total 7897; train/dev/synthtest = 6613 / 639 / 645.
- Living books updated: operator guide count and Rule 115 handoff; grammar cheatsheet Rule 114; dictionary errata
  Batch-156 section.
- `./render-docs.sh` rendered operator-guide, sample-pages, grammar-cheatsheet, dictionary-errata, and index into
  `public-docs/`.
- Public verification passed on `https://mobtranslate.com/docs/`: `/docs/` returned 200, `/docs` redirected 301 to
  `/docs/`, all four HTML routes returned 200, all four raw `.md` routes returned 200, and public markers were found
  for `7,897 / 20,000`, Rule 114, Batch-156, and the Rule 115 handoff.

## Final state

- Verified corpus: 7,897 / 20,000.
- Kuku words: 91,243.
- Batch 156 rows: 50 accepted, 0 under review.
- Review evidence: 250 five-lens passes.
- Process evidence: source pass, construction-source checks, existing-surface scan, construction guards, lint failure,
  surface-fix rebank, under-review lint pass, five-lens close, post-close lint, export refresh, docs source update,
  render pass, and live-doc verification stored in `process_events`.
- Next handoff: Rule 115 lexical batch on event nouns, sound/action nouns, and temporal-reference lexicon for sequencing,
  with special care not to invent action nouns or force `wawu-VERB-nya-muny` where Patz prefers a nominal ablative.
