# Batch 332 process log

## Scope

- Batch: `batch-332`
- Rule: **Rule 290**
- Planned count: 50 rows
- Starting verified count: 16,647 / 20,000
- Frame family: visible traditional weapon/tool singular-and-third-pronoun **past** perception after Rule 289.
- Construction: `PRONOUN TARGET DEMONSTRATIVE nyajin`.
- Purpose: consolidate the sourced past `nyaji-ny` / corpus-surface `nyajin` counterpart to Rule 289's nonpast `nyajil` frames without opening any weapon-use, manufacturing, cooking, material-source, target-case, pronoun-case, demonstrative-case, or compound semantics.

## Source readback

- Patz grammar lines 2577-2603: bare nominative personal pronouns, including `ngayu`, `yundu`, `nyulu`, `bula`, and `jana`.
- Patz grammar lines 2674-2686: non-singular person/number history and support for `bula` third dual and `jana` third plural.
- Patz grammar lines 2838-2845: Yalanji local demonstratives `yaluy` "here" and `yinyay` "there".
- Patz grammar lines 2568-2571: example `Ngayu nyungu yaba nyaji-ny` with `see-PAST`.
- Patz grammar line 2023: example `Ngayu jambul juku nyaji-ny` with `see-PAST`.
- Patz grammar lines 3160-3162: past tense inflection `-ny`; the corpus writes the elder-style surface `nyajin`.
- Dictionary lines 1478-1489: `bangkal` noun "tongs"; Rule 290 uses visible tongs only and excludes cooking/voya/kurrma/action rows.
- Dictionary lines 16196-16207: `kurrajan` noun "spear point"; Rule 290 uses visible spear point only and excludes turtle spearing, wattle source, fire-hardening, and piercing/use rows.
- Dictionary lines 5215-5226: `dara` noun "bamboo spear stick"; visible target noun only.
- Dictionary lines 6843-6857: `jaba` noun "stick"; visible stick only, not sapling/post/walking-use/horn extension rows.
- Dictionary lines 15915-15923: `kunjuri` noun "shield"; visible shield only.
- Dictionary lines 21516-21526: `nambarr` noun "bamboo stick"; visible bamboo stick only, not nose-piercing/use rows.
- Dictionary lines 25943-25951: `wangal` noun "boomerang"; visible boomerang only, not throwing/hunting/fighting/play/return/travel rows.
- Dictionary lines 17699-17707: `manbir` noun "barb of a spear"; visible spear barb only.
- Dictionary lines 25192-25202: `wakay` noun "wooden sword"; visible wooden sword only, not fighting/cutting/use/source-prose rows.
- Dictionary lines 27767-27776: `wulburr` noun "bamboo spear stick" / "spear"; visible bamboo spear stick only.

## Preflight

- Target set: `bangkal`, `kurrajan`, `dara`, `jaba`, `kunjuri`, `nambarr`, `wangal`, `manbir`, `wakay`, `wulburr`.
- Support set: `ngayu`, `yundu`, `nyulu`, `bula`, `jana`, `yaluy`, `yinyay`, `nyajin`.
- Coverage before banking:
  - targets: `bangkal` 99, `kurrajan` 13, `dara` 17, `jaba` 34, `kunjuri` 42, `nambarr` 12, `wangal` 57, `manbir` 5, `wakay` 6, `wulburr` 6.
  - support: `ngayu` 1221, `yundu` 817, `nyulu` 492, `bula` 288, `jana` 1003, `yaluy` 3072, `yinyay` 3364, `nyajin` 500.
- Exact duplicate preflight over the 50 planned Kuku surfaces returned no accepted/revised/under-review collisions.
- Static guard target: one target per row, exactly four words, bare nominative pronoun in slot 1, target noun in slot 2, `yaluy` or `yinyay` in slot 3, final `nyajin`, no loans, no denied Kuku forms, no denied English drift.

## Planned rows

1. `Ngayu bangkal yaluy nyajin.`
2. `Ngayu kurrajan yaluy nyajin.`
3. `Ngayu dara yaluy nyajin.`
4. `Ngayu jaba yaluy nyajin.`
5. `Ngayu kunjuri yaluy nyajin.`
6. `Ngayu nambarr yaluy nyajin.`
7. `Ngayu wangal yaluy nyajin.`
8. `Ngayu manbir yaluy nyajin.`
9. `Ngayu wakay yaluy nyajin.`
10. `Ngayu wulburr yaluy nyajin.`
11. `Yundu bangkal yinyay nyajin.`
12. `Yundu kurrajan yinyay nyajin.`
13. `Yundu dara yinyay nyajin.`
14. `Yundu jaba yinyay nyajin.`
15. `Yundu kunjuri yinyay nyajin.`
16. `Yundu nambarr yinyay nyajin.`
17. `Yundu wangal yinyay nyajin.`
18. `Yundu manbir yinyay nyajin.`
19. `Yundu wakay yinyay nyajin.`
20. `Yundu wulburr yinyay nyajin.`
21. `Nyulu bangkal yaluy nyajin.`
22. `Nyulu kurrajan yaluy nyajin.`
23. `Nyulu dara yaluy nyajin.`
24. `Nyulu jaba yaluy nyajin.`
25. `Nyulu kunjuri yaluy nyajin.`
26. `Nyulu nambarr yaluy nyajin.`
27. `Nyulu wangal yaluy nyajin.`
28. `Nyulu manbir yaluy nyajin.`
29. `Nyulu wakay yaluy nyajin.`
30. `Nyulu wulburr yaluy nyajin.`
31. `Bula bangkal yinyay nyajin.`
32. `Bula kurrajan yinyay nyajin.`
33. `Bula dara yinyay nyajin.`
34. `Bula jaba yinyay nyajin.`
35. `Bula kunjuri yinyay nyajin.`
36. `Bula nambarr yinyay nyajin.`
37. `Bula wangal yinyay nyajin.`
38. `Bula manbir yinyay nyajin.`
39. `Bula wakay yinyay nyajin.`
40. `Bula wulburr yinyay nyajin.`
41. `Jana bangkal yaluy nyajin.`
42. `Jana kurrajan yaluy nyajin.`
43. `Jana dara yaluy nyajin.`
44. `Jana jaba yaluy nyajin.`
45. `Jana kunjuri yaluy nyajin.`
46. `Jana nambarr yaluy nyajin.`
47. `Jana wangal yaluy nyajin.`
48. `Jana manbir yaluy nyajin.`
49. `Jana wakay yaluy nyajin.`
50. `Jana wulburr yaluy nyajin.`

## Guardrails

- Keep all target labels as bare visible weapon/tool nouns with the selected literal target senses only.
- Keep `bangkal` as visible tongs only; do not open cooking, earth oven, voya vine, gathering, or action rows.
- Keep `kurrajan` as visible spear point only; do not open turtle spearing, wattle source, fire-hardening, piercing, or use rows.
- Keep `dara` and `wulburr` as visible bamboo spear-stick nouns only; do not open spear use, bamboo source, hunting, fighting, or throwing rows.
- Keep `jaba` as visible stick only; do not open sapling/post/horn/walking-use or plant rows.
- Keep `kunjuri` as visible shield only; do not open fighting, defence, body-covering, ownership, or weapon-use rows.
- Keep `nambarr` as visible bamboo stick only; do not open nose-piercing or implement-use rows.
- Keep `wangal` as visible boomerang only; do not open throwing, hunting, fighting, play, return, or travel rows.
- Keep `manbir` as visible spear barb only; do not open stabbing, hooking, piercing, injury, spear-use, or component manufacture rows.
- Keep `wakay` as visible wooden sword only; do not open people-group source prose, fighting, cutting, or use rows.
- Do not use the collided/rejected prior exact heads `durray`, `jinil`, `mirru`, `kurajan`, `ngurmu`, or `birungubay`.
- Do not use Nyungkal-labelled `biyul`.
- Keep all subject pronouns as bare nominatives: no `nganya`, `yununy`, `nyunguny`, `bulangan`, `janangan`, or other pronoun case forms.
- Keep `yaluy`, `yinyay`, and `nyajin` uninflected; do not import nonpast `nyajil`, purposive `nyaji-nka`, or `nyaji-l-nyaji-ny` watching/reduplicated forms into Rule 290.
- Do not import target case, demonstrative case, compounds, productive reduplication, support inflection, source prose, object-use predicates, place names, stories, ownership, danger, route/travel, body-state, illness, post-contact loan objects, or fauna/flora ecology from any target head.

## Execution checklist

- Compile `bank_332.py` and verify `scan_static() == []`.
- Bank 50 explicit hand-authored rows as `under_review`.
- Run corpus lint before close.
- Read back all 50 rows from SQLite.
- Close only after morphology, lexicon, syntax, fidelity, and register lenses pass.
- Record lessons and lexeme/source logs.
- Refresh export.
- Update the four living books.
- Render docs.
- Verify local rendered docs and live `https://mobtranslate.com/docs/`.
- Final lint and count audit.

## Closeout

- Static guard: `bank_332.py` and `close_332.py` compiled; `bank_332.scan_static()` returned `[]`.
- Banking command: `python3 batch_scripts/bank_332.py` inserted 50 explicit rows as `under_review`.
- Pre-close lint: `lint: 16697 rows scanned, 0 issues flagged`; goal metric stayed at `16647 / 20000` because the 50 rows were still under review.
- SQLite row readback: all 50 Batch 332 rows were present as `under_review`; exact Kuku+English duplicate scan returned no rows.
- Five-lens review: morphology, lexicon, syntax, fidelity, and register passed for all 50 rows, giving 250 review rows.
- Close command: `python3 batch_scripts/close_332.py` reported `closed batch-332: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16647->16697, kuku_words 121947->122147`.
- Post-close lint: `lint: 16697 rows scanned, 0 issues flagged`; goal metric `16697 / 20000 verified sentences (122147 Kuku words)`.
- DB audit: `verified_total=16697`, `under_review=0`, `remaining_to_20000=3303`, `batch332_rows=50`, `batch332_reviews=250`, `batch332_lessons=36`, `batch332_lexeme_logs=18`.
- Export refresh: `export_training.py` wrote 16,697 JSONL rows: train `13,998`, dev `1,358`, synthtest `1,341`.
- Living books: operator guide, sample pages, grammar cheatsheet, and dictionary errata were updated with Batch 332 / Rule 290, the `16,697 / 20,000` count, examples, traps, and the Rule 291 handoff (`bank_333.py`, `close_333.py`).
- Render/local docs: `./render-docs.sh` regenerated the raw `.md`, rendered `.html`, and index in `public-docs/`; local marker checks found `16,697`, `Batch 332`, `Rule 290`, `batch-332`, and the five representative examples in the generated docs; stale Batch 331 handoff markers were absent.
- Live docs: `https://mobtranslate.com/docs` returned 301 to `/docs/`; `/docs/`, all four rendered HTML pages, and all four raw Markdown sources returned 200; live marker checks passed.
- Process ledger before this log-finalization event: Batch 332 events `3261..3278` covered source readback, lexical-field scope, coverage audit, duplicate preflight, static guard, bank, row readback, lint, five-lens review, review detail, lessons, lexeme logs, close, export, source-book update, local render, live docs verification, and final audit.

## Handoff

Continue from **16,697 / 20,000** verified sentences, with **3,303** remaining. Rule 291 must begin with a fresh source pass and should not infer weapon action, cooking, turtle spearing, material source, nose piercing, target/pronoun/demonstrative case, target compounds, productive reduplication, perception compounds, nonpast/purposive/reduplicated perception, support inflection, or any carried water/landform/sky/fire/fauna/body/dwelling trap from this batch.
