# Batch 380 process log - Rule 338 complementary singular/third-person reptile past perception after Rule 337

## Scope

Rule 338 adds 50 explicit singular and third-person past visual-perception rows over the ten Rule 319/337
low-coverage reptile heads: `jalbil`, `kalkarrumbarr`, `kurmba-kurmba`, `jimalili`, `yuray`,
`bakay`, `kungkun`, `bilbil-bilbil`, `bajalji`, and noun `jabil`.

Frames: `Ngayu TARGET yaluy nyajin`, `Yundu TARGET yinyay nyajin`, `Nyulu TARGET yaluy nyajin`,
`Bula TARGET yinyay nyajin`, and `Jana TARGET yaluy nyajin`. These are the exact deictic complements of
Batch 361 / Rule 319, not repetitions of its surfaces.

## Record and sense audit

- Structured YAML readback found exact record counts `jalbil=1`, `kalkarrumbarr=1`,
  `kurmba-kurmba=1`, `jimalili=1`, `yuray=2`, `bakay=2`, `kungkun=2`,
  `bilbil-bilbil=1`, `bajalji=2`, and surface `jabil=2`.
- Direct dictionary readback covered `bajalji` 387-409, `bakay` 635-653, `bilbil-bilbil` 2529-2542,
  `jabil` 6929-6951, `jalbil` 7374-7386, `jimalili` 9284-9294, `kalkarrumbarr` 12679-12689,
  `kungkun` 15748-15768, `kurmba-kurmba` 16154-16169, and `yuray` 31016-31033.
- `Yuray` and `bakay` each have two exact noun records with compatible snake labels. `Kungkun` has exact
  carpet-snake/python and brown-tree-snake records. `Bajalji` has exact rock-python/lore and
  poisonous-snake records. Rule 338 preserves conservative labels without collapsing record identity or resolving
  species.
- `Jabil` has transitive-verb `kick` and noun `scrub lizard` records. Only the bare noun is admitted as O;
  kick semantics and verbal morphology are closed.
- `Jalbil`, `jimalili`, `kalkarrumbarr`, and `kurmba-kurmba` carry myth, legend, teaching,
  personification, kinship/marriage, place, or origin-story prose. These remain culturally sensitive exclusions.
- `Bilbil-bilbil` and `kurmba-kurmba` are exact whole hyphenated heads. Dictionary reduplication metadata
  does not license free bases, arbitrary productive reduplication, number derivation, or new events.
- Colour, size, slipperiness, habitat, distribution, poison/danger, chasing lore, baldness/hat, body, behavior,
  source, possession, cultural event, and prior-row content remain closed for every target.

## Construction source

- Patz 2577-2584 sources bare nominative `ngayu`, `yundu`, `nyulu`, and `bula`.
- One OCR table cell at 2582 reads `iana`, but Patz running examples at 1419, 1947, 2686, 2807-2811, 3240,
  and 5460 repeatedly attest `Jana`/`jana`; dictionary 7749-7759 independently records `jana` as the
  third-person plural personal pronoun `they`. Rule 338 uses corpus-standard `jana`.
- Patz 2834-2847 sources Yalanji `yaluy`/`yinyay`; 2021-2024 and 2568-2571 attest
  `nyaji-ny` `see-PAST`; 3160-3162 defines past `-ny`; 4256-4265 licenses nominative pronoun A and
  bare absolutive O in sensory perception. Dictionary 23876-23883 and 23968-23976 contain running `nyajin`.
- Fresh Patz search found no standalone selected reptile noun. The apparent `kungkun` hits at 5504 and 5520
  are only the initial string of the unrelated verb `kungkunbunga-` `watch closely`; they provide no evidence
  for noun `kungkun` `snake`. Lexical licensing comes from the dictionary records only.

## Gap, collision, and balance audit

- Exact five-pronoun x ten-target x two-deictic matrix: 100 cells total.
- Exactly 50 cells are occupied: all are the inverse orientation and map one-for-one to Batch 361 / Rule 319.
- All 50 selected complementary cells are absent; selected surfaces are internally unique.
- Before banking `yaluy` is 4,332 and `yinyay` 4,504, a gap of 172.
- Selected three-here/two-there projects `(4504+20)-(4332+30)=162`; hypothetical inverse projects 182.

## Preflight

- Baseline: 19,047 / 20,000 verified; 131,547 Kuku words; 953 remaining; event 4234.
- Status: 18,136 accepted, 911 revised, and no draft, pending, or under-review rows.
- Target coverage: `jalbil` 10, `kalkarrumbarr` 10, `kurmba-kurmba` 10, `jimalili` 11,
  `yuray` 11, `bakay` 12, `kungkun` 12, `bilbil-bilbil` 13, `bajalji` 14, `jabil` 15.
- Support: `ngayu` 1,451, `yundu` 1,047, `nyulu` 722, `bula` 518, `jana` 1,223,
  `yaluy` 4,332, `yinyay` 4,504, and `nyajin` 1,950.

## Reproducibility record

- Dictionary source: `/mnt/donto-data/workspace/mobtranslate.com/dictionaries/kuku_yalanji/dictionary.yaml`;
  SHA256 `b575ab035ecc60f09f7bfc5537116555f3d290869fe75b2edf0fd8db60fe1b37`.
- Patz extraction: `/mnt/donto-data/workspace/mobtranslate.com/dictionaries/kuku_yalanji/grammar.md`;
  SHA256 `5f21305f1fca9ee2cb64668e18156d1f322e3bd9e59850fda662bf0673714153`.
- Pre-bank authoring script SHA256:
  `5b71a69e30de9c6150c53cc4c00a8756894e50acc239b34ea64862cae503c821`.
- Pre-close review script SHA256:
  `4c7568555263c042d156f91a0456cbefe9b127a2f3e5cea4e3a06effbacea3d1`.
- All research artifacts remain on the mounted data drive. The database is the authoritative row/status ledger;
  generated exports and rendered books are derivatives.

## Planned rows

1. `Ngayu jalbil yaluy nyajin.`
2. `Ngayu kalkarrumbarr yaluy nyajin.`
3. `Ngayu kurmba-kurmba yaluy nyajin.`
4. `Ngayu jimalili yaluy nyajin.`
5. `Ngayu yuray yaluy nyajin.`
6. `Ngayu bakay yaluy nyajin.`
7. `Ngayu kungkun yaluy nyajin.`
8. `Ngayu bilbil-bilbil yaluy nyajin.`
9. `Ngayu bajalji yaluy nyajin.`
10. `Ngayu jabil yaluy nyajin.`
11. `Yundu jalbil yinyay nyajin.`
12. `Yundu kalkarrumbarr yinyay nyajin.`
13. `Yundu kurmba-kurmba yinyay nyajin.`
14. `Yundu jimalili yinyay nyajin.`
15. `Yundu yuray yinyay nyajin.`
16. `Yundu bakay yinyay nyajin.`
17. `Yundu kungkun yinyay nyajin.`
18. `Yundu bilbil-bilbil yinyay nyajin.`
19. `Yundu bajalji yinyay nyajin.`
20. `Yundu jabil yinyay nyajin.`
21. `Nyulu jalbil yaluy nyajin.`
22. `Nyulu kalkarrumbarr yaluy nyajin.`
23. `Nyulu kurmba-kurmba yaluy nyajin.`
24. `Nyulu jimalili yaluy nyajin.`
25. `Nyulu yuray yaluy nyajin.`
26. `Nyulu bakay yaluy nyajin.`
27. `Nyulu kungkun yaluy nyajin.`
28. `Nyulu bilbil-bilbil yaluy nyajin.`
29. `Nyulu bajalji yaluy nyajin.`
30. `Nyulu jabil yaluy nyajin.`
31. `Bula jalbil yinyay nyajin.`
32. `Bula kalkarrumbarr yinyay nyajin.`
33. `Bula kurmba-kurmba yinyay nyajin.`
34. `Bula jimalili yinyay nyajin.`
35. `Bula yuray yinyay nyajin.`
36. `Bula bakay yinyay nyajin.`
37. `Bula kungkun yinyay nyajin.`
38. `Bula bilbil-bilbil yinyay nyajin.`
39. `Bula bajalji yinyay nyajin.`
40. `Bula jabil yinyay nyajin.`
41. `Jana jalbil yaluy nyajin.`
42. `Jana kalkarrumbarr yaluy nyajin.`
43. `Jana kurmba-kurmba yaluy nyajin.`
44. `Jana jimalili yaluy nyajin.`
45. `Jana yuray yaluy nyajin.`
46. `Jana bakay yaluy nyajin.`
47. `Jana kungkun yaluy nyajin.`
48. `Jana bilbil-bilbil yaluy nyajin.`
49. `Jana bajalji yaluy nyajin.`
50. `Jana jabil yaluy nyajin.`

## Guardrails

- Bare selected nominative A, bare reptile noun O, fixed Yalanji locals, and final past `nyajin`.
- Conservative shared creature labels do not adjudicate duplicate-record identity or species.
- Noun `jabil` only; no kick verb. Whole `bilbil-bilbil`/`kurmba-kurmba`; no free base or productive process.
- `Kungkunbunga-` is an unrelated verb and cannot license or alter snake-noun `kungkun`.
- No myth/lore, personification, kin/marriage, firestick, island/place, colour, size, habitat, distribution,
  poison/danger, chasing, body, behavior, source, possession, cultural event, case, or prior-row import.
- No non-selected pronoun, `iana` OCR spelling, nonpast, purposive, reduplicated perception, hearing/smell
  compound, target/pronoun/demonstrative case, or support drift.

## Execution checklist

- Compile; AST 50 explicit calls; static contracts; 35 lessons; 18 logs; five lenses; 50 linter probes.
- Recheck source records, complementary matrix, exact Rule 319 inverse mapping, coverage, balance, baseline,
  corpus lint, and integrity.
- Bank under review; exact field readback; duplicate scans; manual five-lens review; non-destructive close.
- Post-close lint/coverage/integrity; export; update four books; render; live verify; integrated audit; finalize log.

## Closeout

- Source audit confirmed structured record counts 1/1/1/1/2/2/2/1/2/2. Duplicate `yuray`, `bakay`,
  `kungkun`, and `bajalji` records remained uncollapsed; noun `jabil` remained separate from kick verb.
  Repeated `jana` evidence resolved the isolated `iana` OCR cell, and `kungkunbunga-` was explicitly
  excluded as an unrelated verb rather than nominal corroboration.
- Reproducibility hashes fixed the exact dictionary and Patz extraction used. Compile passed; AST found 50 literal
  `row(...)` calls with literal sequence arguments; static contracts returned zero issues; all 50 candidate linter
  probes passed; planned-row/process-log parity was exact; 35 lessons, 18 logs, and five lenses were present.
- Pre-bank corpus state was 19,047 verified / 131,547 words / event 4234, with 18,136 accepted and 911 revised.
  The selected 50 cells were empty; the inverse 50 mapped exactly to Batch 361; selected balance projected
  `yinyay - yaluy` 172->162.
- Banked 50 rows as `under_review`. Exact readback matched all 50 rows across 13 stored fields. Whole-corpus lint
  scanned 19,097 non-rejected rows with zero issues while the verified count remained 19,047. Exact duplicate
  groups remained zero; six terminal-punctuation contrasts remained historical and Batch 380 entered none.
- Manual review passed all 250 morphology, lexicon, syntax, fidelity, and register judgments. No record collapse,
  species resolution, `jabil` kick reading, `kungkunbunga-` import, free reduplicated base, myth/lore,
  property, habitat, poison/danger, source, possession, case, support drift, or cultural event entered.
- Non-destructive close inserted 35 lessons and 18 lexeme/source logs. Verified moved 19,047->19,097; Kuku words
  131,547->131,747; statuses are 18,186 accepted and 911 revised, with no draft or under-review rows.
- Target coverage moved to `jalbil` 15, `kalkarrumbarr` 15, `kurmba-kurmba` 15, `jimalili` 16,
  `yuray` 16, `bakay` 17, `kungkun` 17, `bilbil-bilbil` 18, `bajalji` 19, and `jabil` 20.
  Support moved to `ngayu` 1,461, `yundu` 1,057, `nyulu` 732, `bula` 528, `jana` 1,233,
  `yaluy` 4,362, `yinyay` 4,524, and `nyajin` 2,000.
- Post-close lint is GREEN 19097; exact duplicates zero; SQLite integrity `ok`; foreign-key violations zero.
- Export refreshed to 19,097 rows: train 16,021, dev 1,545, synthtest 1,531. Manifest counts, parsed JSONL lines,
  and the complete English/Kuku pair multiset agree with the database.
- Four living source books now identify Batch 380 / Rule 338 / 19,097 and hand off Rule 339 with
  `bank_381.py`, `close_381.py`, and trap `(ei)`. All four rendered Markdown files are byte-identical to
  source; all four HTML documents contain current markers and one table of contents; all eight index document
  links resolve locally.
- Live `/docs` returns 301 to `/docs/`; index plus four HTML and four Markdown resources return 200 with
  `public, max-age=300, must-revalidate`. Four Markdown and five HTML bodies are byte-identical to local render,
  and all document pages carry Rule 338 / 19,097 markers. These responses contained no injected Cloudflare beacon.
- Events 4235-4255 preserve source readback through the integrated 11-group source-to-live audit. Every group
  passed; verified is 19,097 and 903 remain.

## Handoff

If accepted, continue from **19,097 / 20,000**, with **903** remaining. Rule 339 requires a fresh source pass.
