# Batch 140 Process Log - Perception/Cognition Complement And Simultaneous-Clause Frames

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

## Goal

Add 50 hand-authored construction rows after the Rule 97 lexical perception/search batch. The batch deliberately reuses
Rule 97 lexemes but changes the grammatical target:

- perception main clauses plus simultaneous `-nyV` subordinate clauses;
- cognitive/desiderative/conative predicates with purposive `-nkV` complements;
- `babaji-y`, `kunjaji-y`, `walngkurriji-y`, `balka-l`, and `kunja-l` frames with their source-attested case patterns.

No new Kuku content was script-generated. The script only stores the rows and runs duplicate/static checks.

## Source Pass

Primary source checks before banking:

- Patz §4.4.4.1: simultaneous clauses use verb + `-nyV`; the subordinate verb is often reduplicated because the
  concurrent action is normally ongoing.
- Patz §4.4.4.1 ex.457: `Ngayu yununy nyaji-ny, mayi yurmbi-l-yurmbi-nya ...` shows a perception main verb with a
  pronoun object co-referential with the deleted subordinate actor.
- Patz §4.4.4.1 ex.458: `Bama-ngka Janzman nyaji-l-nyaji-ny, gold baka-l-baka-nya` gives the model for "watched
  X digging".
- Patz §4.4.4.1 ex.459: a non-perception main clause can still share O with the subordinate actor: "grabbed the
  young man spearing turtle".
- Patz §4.4.4.1 ex.461: `nuka-nuka-ji-nya` is the controlled intransitivized "feeding" form for a wallaby feeding
  on grass.
- Patz §4.4.4.1 ex.462-465: if the whole subordinate event is the perceived object, the main object can be omitted
  and the subordinate A/S retained (`Ngayu nyaji-ny, nyulu bulki yaka-l-yaka-nya`; `jarba kuni-ji-nya`).
- Patz §4.4.4.1 ex.466-467: oblique-object examples with `wulman-anda ... bundanda-nya` and `jalbu-ndu mayi
  waju-nyu`; b-forms show the whole subordinate clause can take `-mun-bu`.
- Patz §4.4.5 ex.506-507: the "bailing water from boat" contrast and the `janjana-nya-mun-du` same-actor case
  agreement example.
- Patz §3.8.4.2 ex.160-162 and §4.4.1: purposive `-nkV` is the complement form with desire/intention and with
  adjectival particles.
- Patz §4.9.1 ex.584-590: `binal-kari` + DAT noun, `binal` + PURP, `wawu` + DAT/PURP, and reduplicated purposive
  `kinka-n-kinka-nka`.
- Patz §4.4.1 ex.414-415: `kunja-l` summon + PURP and `balka-l` tell + PURP, with the commanded participant as
  main-clause O/addressee.
- Patz §4.2.4.4 ex.376-378: fixed intransitive communication stems:
  `kunjaji-y` ask for, `walngkurriji-y` pester for, `babaji-y` ask about. Person addressed is LOC; item/topic is DAT.
- Rule 97 living-book constraints remain active: use `nyajil` for see/hear/perceive; no `ngara` for hear/listen;
  keep `milka-` and `miyil-` compounds separate; avoid speculative "recognise" rows.

## Design Decisions

- Keep simultaneous examples short and source-shaped; do not turn `-nyV` into a general English relative-clause
  machine. The temporal simultaneity remains the primary relation.
- Use `nyaji-l-nyaji-n` for ongoing watching where the source model is reduplicated; use simple `nyajin` where the
  source model perceives a whole subordinate event.
- Keep common-noun A marked with ergative `-ngku` / `-angka`; keep pronoun A nominative.
- In ask frames, preserve the Patz split:
  - person asked: LOC/POT.LOC (`ngamu-ndu`, `babi-nda`, `warru-ndu`, `yaba-nda`);
  - topic/requested item: DAT (`mayi-ka`, `wulngku-ku`, `makarr-ka`, `kamukamu-ku`);
  - `balka-l` addressee: DAT (`karrkay-nka`).
- Avoid English loans unless source-attested and already corpus-controlled; the `walngkurriji-y` row replaces source
  `lolly-ka` with `mayi-ka`.

## Rejected Or Risk-Controlled Forms

- No `ngara` for hear/listen.
- No broad direct-speech quotation rows in this batch; quotation punctuation and discourse clitics deserve a separate
  controlled batch.
- No `miyilda nyajil` because the exact instrumental/locative eye-marking contrast has not been separately reviewed.
- No speculative `binal` + English-style finite complement except source-shaped `binal` examples; the main cognitive
  expansion stays in `binal`/`wawu`/`babal` + purposive.
- No Nyungkul-only or dialect-marked forms introduced.
- No `lolly` loan in the pester row; replaced with `mayi-ka` to keep lint and lexicon conservative.

## Accepted Row Inventory Draft

The intended rows are in `batch_scripts/bank_140.py`. They are grouped as follows:

1. Rows 1-20: perception/non-perception main clauses with O = subordinate S/A deletion or whole-event perception.
2. Rows 21-25: oblique/same-actor simultaneous clauses, including `-mun-bu` and `-mun-du` case-marked subordinate
   complexes.
3. Rows 26-40: cognitive, desiderative, conative, memory, and teaching purposive complements.
4. Rows 41-50: directive and asking/pestering frames with LOC/DAT/DAT-addressee control.

## Verification And Closeout

All commands below were run from
`/mnt/donto-data/donto-resources/research/translation-training/kuku-yalanji-runpod-2026-06-30/synthetic/claude-synthetic-v1-2026-07-02`
unless otherwise stated.

1. First bank attempt with `python3 batch_scripts/bank_140.py` hit duplicate protection before writing:
   - `batch-140.32` duplicated `batch-132.33`: `Ngayu wawu balka-nka yunu-ndu-rrku`.
   - `batch-140.33` duplicated `batch-132.44`: `Ngayu wawu kada-nka-baja`.
   - `batch-140.44` duplicated `batch-124.30`: `Dingkar ngayku-ndu mayi-ka kunjajin`.
   - `batch-140.45` duplicated `batch-124.28`: `Karrkay ngamu-ndu mayi-ka walngkurrijin`.
2. Duplicate replacements before banking:
   - Row 32 became `Yundu wawu balka-nka ngayku-ndu-rrku`.
   - Row 33 became `Jana wawu kada-nka-baja`.
   - Row 44 became `Jalbu ngayku-ndu mayi-ka kunjajin`.
   - Row 45 became `Karrkay yaba-nda mayi-ka walngkurrijin`.
3. Banked with `python3 batch_scripts/bank_140.py`.
   - Output: `banked batch-140: 50 rows under_review; avg Kuku words/row=4.34`.
4. First pre-close lint with `python3 lint_corpus.py` found two surface-form issues:
   - Row 22: `warriy` flagged as word-final `-iy`; corrected to `warri`.
   - Row 24: `warriy` flagged as word-final `-iy`; corrected to `warri`.
   - This is the elder-surface rule `warri-y` -> `warri`.
5. Rebanked and reran lint.
   - Output: `banked batch-140: 50 rows under_review; avg Kuku words/row=4.34`.
   - Output: `lint: 7097 rows scanned, 0 issues flagged`.
   - Goal metric remained `7047 / 20000 verified sentences` because the batch was still `under_review`.
6. Manual five-lens review after green lint:
   - Morphology: reduplicated `-l` stems, `-nyV`, `-mun-bu`, `-mun-du`, surface `warri`, and past `-n` checked.
   - Lexicon: row 5 was tightened from weaker `ngunyin jaba-l-jaba-nya` to source-backed `balji wukurri-l-wukurri-nya`.
   - Syntax: rows 47-48 were corrected from ERG actors (`Karrkay-ngku`, `Jalbu-ngku`) to ABS actors (`Karrkay`,
     `Jalbu`) because `babaji-y` is a fixed intransitive stem whose actor is S.
   - Fidelity: simultaneous clauses were kept as temporal event overlap, not generalized English relatives.
   - Register: short Patz-shaped rows were accepted because this is a high-control construction batch.
7. Rebanked after manual corrections and reran lint.
   - Output: `banked batch-140: 50 rows under_review; avg Kuku words/row=4.34`.
   - Output: `lint: 7097 rows scanned, 0 issues flagged`.
8. Closed with `python3 batch_scripts/close_140.py`.
   - Output: `closed batch-140: 50 accepted rows, 250 review passes, 12 lessons, 20 lexeme/source-log rows, verified corpus=7097`.
9. Ran full post-close lint with `python3 lint_corpus.py`.
   - Output: `lint: 7097 rows scanned, 0 issues flagged`.
   - Goal metric: `7097 / 20000 verified sentences (88055 Kuku words)`.
10. Refreshed export with `python3 export_training.py`.
   - Total exported rows: 7,097.
   - Split: train 5,947; dev 569; synthtest 581.
   - Highest construction tags: ergative 1,624; negation 1,598; purposive 1,380; subordinate 1,090; ablative 962.
11. Read back database audit counts from `synthetic.db`.
   - Global statuses: `accepted=6187`, `revised=910`.
   - Batch 140 status: `accepted=50`.
   - Reviews: 250.
   - Lessons: 12.
   - Lexeme/source-log rows for `batch-140-verify`: 20.

## Live Book Update

Updated these source files:

- `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`
  - Current line now says `7,097 / 20,000 verified sentences (Rules 1-98)`.
  - §5.2 now includes perception/cognition complement plus simultaneous-clause frames as Rule 98.
  - Cadence now points to lexical Rule 99.
  - The worked handoff recommends social relations, obligation, taboo, avoidance, truth/authority, and law words for
    the next lexical batch.
- `reports/kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`
  - Added Rule 98 with simultaneous `-nyV`, whole-event perception, oblique/case-marked simultaneous complexes,
    particle-predicate PURP complements, directive frames, and fixed communication stems.
- `reports/kuku-yalanji-dictionary-errata-2026-07-02.md`
  - Added Batch-140 watchlist notes: `warri-y` surface `warri`, fixed intransitive `babaji-y`/`kunjaji-y`/
    `walngkurriji-y`, `balka-l` DATIVE addressee, source-backed `balji wukurril`, and no free generalization of
    `-mun-bu`/`-mun-du`.

Rendered the public docs from the program root
`/mnt/donto-data/donto-resources/research/translation-training/kuku-yalanji-runpod-2026-06-30`:

```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 check in `public-docs/` found:

- Operator HTML/MD: `7,097 / 20,000`, `Rules 1-98`, `Rule 99`.
- Grammar HTML/MD: `Rule 98`, `batch-140`, `Lint GREEN 7097`, `babaji-y`.
- Errata HTML/MD: `Batch-140`, `warriy`, `Lint GREEN 7097`, `babaji-y`.

Local Caddy route check using `--resolve mobtranslate.com:443:127.0.0.1`:

```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
```

Body marker checks:

- Public and local operator HTML/MD include `7,097 / 20,000`, `Rules 1-98`, and `Rule 99`.
- Public and local grammar HTML/MD include `simultaneous-clause frames`, `batch-140`, `Lint GREEN 7097`, and `babaji-y`.
- Public and local errata HTML/MD include `Batch-140`, `warriy`, `Lint GREEN 7097`, and `babaji-y`.

Final handoff correction:

- The operator guide's generic next-batch close step initially still said `close_140.py`; it was corrected to
  `close_141.py`, docs were rerendered, and public `operator-guide.md` was checked for both `close_141.py` and
  `7,097 / 20,000`.

## Final State

Batch 140 is closed and exported. The verified corpus is now **7,097 / 20,000**. The live books are current on
`mobtranslate.com/docs/`, and the next batch should be **Rule 99, lexical**, focused on social relations, obligation,
taboo, avoidance, truth/authority, and law words.
