# Batch 328 / Rule 286 - visible artefact/tool non-singular nonpast pronoun perception after Rule 285

Status: planned for banking from 16,447 verified sentences.

## Scope

Rule 286 is a justified construction consolidation after Rule 285: the same final visible artefact/tool target set,
now in non-singular nonpast visual perception frames. It opens exactly one construction: bare visible artefact/tool
noun targets in non-singular nonpast visual perception frames with already sourced support morphology.

Frames:

- `Ngali TARGET yinyay nyajil.`
- `Ngaliny TARGET yaluy nyajil.`
- `Yubal TARGET yinyay nyajil.`
- `Yurra TARGET yaluy nyajil.`
- `Jana TARGET yinyay nyajil.`

## Source readback

Dictionary line readback:

- `badur` 256-268: noun, hook / hook and line; fishing action closed.
- `balji` 963-974: noun, bag / woman's dilly bag made from grass or black palm; making/material-source rows closed.
- `balur` 1154-1170: noun, spear thrower / woomera; empty duplicate entry confirms the same noun.
- `kaljan` 12560-12568: noun, outrigger canoe; canoe travel/rowing rows closed.
- `dajal` 4499-4509: noun, fighting spear; spearing/fighting action rows closed.
- `dakilji` 4665-4676: noun, cup / pannikin; post-contact expansion rows closed.
- `jidi` 8842-8851: noun, paperbark-tree-bark torch; fire/burning/making rows closed.
- `jindal` 9423-9433: noun, spear with three prongs; homophonous `jindal` bite verb closed.
- `jundi` 10846-10857: noun, pumice stone / carborundum stone; sharpening/rubbing use rows closed.
- `karra` 13534-13544: noun, rope/cord/string, synonym `ngarra`; tying/use rows closed.

Grammar line readback:

- Patz lines 2577-2586 and 2592-2603: personal pronoun paradigm and base forms. Rule 286 uses bare nominative
  `ngali`, `ngaliny`, `yubal`, `yurra`, and `jana`.
- Patz lines 2674-2686: non-singular source notes; `ngali` is first dual exclusive, `ngaliny` is first dual
  inclusive by increment, `yubal` is second dual, `yurra` is second plural, and `jana` is third plural.
- Patz lines 2838-2845: local demonstratives `yaluy` "here" and `yinyay` "there".
- Patz section 3.8.3.2 lines 3043-3049: `nyaji-l` "see"; Rule 286 uses corpus-conventional `nyajil`.
- Patz lines 2568-2571: `nyaji-ny` "see-PAST" is contrast only here; Rule 286 does not use past `nyajin`.

## Preflight

Rule 286 inherits the final Rule 285 target set and does not reopen `birungubay`, because `Jana birungubay yinyay
nyajin.` was already a Batch 231 duplicate in the past band. The final planned 50 nonpast surfaces are 50 unique
strings and have 0 accepted/revised/under-review collisions.

Token-aware accepted/revised coverage before banking:

- Targets: `badur` 50, `balji` 199, `balur` 38, `kaljan` 8, `dajal` 5, `dakilji` 10, `jidi` 18, `jindal` 7,
  `jundi` 12, `karra` 108.
- Support: `ngali` 343, `ngaliny` 285, `yubal` 295, `yurra` 300, `jana` 963, `yaluy` 2962, `yinyay` 3274,
  `nyajil` 3097.

## Planned rows

1. `Ngali badur yinyay nyajil.`
2. `Ngali balji yinyay nyajil.`
3. `Ngali balur yinyay nyajil.`
4. `Ngali kaljan yinyay nyajil.`
5. `Ngali dajal yinyay nyajil.`
6. `Ngali dakilji yinyay nyajil.`
7. `Ngali jidi yinyay nyajil.`
8. `Ngali jindal yinyay nyajil.`
9. `Ngali jundi yinyay nyajil.`
10. `Ngali karra yinyay nyajil.`
11. `Ngaliny badur yaluy nyajil.`
12. `Ngaliny balji yaluy nyajil.`
13. `Ngaliny balur yaluy nyajil.`
14. `Ngaliny kaljan yaluy nyajil.`
15. `Ngaliny dajal yaluy nyajil.`
16. `Ngaliny dakilji yaluy nyajil.`
17. `Ngaliny jidi yaluy nyajil.`
18. `Ngaliny jindal yaluy nyajil.`
19. `Ngaliny jundi yaluy nyajil.`
20. `Ngaliny karra yaluy nyajil.`
21. `Yubal badur yinyay nyajil.`
22. `Yubal balji yinyay nyajil.`
23. `Yubal balur yinyay nyajil.`
24. `Yubal kaljan yinyay nyajil.`
25. `Yubal dajal yinyay nyajil.`
26. `Yubal dakilji yinyay nyajil.`
27. `Yubal jidi yinyay nyajil.`
28. `Yubal jindal yinyay nyajil.`
29. `Yubal jundi yinyay nyajil.`
30. `Yubal karra yinyay nyajil.`
31. `Yurra badur yaluy nyajil.`
32. `Yurra balji yaluy nyajil.`
33. `Yurra balur yaluy nyajil.`
34. `Yurra kaljan yaluy nyajil.`
35. `Yurra dajal yaluy nyajil.`
36. `Yurra dakilji yaluy nyajil.`
37. `Yurra jidi yaluy nyajil.`
38. `Yurra jindal yaluy nyajil.`
39. `Yurra jundi yaluy nyajil.`
40. `Yurra karra yaluy nyajil.`
41. `Jana badur yinyay nyajil.`
42. `Jana balji yinyay nyajil.`
43. `Jana balur yinyay nyajil.`
44. `Jana kaljan yinyay nyajil.`
45. `Jana dajal yinyay nyajil.`
46. `Jana dakilji yinyay nyajil.`
47. `Jana jidi yinyay nyajil.`
48. `Jana jindal yinyay nyajil.`
49. `Jana jundi yinyay nyajil.`
50. `Jana karra yinyay nyajil.`

## Guardrails

- Keep all target labels as bare visible artefact/tool nouns with the selected literal target senses only.
- Keep `badur` as visible hook/hook-and-line only; do not open fishing, sitting-with-line, catching, bait, or water
  use rows.
- Keep `balji` as visible dilly bag only; do not open making, weaving, grass/black-palm material-source, gendered
  ownership, carrying, or use rows.
- Keep `balur` as visible spear thrower only; do not open throwing, defence, judgement, weapon-use, or euphemism rows.
- Keep `kaljan` as visible outrigger canoe only; do not open travel, rowing, paddling, sea/river route, or ownership
  rows.
- Keep `dajal` as visible fighting spear only; do not open spearing, fighting, killing, hunting, throwing, or
  material-source rows.
- Keep `dakilji` as visible cup only; do not open drinking, filling, washing, loan/post-contact expansion, or use
  rows.
- Keep `jidi` as visible torch only; do not open fire, burning, lighting, making, bark-source, or night-travel rows.
- Keep `jindal` as visible three-pronged spear only; do not open the homophonous `jindal` bite verb or any puncture,
  snake, dog, or wound rows.
- Keep `jundi` as visible pumice stone only; do not open sharpening, rubbing, grinding, abrasive-use, or material
  source rows.
- Keep `karra` as visible rope/cord/string only; do not open tying, binding, carrying, weaving, or use rows.
- Keep `birungubay` excluded; do not reopen the paddle/oar duplicate band without a fresh preflight.
- Keep all subject pronouns as bare nominatives: no `ngalingan`, `ngalinyan`, `yubalan`, `yurrangan`, `janangan`, or
  other pronoun case forms.
- Keep `yaluy`, `yinyay`, and `nyajil` uninflected; do not import past `nyajin`, purposive `nyaji-nka`, or
  `nyaji-l-nyaji-ny` watching/reduplicated forms into Rule 286.
- 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

- 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

- Banked: `python3 batch_scripts/bank_328.py` inserted 50 explicit hand-authored rows as `under_review`.
- Readback: all 50 stored rows matched the planned visible artefact/tool non-singular nonpast `nyajil` frames, and
  the post-bank duplicate scan found 0 collisions outside Batch 328.
- Lint before close: `lint: 16497 rows scanned, 0 issues flagged`; goal metric remained 16,447 while the new rows
  were under review.
- Close: `python3 batch_scripts/close_328.py` accepted 50 rows, wrote 250 five-lens reviews, 36 lessons, and 18
  lexeme/source-log rows; verified count moved 16,447 -> 16,497 and Kuku words moved 121,147 -> 121,347.
- Export refresh: `python3 export_training.py` wrote 16,497 total rows: train 13,828, dev 1,342, synthtest 1,327.
- Living books: operator guide, sample pages, grammar cheatsheet, and dictionary errata were updated for Batch 328 /
  Rule 286, including the Rule 285 `birungubay` carry-forward exclusion, nonpast `nyajil` support, and Rule 287
  handoff to `bank_329.py` / `close_329.py`.
- Render/local docs: `./render-docs.sh` regenerated the four HTML documents, the four raw Markdown copies, and the
  docs index in `public-docs/`; marker checks found Batch 328 / Rule 286 examples and no stale Batch 327 handoff
  markers in rendered operator/sample files.
- Live docs: `https://mobtranslate.com/docs` returned 301 to `/docs/`; `/docs/`, the four HTML documents, and the
  four raw Markdown documents returned 200 and carried the Batch 328 / Rule 286 markers.
- Final audit: `python3 lint_corpus.py` returned `lint: 16497 rows scanned, 0 issues flagged`; SQLite audit returned
  verified_total 16,497, under_review 0, batch328_accepted 50, batch328_reviews 250, batch328_lessons 36,
  batch328_lexeme_logs 18; `wc -l export/*.jsonl` returned train/dev/synthtest 13,828/1,342/1,327, total 16,497.
- Process events are continuous from 3185 `source-readback` through 3202 `final-audit-green`; this log finalization
  is recorded next.
