# Batch 283 - Rule 241 Process Log

Theme: bird-reference perception debt sweep after Rule 240.

Starting state:
- Verified sentences before batch: 14,197 / 20,000.
- Under review before batch: 0.
- Latest completed rule before this batch: Rule 240 / batch-282, fish-reference perception debt sweep.
- Process ledger before banking: events complete through 2312.

Field audit:
- Rule 241 selects a fresh bird-reference debt sweep after the Rule 240 fish pass. It does not continue the fish field
  and does not open any bird behaviour, food, omen, or cultural-event semantics.
- Candidate bird heads were checked against `dictionary.yaml`, prior living-book bird rules, token-boundary corpus
  coverage, and exact planned-surface collisions.
- Selected targets are kept as bare noun labels only: `birmba` straw-necked ibis, `jamarbina` goose, `nili-nili`
  duck, `mabal` swallow, `wungku` domestic turkey, `kuludu` dove, `kururrungka` kookaburra, `karrambil` king
  parrot, `yinjul` parrot, and `kadanji` black cockatoo.
- Dictionary-prose traps remain closed: totem/moiety notes for `birmba` and `kadanji`, cockatoo alternate under one
  `birmba` entry, `nili-nili` productive-reduplication analysis beyond the lexical head, `wungku` scrub-turkey
  contrast, `kuludu` small-grey prose, `kururrungka` bronze-wing prose, and `yinjul` fig-parrot specificity.
- Older bird-rule traps remain closed: flight, singing, calling, dancing, warning, messenger, totem/moiety, sacred
  bird, story-site, nest, egg, feather, wing, food, eating, hunting, catching, storm, place, water/tree/habitat,
  colour predicate, domestic-bird generalisation beyond `wungku`, secondary senses, target case, possession, and
  event semantics.

Source basis:
- Patz section 3.1.2 supports nouns as terms for fauna and includes `dikal` as the bird classifier, but Rule 241
  does not use `dikal` as a target and does not build classifier compounds.
- Patz section 3.5 Table 3.6 sources bare nominative pronouns `ngayu`, `nyulu`, `yurra`, `bula`, and `jana`.
- Patz section 3.7 Table 3.12 sources Yalanji `yaluy` "here" and `yinyay` "there".
- Patz section 3.8.3.2 sources `nyaji-l` "see"; Rule 241 uses only nonpast `nyajil`.
- Dictionary entries source the target labels:
  `birmba` straw-necked ibis; `jamarbina` goose; `nili-nili` duck; `mabal` swallow; `wungku` domestic turkey;
  `kuludu` dove; `kururrungka` kookaburra; `karrambil` king parrot; `yinjul` parrot; `kadanji` black cockatoo.

Selected target heads:
- `birmba` - straw-necked ibis; totem/moiety and cockatoo alternate prose closed.
- `jamarbina` - goose.
- `nili-nili` - duck; lexical reduplicated head only, no productive reduplication.
- `mabal` - swallow bird only, not English verb semantics.
- `wungku` - domestic turkey; scrub-turkey/`diwan` contrast closed.
- `kuludu` - dove; small-grey descriptive prose closed.
- `kururrungka` - kookaburra; bronze-wing descriptive prose closed.
- `karrambil` - king parrot.
- `yinjul` - parrot; fig-parrot specificity closed unless the English label is simply parrot.
- `kadanji` - black cockatoo; totem/moiety and Nyungkul `kumurbina` contrast closed.

Planned frame grid:
- Rows 1-10: `Ngayu TARGET yinyay nyajil`.
- Rows 11-20: `Nyulu TARGET yaluy nyajil`.
- Rows 21-30: `Yurra TARGET yinyay nyajil`.
- Rows 31-40: `Bula TARGET yaluy nyajil`.
- Rows 41-50: `Jana TARGET yinyay nyajil`.

Preflight:
- Exact planned-surface collision scan over all 50 planned Kuku sentences returned 0 accepted, revised, or
  under-review collisions.
- Token-boundary corpus coverage before banking: `wungku` 2, `mabal` 5, `yalngkurr` 5 but rejected for sacred/totem
  pressure, `yinjul` 7, `birmba` 8, `kuludu` 10, `kadanji` 11, `kururrungka` 11, `jamarbina` 14, and `karrambil` 14.
- Final selected coverage excludes `yalngkurr` despite low count because the dictionary prose foregrounds eagle-hawk
  totem/country representation. The selected ten have lower-risk literal labels in the planned frames.
- Static guards in `bank_283.py`: 50 explicit hand-authored rows; exactly one Rule 241 target bird noun per row;
  exactly one bare nominative pronoun per row; no loans; no target morphology except whole lexical `nili-nili`; no
  excluded bird candidate; no bird behaviour, food, omen, totem, story, place, habitat, colour, possession, or event
  drift; no pronoun case; no perception compound; five sourced perception frame bands only.

Closeout requirements:
- Run `python3 -m py_compile batch_scripts/bank_283.py batch_scripts/close_283.py`.
- Run `python3 batch_scripts/bank_283.py`.
- Run whole-corpus lint while rows are under review.
- Read back all 50 rows and run five-lens review.
- Run `python3 batch_scripts/close_283.py`.
- Run whole-corpus lint again.
- Run `python3 export_training.py`.
- Update all living books with Rule 241 and rerender docs with `./render-docs.sh`.
- Verify `/docs`, `/docs/`, all four rendered HTML docs, and all four raw Markdown docs from `mobtranslate.com`.

Execution closeout:
- `python3 -m py_compile batch_scripts/bank_283.py batch_scripts/close_283.py` passed.
- `python3 batch_scripts/bank_283.py` banked 50 hand-authored Rule 241 rows as `under_review`. The script recorded
  source readback, debt-sweep scope, coverage audit, duplicate-preflight, static-guard, and bank-success events
  (`process_events` 2313-2318).
- Under-review `python3 lint_corpus.py` passed with `lint: 14247 rows scanned, 0 issues flagged; GOAL METRIC:
  14197 / 20000 verified sentences (112147 Kuku words)`.
- Row readback confirmed all 50 under-review surfaces matched the planned five perception bands with target heads
  `birmba`, `jamarbina`, `nili-nili`, `mabal`, `wungku`, `kuludu`, `kururrungka`, `karrambil`, `yinjul`, and
  `kadanji`; this was recorded as `process_event` 2319.
- `python3 batch_scripts/close_283.py` closed the batch with `accepted=50`, `reviews=250`, `lessons=32`,
  `lexeme_logs=18`, verified count `14197->14247`, and Kuku-word count `112147->112347`.
- Post-close `python3 lint_corpus.py` passed: `lint: 14247 rows scanned, 0 issues flagged; GOAL METRIC:
  14247 / 20000 verified sentences (112347 Kuku words)`. This was recorded as `process_event` 2326.
- `python3 export_training.py` exported 14,247 rows with split counts `train=11944`, `dev=1156`,
  `synthtest=1147`. This was recorded as `process_event` 2327.
- The operator guide, sample production pages, mega grammar cheatsheet, and dictionary errata were updated with
  Batch 283 / Rule 241 scope, examples, traps, counts, and the Rule 242 handoff. This was recorded as
  `process_event` 2328.
- `./render-docs.sh` regenerated `public-docs/` HTML and raw Markdown copies. This was recorded as
  `process_event` 2329.
- Local rendered-doc marker checks found Batch 283 / Rule 241 markers in the generated public docs. Live verification
  then confirmed `/docs` returns 301 to `/docs/`, `/docs/` returns 200, and all four rendered HTML docs plus all four
  raw Markdown docs return 200 with Batch 283 markers. This was recorded as `process_event` 2330.
- Final corpus state after docs verification: 14,247 verified sentences, 112,347 Kuku words, 13,336 accepted rows,
  911 revised rows, and 0 Batch 283 under-review rows.
