# Batch 134 Process Log - Noun-Phrase Structure, Modifier Order, and Apposition

Corpus: `claude-synthetic-v1-2026-07-02`  
Batch: `batch-134`  
Rule: 92, construction batch  
Start checkpoint: 6,747 / 20,000 accepted or revised sentences, lint green.

## Goal

Add 50 hand-authored construction rows for Patz 4.1.1 noun phrases. The batch is deliberately short and source-shaped:
the new learning target is NP-internal order and agreement, not new semantic vocabulary.

## Source Pass

Primary grammar sections and examples consulted:

- Patz 4.1.1: noun phrases can be continuous or discontinuous; all NP constituents agree in case, except possessive
  forms in continuous NPs where case agreement is not obligatory.
- Patz 4.1.1(c): generic plus specific nouns, including `mayi wukay`, `minya ngangkin`, and `juku buyku`.
- Patz 4.1.1(d): demonstrative plus noun order; with one noun the demonstrative can precede or follow, while with
  generic plus specific two-noun NPs the demonstrative is preferred initial.
- Patz 4.1.1(e): interrogative plus noun examples `wanya warru` and `wanyu minya`.
- Patz 4.1.1(f): personal pronoun plus noun examples `bula ngamu`, `jana bama`, and `nyulu yinya`.
- Patz 4.1.1(g): modifier order, including `dubal murru-murru` and `jambul kaya kuli-ji`; modifier follows head,
  but a quantifier tends to precede the head while an adjective follows it.
- Patz 4.1.1(h): possessive before or after a noun, including `badur ngamu-mu`, `ngayku bayan`, and `kalka jirakal
  dingkar-amu`.
- Patz 4.1.1(i) and 4.5.2: inalienable part apposition, including `nyulu dukul`, `nyulu dukul yalbay`, `Nyulu kuyu
  biji kayi-ny`, and `maral-anda jina-nga`.
- Patz 4.2: adjectives and demonstratives agree with the head noun's case type; numerals and possessives use neutral
  marking.

Dictionary checks were kept to already-established, high-confidence vocabulary: `mayi`, `wukay`, `minya`, `ngangkin`,
`juku`, `buyku`, `yanyu`, `yinya`, `yinyay`, `karrkay`, `kaya`, `kubarr`, `maral`, `warru`, `dingkar`, `bama`, `ngamu`,
`jalbu`, `ngali`, `ngana`, `bula`, `jana`, `ngayku`, `yunu`, `wulbuman`, `badur`, `kalka`, `mara`, `dirra`, `kuyu`,
`biji`, `mungka`, `jina`, `kulji`, `murru-murru`, `ngulkurr`, `yalbay`, `jinbal`, `buban`, `dandi`, `kalbay`, and
`junkurr`.

## Authoring Decisions

- The batch uses seven row families: generic/specific classifiers; demonstrative position; interrogative+noun;
  personal-pronoun apposition; modifier order; possessive order; inalienable whole-part apposition.
- Long narratives were avoided. Short rows make the NP structure inspectable and prevent unrelated grammar from hiding
  a mistake.
- Rows 13-14 explicitly test same-case agreement across demonstrative+noun+adjective in ergative A function.
- Rows 34-36 test the quantifier-before/head/adjective-after order without reusing the exact Batch 130 duplicate
  `Jambul kaya kuli-ji kadan`.
- Rows 38-44 test possessive flexibility, while retaining the important distinction that possessive forms are not just
  ordinary agreeing adjectives.
- Rows 45-50 test inalienable apposition without adding possessive suffixes.

## Rejected Or Risk-Controlled Forms

- No new lexical fields were opened. Vocabulary novelty was minimized because this is a construction batch.
- No plural-pronoun possessives were used; the operator guide still treats them as OCR/source-uncertain.
- No "what dog" row was included because `wanya` vs `wanyu` with non-human animate nouns is less central than the
  directly attested `wanya warru` and `wanyu minya` patterns.
- No productive adjective piles beyond source-shaped pairs; Patz notes multiple descriptive adjectives are rare.
- `dubal` is used only in the source-labelled `dubal murru-murru` NP from Patz 4.1.1, not as an unrestricted generic
  bark replacement.

## Verification To Complete

- Run `bank_134.py`.
- Run full `lint_corpus.py`; fix any issue.
- Perform five-lens review: morphology, lexicon, syntax, fidelity, register.
- Run `close_134.py`.
- Run full lint again.
- Refresh export with `export_training.py`.
- Update operator guide, grammar cheatsheet, and dictionary errata.
- Run `render-docs.sh` from the program root.
- Verify public docs and raw Markdown through `https://mobtranslate.com/docs/`.

## Final Results

- `bank_134.py`: banked 50 `under_review` rows; average Kuku words per row = 3.68.
- Pre-close lint: `6797 rows scanned, 0 issues flagged`; verified metric still `6747 / 20000` because the batch was not
  yet accepted.
- Five-lens review: all 50 rows passed morphology, lexicon, syntax, fidelity, and register review.
- `close_134.py`: accepted 50 rows; recorded 250 review passes, 12 lessons, and 21 lexeme/source-log rows; verified corpus
  advanced to 6,797.
- Post-close lint: `6797 rows scanned, 0 issues flagged`; goal metric `6797 / 20000 verified sentences (86985 Kuku words)`.
- `export_training.py`: exported 6,797 rows; train/dev/synthtest = 5,702 / 539 / 556.
- Living-book source updates: operator guide now says 6,797 / 20,000 and Rules 1-92, points the next cadence to lexical
  Rule 93 movement/path-following/return/carrying/travel; grammar cheatsheet has Rule 92; dictionary errata has the
  Batch-134 noun-phrase source-sensitive decisions.
- Local rendered-doc check: `public-docs/` contains `6,797 / 20,000`, `Rules 1-92`, `Rule 92`, `batch-134`, `dubal
  murru-murru`, `junka-ji`, `junkurr-ji`, and the Rule-93 handoff markers in the expected files.
- `render-docs.sh`: rendered operator guide, sample pages, grammar cheatsheet, dictionary errata, and index into
  `public-docs/`.
- Live Caddy-route verification on `https://mobtranslate.com/docs/` using `--resolve mobtranslate.com:443:127.0.0.1`:
  `/docs` returns 301 to `/docs/`; `/docs/` returns 200; all four HTML endpoints and their raw `.md` counterparts return
  200. Operator guide shows `6,797 / 20,000`; grammar HTML exposes the stable Rule 92 anchor and Batch-134 markers; errata
  HTML shows Batch-134 plus `junka-ji` / `junkurr-ji`.
- Public Cloudflare verification with a normal browser User-Agent: `/docs` returns 301 to `/docs/`; `/docs/` returns 200;
  all four HTML endpoints and raw `.md` counterparts return 200. Operator guide HTML/MD show `6,797 / 20,000`; grammar
  HTML/MD expose the Rule 92 anchor; dictionary errata HTML/MD show Batch-134. A default Python/urllib fingerprint got
  403 from the edge, so browser-UA verification is the reliable public check from the VPS.
