# Batch 363 process log - Rule 321 zero/low-use bird singular/third-person past perception after Rule 320

## Scope

Rule 321 adds 50 explicit past visual-perception rows over ten direct-dictionary bird heads. Six heads have zero
accepted/revised token coverage: `binjurr-binjurr`, `bujarr-bujarr`, `dakwul-dakwul`, `dibirr-dibirr`,
`julurr-julurr`, and `muya`. Four are still low-use controls: `juril-juril` (2), `dawa-dawa` (3), `bulnja` (4),
and `jinabiju` (4). The construction opens only bare bird reference with bare nominative singular/third-person
pronouns, Yalanji local demonstratives, and past `nyajin`.

Frames: `Ngayu TARGET yinyay nyajin`, `Yundu TARGET yaluy nyajin`, `Nyulu TARGET yinyay nyajin`,
`Bula TARGET yaluy nyajin`, and `Jana TARGET yinyay nyajin`.

## Source readback

- Patz target search: exact case-insensitive searches found none of the ten selected target heads. This negative
  result is evidence about source distribution, not evidence against the dictionary. Target lexical identity comes
  from the dictionary; Patz supplies the morphosyntax.
- Patz lines 2577-2582 source bare nominatives `ngayu`, `yundu`, `nyulu`, `bula`, and the table-OCR form
  `iana`, reconciled to established dictionary/corpus `jana`. Demonstrative lines 2834-2847 source Yalanji
  `yaluy` "here" and `yinyay` "there".
- Patz example 67b at lines 2021-2024 directly gives `Ngayu jambul juku nyaji-ny` "I saw two trees". Lines
  3160-3162 define past `-ny`; lines 4256-4265 license nominative pronoun A and bare absolutive O for sensory
  perception. Dictionary lines 23876-23883 and 23968-23976 independently attest running-form `nyajin` in complete
  visual-perception clauses.
- `binjurr-binjurr` lines 3049-3062: exact hyphenated fauna-bird noun, species of honey eater. Honeyeater
  reference admitted. Solid `binjurrbinjurr`, robin identity, feeding, honey, call, habitat, color, and behavior
  claims remain closed.
- `bujarr-bujarr` lines 3606-3628: an empty duplicate followed by a populated fauna-bird entry glossed "black
  bird". The whole lexical head is admitted with conservative English "bujarr-bujarr bird"; the duplicate record
  and productive black-color, call, habitat, behavior, and event claims remain closed.
- `dakwul-dakwul` lines 4703-4732: brown-and-white scrub bird with detailed display prose. Scrub-bird reference
  admitted. Color, sex, head/eye anatomy, clearing, group/circle, song, dance, display, habitat, and event claims
  remain closed.
- `dibirr-dibirr` lines 5452-5466: exact hyphenated fauna-bird noun, "rainbow bird". Lexical common-name
  reference admitted. Solid `dibirrdibirr`, honeyeater identity, productive color/rainbow description, call,
  appearance, iconicity, onomatopoeia, behavior, and event claims remain closed.
- `julurr-julurr` lines 10719-10750: "moomoo bird", variously owl, night owl, or night hawk. The source-local
  moomoo-bird label is admitted without taxonomic resolution. Owl/night-hawk equivalence, nocturnality, call, omen,
  habitat, behavior, and event claims remain closed.
- `muya` lines 21330-21351: a bird whose English name is explicitly unknown. Only "muya bird" is admitted; no
  species, appearance, sound, habitat, behavior, use, or event claim is invented.
- `juril-juril` lines 11199-11227: direct seashore-plover noun. Plover reference admitted. The homophonous verb
  `juril` "eject" and beach/water habitat, running, feeding, crab, tide, flock, nest, call, and prior-row event claims
  remain closed.
- `dawa-dawa` lines 5340-5354: exact hyphenated fauna-bird noun, species of magpie. Magpie reference admitted.
  Solid `dawadawa`, song, call, dawn/time, weather, message, country, flock, habitat, behavior, and prior-row event
  claims remain closed.
- `bulnja` lines 3893-3909: an empty duplicate followed by a populated frogmouth/mopoke entry. Frogmouth
  reference admitted. Mopoke synonymy, nocturnality, branch posture, camouflage, mouth/anatomy, feeding, insects,
  warning, call, habitat, behavior, and prior-row event claims remain closed.
- `jinabiju` lines 9327-9347: chicken hawk/goshawk. The conservative goshawk label is admitted. Chicken/chick,
  hunting, snatching, flight, wind, diving, prey, silence, warning, habitat, body-part, behavior, and prior-row event
  claims remain closed.

## Candidate audit and exclusions

- A structured YAML-to-SQLite comparison found 12 zero-use heads in the `fauna-bird` semantic domain.
- Solid `bidubidu`, `binjurrbinjurr`, `dibirrdibirr`, and `jukujuku` were rejected rather than added to the global
  solid-reduplication whitelist. Hyphenated heads are admitted only where the dictionary itself supplies that exact
  orthography; no runtime process creates reduplication.
- `dakwurr-dakwun` was deferred because its entry carries overt walarr-moiety/totem content. `walu-dalbaji` was
  deferred because the same head names a bird and a Thompson Creek place/story. Their bare reference may be
  recoverable in a future dedicated source pass, but neither is needed to make this batch complete.
- Low-use `juril-juril`, `dawa-dawa`, `bulnja`, and `jinabiju` were preferred over dialect-marked, loan, spirit,
  storm-warning, messenger, omen/death, totem, homograph-heavy, or source-form-corrupt alternatives.
- Prior deferral of `bujarr-bujarr` and `dakwul-dakwul` was revisited only after direct readback. Their populated
  dictionary records support narrow entity reference; the exact English contracts prevent duplicate/commentary
  prose from leaking into new propositions.

## Preflight

- Verified before banking: 18,197 / 20,000; 128,147 Kuku words; 1,803 remaining.
- Target coverage: `binjurr-binjurr` 0, `bujarr-bujarr` 0, `dakwul-dakwul` 0, `dibirr-dibirr` 0,
  `julurr-julurr` 0, `muya` 0, `juril-juril` 2, `dawa-dawa` 3, `bulnja` 4, `jinabiju` 4.
- Support coverage: `ngayu` 1371, `yundu` 967, `nyulu` 642, `bula` 438, `jana` 1143, `yaluy` 3872,
  `yinyay` 4114, `nyajin` 1300.
- Every intended row passes the corpus linter without a new exception. All 50 exact Kuku surfaces are unique inside
  the batch and have zero accepted, revised, or under-review corpus collisions.

## Planned rows

1. `Ngayu binjurr-binjurr yinyay nyajin.`
2. `Ngayu bujarr-bujarr yinyay nyajin.`
3. `Ngayu dakwul-dakwul yinyay nyajin.`
4. `Ngayu dibirr-dibirr yinyay nyajin.`
5. `Ngayu julurr-julurr yinyay nyajin.`
6. `Ngayu muya yinyay nyajin.`
7. `Ngayu juril-juril yinyay nyajin.`
8. `Ngayu dawa-dawa yinyay nyajin.`
9. `Ngayu bulnja yinyay nyajin.`
10. `Ngayu jinabiju yinyay nyajin.`
11. `Yundu binjurr-binjurr yaluy nyajin.`
12. `Yundu bujarr-bujarr yaluy nyajin.`
13. `Yundu dakwul-dakwul yaluy nyajin.`
14. `Yundu dibirr-dibirr yaluy nyajin.`
15. `Yundu julurr-julurr yaluy nyajin.`
16. `Yundu muya yaluy nyajin.`
17. `Yundu juril-juril yaluy nyajin.`
18. `Yundu dawa-dawa yaluy nyajin.`
19. `Yundu bulnja yaluy nyajin.`
20. `Yundu jinabiju yaluy nyajin.`
21. `Nyulu binjurr-binjurr yinyay nyajin.`
22. `Nyulu bujarr-bujarr yinyay nyajin.`
23. `Nyulu dakwul-dakwul yinyay nyajin.`
24. `Nyulu dibirr-dibirr yinyay nyajin.`
25. `Nyulu julurr-julurr yinyay nyajin.`
26. `Nyulu muya yinyay nyajin.`
27. `Nyulu juril-juril yinyay nyajin.`
28. `Nyulu dawa-dawa yinyay nyajin.`
29. `Nyulu bulnja yinyay nyajin.`
30. `Nyulu jinabiju yinyay nyajin.`
31. `Bula binjurr-binjurr yaluy nyajin.`
32. `Bula bujarr-bujarr yaluy nyajin.`
33. `Bula dakwul-dakwul yaluy nyajin.`
34. `Bula dibirr-dibirr yaluy nyajin.`
35. `Bula julurr-julurr yaluy nyajin.`
36. `Bula muya yaluy nyajin.`
37. `Bula juril-juril yaluy nyajin.`
38. `Bula dawa-dawa yaluy nyajin.`
39. `Bula bulnja yaluy nyajin.`
40. `Bula jinabiju yaluy nyajin.`
41. `Jana binjurr-binjurr yinyay nyajin.`
42. `Jana bujarr-bujarr yinyay nyajin.`
43. `Jana dakwul-dakwul yinyay nyajin.`
44. `Jana dibirr-dibirr yinyay nyajin.`
45. `Jana julurr-julurr yinyay nyajin.`
46. `Jana muya yinyay nyajin.`
47. `Jana juril-juril yinyay nyajin.`
48. `Jana dawa-dawa yinyay nyajin.`
49. `Jana bulnja yinyay nyajin.`
50. `Jana jinabiju yinyay nyajin.`

## Guardrails

- Exact dictionary head orthography only. No solid/hyphenated allograph equation and no generated reduplication.
- Bare nominative pronoun A and bare absolutive target O; fixed Yalanji `yaluy`/`yinyay` and dictionary-form
  `nyajin`.
- English is locked row by row to subject + conservative lexical bird label + here/there + past "saw". Common-name
  words such as "rainbow bird" and "seashore plover" remain lexical labels, not independently generated property
  or habitat predicates.
- No target case, number suffix, possession, compound, derivation, nonpast, purposive, reduplicated perception,
  hearing/smell compound, support inflection, source-prose proposition, or prior-row event.
- The lower-confidence labels are conservative, not speculative: `muya bird` preserves unknown English taxonomy;
  `julurr-julurr moomoo bird` avoids choosing owl versus night hawk; `bujarr-bujarr bird` avoids promoting a
  dictionary gloss into productive color syntax.

## Execution checklist

- Compile and AST/static inventory; verify 50 explicit rows, 35 lessons, 18 lexeme logs, five lenses, and no runtime
  sentence generator.
- Bank under review; whole-corpus lint; exact field readback; case-folded exact duplicate scan; five-lens manual
  review; non-destructive close.
- Post-close lint and integrity; export; update all four living books; render; live docs; final coverage audit.

## Closeout

Completed and verified 2026-07-10.

### Authorship and preflight

- `bank_363.py` and `close_363.py` compiled. AST inspection confirmed 50 explicit authored `row(...)` calls;
  runtime inventory confirmed exactly 50 rows, 35 explicit lessons, 18 explicit lexeme/source decisions, and all
  five review lenses. `scan_static()` returned no issues, all 50 row-level corpus-linter probes returned no issues,
  all 50 Kuku and English surfaces were internally unique, and the exact corpus-collision preflight returned zero.
  No runtime sentence generator exists in either script.
- Events 3874-3876 persist source readback, structured candidate selection, Patz lexical non-attestation, exact
  orthographic decisions, and the bounded Rule 321 scope. Event 3875 specifically records why solid variants were
  rejected without changing the linter and why the avoidable totem/moiety and place/story candidates were deferred.
- Event 3877 preserves the exact pre-bank target and support coverage maps. Event 3878 preserves the duplicate
  preflight, and event 3879 preserves the static-contract result. Dictionary lines 7749-7759 independently confirm
  `jana` "they" against Patz table-OCR `iana`; standard English `honeyeater` transparently normalizes the dictionary
  spelling "honey eater" without adding a taxonomic claim.

### Banking, readback, and review

- Event 3880 banked 50 rows as `under_review`; the verified corpus correctly remained 18,197 and 128,147 Kuku
  words. The whole-corpus pre-close lint then scanned 18,247 rows with zero issues while leaving the verified metric
  unchanged.
- Event 3881 records field-for-field database readback: all 50 rows matched the authored script for sequence,
  English, Kuku, analysis, frame, tier, `words_used`, `loans_used`, evidence, confidence, status, rights status,
  and author. The complete 5x10 Kuku/English matrix was printed and visually inspected.
- Event 3882 records a separate whole-corpus case-folded exact-surface scan over all 18,247 banked rows. It found
  zero duplicate groups; all 50 Batch 363 surfaces were distinct. Punctuation was preserved because it is
  linguistically meaningful.
- Event 3883 records the required pre-close whole-corpus lint. Events 3884-3885 record 250/250 manual review
  passes: 50 morphology, 50 lexicon, 50 syntax, 50 fidelity, and 50 register passes, with no issues or suggested
  fixes. Review checked bare absolutive bird objects, nominative pronoun agents, fixed Yalanji deictic/past support,
  exact dictionary heads, conservative labels, literal English, and neutral elicitation register. No solid-variant
  equivalence, productive reduplication, taxonomic overresolution, source prose, cultural material, property,
  habitat, food/hunting, prior event, target case, or support-inflection claim survived the review.
- Events 3886-3887 inserted 35 durable process/linguistic lessons and 18 lexeme/source-log rows. The close path was
  deliberately non-destructive: it asserted that no review, lesson, or Batch 363 lexeme-log rows already existed
  instead of deleting/replacing earlier records. Event 3888 closed the batch with 50 accepted and zero revised,
  moving verified rows 18,197 -> 18,247 and Kuku words 128,147 -> 128,347.

### Export and living books

- Event 3889 regenerated the training exports from accepted/revised rows. Manifest and line-count readback agree:
  15,302 train, 1,482 dev, and 1,463 synthtest, totaling 18,247.
- Event 3890 updated all four canonical living books to Batch 363 / Rule 321 / 18,247. The updates include source
  locations, Patz negative-search evidence, candidate exclusions, orthographic and taxonomic boundaries, five
  construction bands, coverage before/after, process evidence, and a Rule 322 handoff naming `bank_364.py` and
  `close_364.py`.
- Event 3891 records a clean local render of the index, four self-contained HTML documents, and four raw Markdown
  documents. Each public Markdown file was byte-identical to its canonical report; all four rendered books carried
  Batch 363 / Rule 321 / 18,247; the handoff markers were present; and stale-current-marker checks passed.
- Event 3892 records live verification at `https://mobtranslate.com/docs/` with a browser user agent: `/docs`
  returned 301 to `/docs/`; the index, four HTML pages, and four raw Markdown files returned 200; cache policy was
  `public, max-age=300, must-revalidate`; all four HTML books carried whitespace-normalized Batch 363 / Rule 321 /
  18,247; the index linked both forms; the operator handoff exposed Rule 322 and both next scripts; and all four live
  Markdown SHA-256 values matched the canonical files exactly. The HTML check allows whitespace because Pandoc may
  wrap adjacent words across source lines; the initial literal single-line assertion was therefore correctly
  replaced by a whitespace-aware assertion rather than misreported as a content failure.

### Final audit

- Event 3893 records the final read-only audit: `lint_corpus.py` scanned 18,247 rows with zero issues; all 18,247
  rows were accepted/revised and none remained pending; aggregate status was 17,336 accepted plus 911 revised;
  SQLite `integrity_check` returned `ok`; foreign-key violations were zero; export manifest and files totaled
  18,247; and canonical/public Markdown parity still held.
- Post-close target coverage is `binjurr-binjurr` 5, `bujarr-bujarr` 5, `dakwul-dakwul` 5,
  `dibirr-dibirr` 5, `julurr-julurr` 5, `muya` 5, `juril-juril` 7, `dawa-dawa` 8, `bulnja` 9, and
  `jinabiju` 9.
- The case-folded exact Kuku duplicate count is zero. A deliberately broader diagnostic that strips final `.`,
  `?`, and `!` still finds the same six historical groups documented after Batch 362; inspection already confirmed
  these are legitimate statement/question or statement/exclamation contrasts, not exact duplicates.
- Process-event chain for this batch is contiguous through closeout: 3874-3893 before dossier finalization.

## Handoff

If accepted, continue from **18,247 / 20,000**, with **1,753** remaining. Rule 322 requires a fresh source pass.
