# Batch 311 process log - fish complementary non-singular pronoun perception after Rule 268

Date: 2026-07-09

Corpus before banking: 15,597 verified sentences, 0 under review, 117,747 Kuku words.

## Scope

Rule 269 is a complementary fish non-singular-pronoun perception sweep after Rule 268. It keeps the same ten checked
fish labels and flips only the local demonstrative bands:

- `Ngali TARGET yaluy nyajil.`
- `Ngaliny TARGET yinyay nyajil.`
- `Yubal TARGET yaluy nyajil.`
- `Nganjin TARGET yinyay nyajil.`
- `Ngana TARGET yaluy nyajil.`

No new fish lexeme, fish action, fish use, habitat, source-prose, target case, pronoun case, demonstrative case,
perception compound, target compound, productive reduplication, or support inflection is opened.

## Source readback

Dictionary targets checked directly before authoring:

- `balarri` lines 842-858: queenfish.
- `barrbal` lines 1810-1826: black bream.
- `bayil` lines 1992-2008: perch/jungle perch; Rule 269 selects perch only.
- `bilmbin` lines 2553-2574: black-tip shark plus black-tip ray alternate; Rule 269 selects black-tip shark only.
- `dalmbal` lines 4947-4966: flathead; `dukul-barangka` synonym/source prose closed.
- `jalkay` lines 7465-7481: salmon.
- `jijirr` lines 8937-8953: red bream; colour-predicate drift closed.
- `kubija` lines 14673-14691: garfish/barracuda and barracuda; Rule 269 selects barracuda only.
- `mujarrka` lines 20152-20175: archerfish/archer fish; Nyungkul `dalku`, spotted-Jewfish, freshwater/saltwater,
  King Plains, river, and habitat prose closed.
- `wuyumbu` lines 28647-28663: toad fish / species of fish; striped-toby and generic-fish prose closed.

Grammar support checked directly before authoring:

- Patz grammar lines 2577-2603: personal pronoun table; bare nominative `ngali`, `ngaliny`, `yubal`, `nganjin`,
  and `ngana`.
- Patz grammar lines 2682-2684: inclusive/exclusive and second-person non-singular discussion.
- Patz grammar lines 2838-2845: `yaluy` here and `yinyay` there.
- Patz grammar lines 3043-3049: `nyaji-l` see; Rule 269 uses only `nyajil` nonpast.

## Preflight

- Exact duplicate preflight over the final 50 Rule 269 surfaces returned no accepted, revised, or under-review
  collisions.
- Token-aware target coverage after Rule 268: `kubija` 15, `mujarrka` 15, `barrbal` 21, `wuyumbu` 15, `bayil` 16,
  `dalmbal` 16, `balarri` 18, `bilmbin` 18, `jalkay` 21, and `jijirr` 21.
- Support coverage after Rule 268: `ngali` 249, `ngaliny` 184, `yubal` 195, `nganjin` 201, `ngana` 949, `yaluy`
  2573, `yinyay` 2826, and `nyajil` 3267.

## Planned rows

1. `Ngali kubija yaluy nyajil.`
2. `Ngali mujarrka yaluy nyajil.`
3. `Ngali barrbal yaluy nyajil.`
4. `Ngali wuyumbu yaluy nyajil.`
5. `Ngali bayil yaluy nyajil.`
6. `Ngali dalmbal yaluy nyajil.`
7. `Ngali balarri yaluy nyajil.`
8. `Ngali bilmbin yaluy nyajil.`
9. `Ngali jalkay yaluy nyajil.`
10. `Ngali jijirr yaluy nyajil.`
11. `Ngaliny kubija yinyay nyajil.`
12. `Ngaliny mujarrka yinyay nyajil.`
13. `Ngaliny barrbal yinyay nyajil.`
14. `Ngaliny wuyumbu yinyay nyajil.`
15. `Ngaliny bayil yinyay nyajil.`
16. `Ngaliny dalmbal yinyay nyajil.`
17. `Ngaliny balarri yinyay nyajil.`
18. `Ngaliny bilmbin yinyay nyajil.`
19. `Ngaliny jalkay yinyay nyajil.`
20. `Ngaliny jijirr yinyay nyajil.`
21. `Yubal kubija yaluy nyajil.`
22. `Yubal mujarrka yaluy nyajil.`
23. `Yubal barrbal yaluy nyajil.`
24. `Yubal wuyumbu yaluy nyajil.`
25. `Yubal bayil yaluy nyajil.`
26. `Yubal dalmbal yaluy nyajil.`
27. `Yubal balarri yaluy nyajil.`
28. `Yubal bilmbin yaluy nyajil.`
29. `Yubal jalkay yaluy nyajil.`
30. `Yubal jijirr yaluy nyajil.`
31. `Nganjin kubija yinyay nyajil.`
32. `Nganjin mujarrka yinyay nyajil.`
33. `Nganjin barrbal yinyay nyajil.`
34. `Nganjin wuyumbu yinyay nyajil.`
35. `Nganjin bayil yinyay nyajil.`
36. `Nganjin dalmbal yinyay nyajil.`
37. `Nganjin balarri yinyay nyajil.`
38. `Nganjin bilmbin yinyay nyajil.`
39. `Nganjin jalkay yinyay nyajil.`
40. `Nganjin jijirr yinyay nyajil.`
41. `Ngana kubija yaluy nyajil.`
42. `Ngana mujarrka yaluy nyajil.`
43. `Ngana barrbal yaluy nyajil.`
44. `Ngana wuyumbu yaluy nyajil.`
45. `Ngana bayil yaluy nyajil.`
46. `Ngana dalmbal yaluy nyajil.`
47. `Ngana balarri yaluy nyajil.`
48. `Ngana bilmbin yaluy nyajil.`
49. `Ngana jalkay yaluy nyajil.`
50. `Ngana jijirr yaluy nyajil.`

## Guardrails

- Keep all fish labels as bare nouns with the selected literal target senses only.
- Keep all subject pronouns as bare nominatives: no `ngalingan`, `ngalinyan`, `yubalan`, `nganjinan`, `nganangan`,
  or other pronoun case forms.
- Keep `yaluy`, `yinyay`, and `nyajil` uninflected.
- Do not import garfish, spotted-Jewfish, Nyungkul `dalku`, striped-toby, black-tip ray, `dukul-barangka`,
  freshwater/saltwater, King Plains, mangrove, river, generic-fish, catching, netting, hook/line, spearing, eating,
  cooking, food, bait, taboo, storm/thunder, story/place, water/river/sea/reef/habitat, fish body-part, colour,
  danger, poison, bite, injury, or event semantics.

## 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

- `bank_311.py` compiled and static-scanned cleanly: 50 rows, frame prefix `r269_`, one checked fish target per row,
  one bare non-singular pronoun per row, and no denied fish/source-prose drift.
- Banking inserted 50 `under_review` rows for `batch-311`.
- Under-review lint was GREEN: 15,647 rows scanned, 0 issues flagged; goal metric still 15,597 verified until close.
- SQLite row readback confirmed all 50 stored rows matched the planned Rule 269 surfaces, English prompts, analyses, and
  `under_review` status before close.
- `close_311.py` accepted all 50 rows after five-lens review: 250 review passes, 35 lessons, and 18 lexeme/source-log
  rows. Verified count moved 15,597 -> 15,647; Kuku words moved 117,747 -> 117,947.
- Post-close lint was GREEN: 15,647 / 20,000 verified sentences, 117,947 Kuku words.
- Export refreshed 15,647 rows: train 13,122; dev 1,270; synthtest 1,255.
- Living Markdown books updated: operator guide, sample production pages, grammar cheatsheet, and dictionary errata now
  record Batch 311 / Rule 269, 15,647 verified sentences, export 13,122 / 1,270 / 1,255, and the next handoff as
  Rule 270 with `bank_312.py` / `close_312.py`.
- `render-docs.sh` regenerated `public-docs/` HTML and raw Markdown; local generated files contain `15,647`,
  `Batch 311`, `Rule 269`, `batch-311`, and representative complementary fish rows.
- Live verification passed: `/docs` 301-redirects to `/docs/`; `/docs/`, all four HTML pages, and all four raw
  Markdown routes return 200; live pages contain the Batch 311 markers; the landing page links all eight document
  routes.
- Process ledger rows through live-doc verification: 2862-2878 before final audit.
