# Batch 391 process log - Rule 349 complementary bird set-D non-singular past perception after Rule 348

## Scope and source audit

Rule 349 proposes the 50 exact deictic complements of Rule 348 over `diwalngku`, `bujil-yiran`, `karrmbil`,
`yiki`, `bajal`, `biru-biru`, `jangkan`, `kurranday`, `ngarkay`, and `wakuka`. It adds no new lexical
sense, taxonomic alignment, cultural proposition, property, habitat, place, source claim, possession, or event.

Fresh structured parsing retained exactly two dictionary cards for each target. Exact Patz-form search retained the
profile diwalngku 0, bujil-yiran 0, karrmbil 0, yiki 0, bajal 0, biru-biru 0, jangkan 0, kurranday 0,
ngarkay 0, wakuka 3. Wakuka contexts at Patz lines 713 and 4026 are bird/cultural contexts; line 6903 is the
Wakuka/Wakooka Station proper name and remains non-bird evidence. Zero Patz hits are source-coverage observations,
not claims that dictionary-attested heads are absent from the language.

Patz Table 3.6 at lines 2577-2584 again controls `ngali` 1du exclusive, `ngaliny` 1du inclusive, `yubal` 2du,
`yurra` 2pl, `nganjin` 1pl exclusive, and `ngana` 1pl inclusive. The dictionary's `ngali` inclusive misgloss and
exact-`ngaliny` omission remain errata; `ngana` is grammatical but deliberately deferred. Patz lines 2834-2847,
2021-2024, 2568-2571, 3160-3162 and 4256-4265 license the Yalanji local demonstratives, past perception, and
nominative-pronoun A with bare absolutive O. Dictionary usages at 23876-23883 and 23968-23976 contain `nyajin`.

Source SHA-256: dictionary `b575ab035ecc60f09f7bfc5537116555f3d290869fe75b2edf0fd8db60fe1b37`;
Patz `5f21305f1fca9ee2cb64668e18156d1f322e3bd9e59850fda662bf0673714153`.

## Matrix and baseline

- Candidates `Ngali...yinyay`, `Ngaliny...yaluy`, `Yubal...yinyay`, `Yurra...yaluy`, and
  `Nganjin...yinyay` are 50/50 absent and internally unique.
- Every opposite maps exactly to Batch 390 sequences 1-50. The 100-cell Rule 348-349 non-singular paradigm is
  therefore accounted for as 50 accepted Rule 348 cells plus 50 empty Rule 349 candidates.
- Baseline is 19,597 verified, 133,747 words, 18,686 accepted + 911 revised, event 4486; 403 remain.
- Target coverage is 20/20/20/20/21/21/21/21/21/22 in planned order.
- Support coverage is `ngali` 683, `ngaliny` 625, `yubal` 635, `yurra` 620, `nganjin` 348,
  `ngana` 1,115, `yaluy` 4,612, `yinyay` 4,774, and `nyajin` 2,500.
- Completion necessarily changes the deictic gap 162->172. The apparent 152-gap inverse is exactly Batch 390
  and is therefore inadmissible duplication.
- Script SHA-256: bank `7bdf466bfa2f6d05cb907d1d759c2d0a1f8f70ecd438f6d7e3b7316c99c6b9ac`;
  close `5e7486be7f2e8c10dd1483ffe0f6cfbe0cfbc4cc2e41df4741b29c6b26bbcd3c`.

## Planned rows

1. `Ngali diwalngku yinyay nyajin.`
2. `Ngali bujil-yiran yinyay nyajin.`
3. `Ngali karrmbil yinyay nyajin.`
4. `Ngali yiki yinyay nyajin.`
5. `Ngali bajal yinyay nyajin.`
6. `Ngali biru-biru yinyay nyajin.`
7. `Ngali jangkan yinyay nyajin.`
8. `Ngali kurranday yinyay nyajin.`
9. `Ngali ngarkay yinyay nyajin.`
10. `Ngali wakuka yinyay nyajin.`
11. `Ngaliny diwalngku yaluy nyajin.`
12. `Ngaliny bujil-yiran yaluy nyajin.`
13. `Ngaliny karrmbil yaluy nyajin.`
14. `Ngaliny yiki yaluy nyajin.`
15. `Ngaliny bajal yaluy nyajin.`
16. `Ngaliny biru-biru yaluy nyajin.`
17. `Ngaliny jangkan yaluy nyajin.`
18. `Ngaliny kurranday yaluy nyajin.`
19. `Ngaliny ngarkay yaluy nyajin.`
20. `Ngaliny wakuka yaluy nyajin.`
21. `Yubal diwalngku yinyay nyajin.`
22. `Yubal bujil-yiran yinyay nyajin.`
23. `Yubal karrmbil yinyay nyajin.`
24. `Yubal yiki yinyay nyajin.`
25. `Yubal bajal yinyay nyajin.`
26. `Yubal biru-biru yinyay nyajin.`
27. `Yubal jangkan yinyay nyajin.`
28. `Yubal kurranday yinyay nyajin.`
29. `Yubal ngarkay yinyay nyajin.`
30. `Yubal wakuka yinyay nyajin.`
31. `Yurra diwalngku yaluy nyajin.`
32. `Yurra bujil-yiran yaluy nyajin.`
33. `Yurra karrmbil yaluy nyajin.`
34. `Yurra yiki yaluy nyajin.`
35. `Yurra bajal yaluy nyajin.`
36. `Yurra biru-biru yaluy nyajin.`
37. `Yurra jangkan yaluy nyajin.`
38. `Yurra kurranday yaluy nyajin.`
39. `Yurra ngarkay yaluy nyajin.`
40. `Yurra wakuka yaluy nyajin.`
41. `Nganjin diwalngku yinyay nyajin.`
42. `Nganjin bujil-yiran yinyay nyajin.`
43. `Nganjin karrmbil yinyay nyajin.`
44. `Nganjin yiki yinyay nyajin.`
45. `Nganjin bajal yinyay nyajin.`
46. `Nganjin biru-biru yinyay nyajin.`
47. `Nganjin jangkan yinyay nyajin.`
48. `Nganjin kurranday yinyay nyajin.`
49. `Nganjin ngarkay yinyay nyajin.`
50. `Nganjin wakuka yinyay nyajin.`

## Gates

Fifty direct literal row calls proven by AST; fresh source hashes, ten two-card inventories, exact Patz target profile,
and pronoun paradigm; 50 empty candidates and 50 exact Batch 390 opposites; static contracts; candidate and corpus
lint; exact field readback; duplicate diagnostics; five manual lenses; 35 lessons; 18 lexeme/source logs;
non-destructive close; export parity; four-book source/render/live verification; integrated final audit.

## Closeout

- Source hashes, ten two-card inventories, the corrected `wakuka=3`/other-targets-zero Patz profile, and the
  Patz-over-dictionary participant paradigm remained stable. Candidates were 50/50 empty and opposites were
  exactly Batch 390 sequences 1-50.
- Python compile, literal-row AST proof, 50 direct calls, static source/sense/clusivity contracts, exact ten-field
  database readback, candidate and whole-corpus lint, duplicate diagnostics, and SQLite integrity checks passed.
- Manual five-lens read-through passed 250/250. Conservative labels and every taxonomy, card/domain, component,
  whole-head, culture, property, behavior, habitat, place, source, possession, case, derivation, and event boundary
  remained closed.
- The non-destructive close inserted 35 lessons and 18 lexeme/source logs; verified rows changed
  19,597->19,647 and words 133,747->133,947, yielding 18,736 accepted + 911 revised with no open rows.
- Target coverage became 25/25/25/25/26/26/26/26/26/27. Support became `ngali` 693, `ngaliny` 635,
  `yubal` 645, `yurra` 630, `nganjin` 358, `ngana` 1,115, `yaluy` 4,632, `yinyay` 4,804,
  and `nyajin` 2,550; the completed paradigm's deictic gap is 172.
- Whole-corpus lint was GREEN over 19,647 rows; exact duplicates remained zero and SQLite integrity was `ok`.
  Export parity was exact at 19,647 = train 16,474 + dev 1,578 + synthtest 1,595.
- All four living books are current at Batch 391 / Rule 349 with the Rule 350 handoff, `bank_392.py`,
  `close_392.py`, and trap `(et)`. Raw Markdown, rendered HTML, and all nine cache-busted live resources passed
  byte parity; fetched live artifacts and hashes are retained under `live_audits/batch-391/`.
- Structured events 4487-4508 preserve source-to-live evidence, and the integrated audit passed with 353 remaining.

## Handoff

If accepted, continue from **19,647 / 20,000**, with **353** remaining. Rule 350 requires a fresh lexical set and
fresh source, sense, coverage, matrix, duplication, balance, and construction audits.
