# Batch 144 Process Log - Body-Part And Bodily-State Argument Structure

Corpus: `claude-synthetic-v1-2026-07-02`  
Batch: `batch-144`  
Rule: 102, construction batch  
Start checkpoint: 7,247 / 20,000 accepted or revised sentences, lint green.

## Goal

Add 50 hand-authored rows for body-part and bodily-state argument structure. The batch follows Rule 101 lexical health
work, but the target here is syntax: how body parts and bodily states behave in noun phrases, affected-object frames,
instruments, reflexive/passive injury frames, and comitative/privative state predicates.

No Kuku content is generated by script. `bank_144.py` stores hand-authored rows, performs static and exact-duplicate
checks, and records source/process metadata in `process_events`.

## Process Storage Policy

This batch explicitly preserves process, not only output:

- Human-readable narrative log: this file.
- Structured SQLite ledger: `process_events` in `synthetic.db`.
- Reproducible artifacts: `batch_scripts/bank_144.py` and `batch_scripts/close_144.py`.
- Review artifacts: 250 five-lens review rows at close, plus lessons and lexeme logs.
- Live books: operator guide, grammar cheatsheet, and dictionary errata updated and rendered after close.

The ledger is intended to make later linguistic audit possible. It records the source pass, rejected forms, row
inventory, lint outputs, review decision, close output, export output, and live-doc verification.

## Source Pass

Primary source checks before banking:

- Patz §4.5.2 inalienable possession:
  - General possessive suffixes can occur, but body-part possession more commonly uses whole + part apposition with
    no possessive suffix.
  - Whole and part share case in the NP.
  - Controlled examples: `Nyungu mungka duna`; `Nyulu kuyu biji kayi-ny`; `Nyulu kulji dara-y-mani-ny maral-anda
    jina-nga`.
- Patz §3.5.2 possessive pronouns:
  - Possessive pronoun stems exist, but this construction batch deliberately prefers appositional inalienable
    possession except where a grammar example itself uses a pronoun.
- Patz §4.1.4.4 instrumental:
  - Body parts may be instruments: `mara-bu`, `jina-bu`, `bungku-bu`, `milka-bu`, `miyil-bu`, `dirra-bu`.
  - Instrumental NPs remain instrumental in reflexive and passive constructions.
  - Controlled examples include `Ngayu mayi yala-ku dingka-l mara-bu`, `Jana jalbu jina-bu dunga-y`, `Maral
    bungku-bu janjana-y`, `Ngayku ngamu yaka-ji-ny naybu-bu`, `Ngayu juku-bu kuni-ji-ny`, `Nyulu mili-bu
    waju-ji-ny`.
- Patz §4.2.4.2 reflexive:
  - `-ji-` marks reflexive/middle; body part can be the affected absolutive part.
  - Controlled examples: `Karrkay julurri-ji-y`, `Bunjil yaka-n-yaka-ji-ny`, `Nyulu yirrba-n-yirrba-ji-y`,
    `Warru kanban kuni-ji-ny`, `Nyulu wulbuman jina baka-ji-ny mayi baka-l-baka-nya`, `Ngayu yimbi junka-ji-y`,
    `Nyulu jalbu naybu-bu yaka-ji-ny, minya yaka-l-yaka-nya`.
- Patz §4.2.4.3 passive/chance passive:
  - Passive uses `-ji-`; underlying patient becomes S, and human/controlling agent appears in locative.
  - Chance passive is past and excludes `kanban` in the chance-passive clause.
  - Controlled examples: `Dingkar-anda ngayu jina narri-ji-ny`, `Yaburr-ungku warru bayka-ny` -> `Warru
    yaburr-undu bayka-ji-ny`, `Nyulu jarba-nga/jarba-bu bayka-ji-ny`.
- Patz §4.6 comitative/privative:
  - Comitative marks corporeal or mental state, not ownership: `Yinya kaya kuli-ji`, `Nyulu karrkay kumbu-ji`.
  - Locative agreement appears in `Babi-ngka yangka daji-ny karrkay-anda ngiki-ji-nda`.
  - Privative marks lack/state: `Ngayu ngiki-kari, ngulkurr-ma-ny`, `Nyulu wulbuman dirra-kari`.
- Grammar causal body-state examples:
  - `Ngayu muku kaka, baya muja-l-muja-nya`.
  - `Ngayu muku kaka, baya muja-nya yilayku`.
- Dictionary/living-book source checks:
  - Body-part inventory: `dukul`, `mungka`, `walu`, `miyil`, `milka`, `ngandal`, `dirra`, `manu`, `jina`,
    `durru`, `wakuy`, `mara`, `muku`, `bangkarr`, `yimbi`.
  - State and injury lexemes: `kaka`, `bajaybajay`, `ngiki`, `kumbu`, `kuli`, `mili`, `murraja`, `yaburr`,
    `jarba`, `narri-l`, `yijarril`, `julurril`, `yirrbal/yirrbaji`, `jungal/junka-ji`, `wawu-wula-y`.

## Construction Decisions

- Rows 1-10 train inalienable whole-part apposition in simple predicates. No `-mu` possessive suffix is used for
  ordinary body-part states.
- Rows 11-20 train affected whole-part NPs with locative or object function, including same-case whole + part
  locative and affected absolutive body parts.
- Rows 21-30 train body parts as instruments. These rows deliberately contrast instrumental `-bu` with locative
  affected-part rows.
- Rows 31-40 train reflexive, middle, passive, and chance-passive injury frames. Instruments remain instrumental;
  animate/insect/fish/snake agents follow the grammar's locative/passive options.
- Rows 41-50 train comitative and privative bodily states plus causal body-state clauses.

## Intended Row Inventory

1. Rows 1-10: whole-part apposition for hand, hair, eye, back, body, face, mouth, arm, head, teeth.
2. Rows 11-20: water/stone/stick impacts on body parts, chance stepping, bites to body parts, washing body parts.
3. Rows 21-30: hand, foot, knee, ear, eye, teeth, mouth, and hand as instruments.
4. Rows 31-40: cut-self, poke-foot, scratch-hand, paint-lips, hit-self-by-mistake, hit-by-stick, stonefish poke,
   shark bite passive, snake bite passive, jellyfish burn passive.
5. Rows 41-50: `kuli-ji`, `kumbu-ji`, `ngiki-ji`, `ngiki-kari`, `dirra-kari`, `milka-kari`, locative comitative
   `ngiki-ji-nda`, and sore-back causal clauses.

## Rejected Or Risk-Controlled Forms

- No `dukal`; body-part head remains dictionary `dukul`.
- No `wubul` for heart; the living books warn that the quantifier sense dominates.
- No productive possessive `-mu` on body parts in the target rows unless a source example would require it.
- No `kanban` in chance-passive rows; `kanban` is used only in the reflexive accidental-hit row.
- No `ngara-l` as hear/listen; hearing rows use `nyaji-l` with `milka-bu`.
- No `medicine`, `hospital`, `warmba`, `rrunyuji`, or `murri`; this is not a clinical/doctor batch.
- No English-only body-part paraphrases where the dictionary or grammar lacks a source-backed Kuku term.
- No hand-maintained synonym map: ambiguous forms such as `baykal` remain resolved by argument structure.

## Verification And Closeout

Planned commands from the corpus root:

```text
python3 -m py_compile batch_scripts/bank_144.py batch_scripts/close_144.py
python3 batch_scripts/bank_144.py
python3 lint_corpus.py
python3 batch_scripts/close_144.py
python3 lint_corpus.py
python3 export_training.py
```

First bank attempt stopped on exact duplicate protection:

- `batch-144.41` duplicated `batch-129.21`: `Yinya kaya kuli-ji.`
- Correction: row 41 now uses Patz ex.542's snake frame, `Yinya jarba kuli-ji.`

Actual verification:

1. Compiled the bank and close scripts:
   - `python3 -m py_compile batch_scripts/bank_144.py batch_scripts/close_144.py`
2. Banked with `python3 batch_scripts/bank_144.py`.
   - Output: `banked batch-144: 50 rows under_review; avg Kuku words/row=3.76`.
3. Full lint while under review:
   - Output: `lint: 7297 rows scanned, 0 issues flagged`.
   - Goal metric remained `7247 / 20000 verified sentences` because the batch was still `under_review`.
4. Manual five-lens review:
   - Morphology: checked `-anda/-nda/-ndu` human locatives, `-nga/-ngu/-mbu` body-part locatives, `-bu`
     instruments, surface past `-n`, and `-ji-` reflexive/passive forms.
   - Lexicon: confirmed all body-part/state lexemes against dictionary, grammar, or living-book source notes.
   - Syntax: kept whole+part apposition, affected object, instrument, reflexive, passive, chance passive, comitative,
     and privative frames distinct.
   - Fidelity: English was narrowed to what the Kuku frame says; no modern clinical/doctor material imported.
   - Register: short source-shaped examples, deliberately more grammatical than narrative.
5. Closed with `python3 batch_scripts/close_144.py`.
   - Output: `closed batch-144: 50 accepted rows, 250 review passes, 13 lessons, 23 lexeme/source-log rows, 7 process events, verified corpus=7297`.
6. Post-close audit:
   - Global statuses: `accepted=6387`, `revised=910`.
   - Batch 144 reviews: 250.
   - Batch 144 lessons: 13.
   - Lexeme/source-log rows for `batch-144-verify`: 23.
7. Post-close lint:
   - `python3 lint_corpus.py`
   - Output: `lint: 7297 rows scanned, 0 issues flagged`.
   - Goal metric: `7297 / 20000 verified sentences (88840 Kuku words)`.
8. Refreshed export with `python3 export_training.py`.
   - Total exported rows: 7,297.
   - Split: train 6,110; dev 590; synthtest 597.
   - Highest construction tags: ergative 1,702; negation 1,615; purposive 1,386; subordinate 1,096; ablative 965;
     comitative 720; question 594; causative 591; imperative 498; inchoative 378; reflexive 143.
9. Process ledger before live-doc verification:
   - `process_events` rows for Batch 144: 9.
   - Event classes: source pass, risk controls, bank success, row inventory, under-review lint, five-lens pass,
     close success, post-close lint, and export refresh.

## Live Book Update

Updated these source files:

- `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`
  - Current line now says `7,297 / 20,000 verified sentences (Rules 1-102)`.
  - Coverage now includes Rule 102 body-part/body-state argument structure.
  - The next handoff now points to Rule 103, lexical: physical properties and material qualities.
  - The next script names are `bank_145.py` and `close_145.py`.
- `reports/kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`
  - Added Rule 102 with inalienable apposition, same-case locative body-part NPs, affected body-part objects, body-part
    instruments, reflexive/passive/chance injury frames, comitative/privative state predicates, and process traps.
- `reports/kuku-yalanji-dictionary-errata-2026-07-02.md`
  - Added Batch-144 verified inventory and watchlist decisions.
  - Logged `wakuy-mbu`, `dukul` over `dukal`, no `wubul` heart rows, no `ngara-l` hearing, no `kanban` inside
    chance-passive rows, and the duplicate correction from `Yinya kaya kuli-ji` to `Yinya jarba kuli-ji`.

Rendered the public docs from the program root:

```text
./render-docs.sh
  rendered operator-guide.html      <- KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md
  rendered sample-pages.html        <- SAMPLE-PRODUCTION-PAGES.md
  rendered grammar-cheatsheet.html  <- kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md
  rendered dictionary-errata.html   <- kuku-yalanji-dictionary-errata-2026-07-02.md
  wrote index.html
```

Generated-file marker checks in `public-docs/` passed for:

- Operator HTML/MD: `7,297 / 20,000`, `Rule 102`, `Rule 103`, `bank_145.py`, `close_145.py`.
- Grammar HTML/MD: `Rule 102`, `batch-144`, `Lint GREEN 7297`, `Yinya jarba kuli-ji`, `wakuy-mbu`, `ngiki-ji-nda`.
- Errata HTML/MD: `Batch-144`, `Lint GREEN 7297`, `wakuy-mbu`, `ngiki-ji-nda`, `dukul`, `Yinya jarba kuli-ji`.

Local Caddy route check using `--resolve mobtranslate.com:443:127.0.0.1` and `-k` for the local TLS chain:

```text
/docs 301 https://mobtranslate.com/docs/
/docs/ 200
/docs/operator-guide.html 200
/docs/operator-guide.md 200
/docs/sample-pages.html 200
/docs/sample-pages.md 200
/docs/grammar-cheatsheet.html 200
/docs/grammar-cheatsheet.md 200
/docs/dictionary-errata.html 200
/docs/dictionary-errata.md 200
```

Public edge check at `https://mobtranslate.com/docs/` with a browser user-agent:

```text
/docs 301 https://mobtranslate.com/docs/
/docs/ 200
/docs/operator-guide.html 200
/docs/operator-guide.md 200
/docs/sample-pages.html 200
/docs/sample-pages.md 200
/docs/grammar-cheatsheet.html 200
/docs/grammar-cheatsheet.md 200
/docs/dictionary-errata.html 200
/docs/dictionary-errata.md 200
```

Public body marker checks passed for:

- Operator MD/HTML: `7,297 / 20,000`, `Rule 103 - physical properties`, `bank_145.py`.
- Grammar MD/HTML: `Rule 102 - Body-part`, `Yinya jarba kuli-ji`, `Lint GREEN 7297`, `wakuy-mbu`.
- Errata MD/HTML: `Batch-144`, `ngiki-ji-nda`, `Lint GREEN 7297`, `Yinya jarba kuli-ji`.

Final process ledger after live-doc verification:

- `process_events` rows for Batch 144: 10 including live-doc verification.

Then `./render-docs.sh` will refresh `public-docs/`, and public/local `/docs/` endpoints will be checked.
