# Batch 147 Process Log - Human Qualities, Ability, And Character/State Lexicon

Corpus: `claude-synthetic-v1-2026-07-02`  
Batch: `batch-147`  
Rule: 105, lexical batch  
Start checkpoint: 7,397 / 20,000 accepted or revised sentences, lint green.

## Goal

Add 50 hand-authored rows for source-bounded human qualities, ability, competence, truth/lie character, shame/guilt,
tame/fierce states, age/status, and tiredness. This follows the Rule 104 adjective construction batch, so the target is
lexical breadth with strict sense boundaries, not broad English personality abstraction.

No Kuku content is generated by script. `bank_147.py` stores hand-authored rows, runs static and cross-corpus duplicate
checks, and records source/process metadata in `process_events`.

## Process Storage Policy

This batch stores the process as first-class data:

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

The ledger should let a later linguist audit source decisions, rejected duplicates, stale-form guards, spelling
normalizations, lint results, manual review, close, export, and live-doc verification.

## Source Pass

Primary source checks before banking:

- Patz adjectival particles:
  - `binal` know with dative noun or purposive verb complement.
  - `juburr` be good at/with something with a dative noun complement.
  - `binal-bajaku` know very much/exactly.
  - `binal-kari` not know, `binal-ma-l` learn, `binal-bunga-l` teach.
- Patz `mala-` expert compounds:
  - `mala-kalka`, `mala-minya`, `mala-mayi`, `mala-burri`, `mala-balji`, `mala-bulki`.
  - `mala-` attaches to noun roots; the Nyungkul extension to nominalized verb stems was not confirmed by other
    speakers, so this batch does not use it.
- Dictionary quality terms:
  - `kiru-kari` dull/stupid/silly; `kiru-kari-ma-l` get stupid.
  - `daki-daki` lazy/in the way.
  - `majarr` lazy/no good for hunting or working, used of dogs and people.
  - `majamal-majamal` bossy.
  - `nguju-wuri-y` fool/play around; surface `nguju-wuri`.
  - `nganjay` no good.
  - `kuli-baka` always fighting/angry; `kuli-ji` angry/wild/fierce/vicious.
- Truth, lying, shame, and guilt:
  - `manubaja` truth; `manubaja-bunga-l` believe.
  - `jurril` lie/untruth; `warmbiji-y` lie/prevaricate; `warmbiji-bama` liar.
  - `mala-yirrkay` admit/confess/tell the truth.
  - `milka-murruji` ashamed/guilty; `murru-kaday` become ashamed/shy; `murru-kaday-manil` shame someone.
- Other bounded states:
  - `minday` tame/quiet/not afraid/confident.
  - `wawumal` agree; `wawurr-wawurr` willing/glad; `wawurr-wawurr-bunga-l` make happy/glad.
  - `mukul` old, `warru` young man, `baja-burray` tired, `waymbul-ku` slowly.

## Construction Decisions

- Rows 1-15 train knowledge, ability, and `mala-` expert compounds.
- Rows 16-27 train stupid/lazy/bossy/fool-around/no-good/always-angry terms.
- Rows 28-41 train truth, lying, confession, shame/guilt, contentment, agreement, willingness, and make-happy.
- Rows 42-50 train tame/fierce/young/old/tired source-bounded status terms.

## Rejected Or Risk-Controlled Forms

- Duplicate preflight rejected exact already accepted source examples:
  - `Ngayu binal dama-nka.`
  - `Jalbu binal balji wukurri-nka.`
  - `Karrkay-karrkay nyiku binal-kari kuku-ku.`
  - `Ngamu-ngku karrkay binal-bungan mayi waju-nku.`
  - `Karrkay-ngku manubaja balkan.`
  - `Dingkar-angka jurril balkan.`
  - `Karrkay warmbijin.`
  - `Karrkay-ngku ngamu manubaja-bungan.`
  - `Jalbu milka-murruji.`
  - `Karrkay murru-kadan.`
- Replacements keep the same construction but vary participant or object: `Ngali binal dama-nka`, `Karrkay binal
  balji wukurri-nka`, `Babi-ngka karrkay binal-bungan mayi waju-nku`, `Babi-ngka manubaja balkan`, and so on.
- Before banking, four transitive rows were tightened for academic-linguist rigor: `mala-minya`, `mala-kuyu`,
  `mala-burri`, and `mukul-jalbu` were given ERG case when acting as transitive A. Duplicate preflight found no
  existing accepted rows for those tighter surfaces.
- `majarr`, not stale `manjarr`, is the lazy/no-good-at-work spelling.
- `wunbu-kari` is not used for lazy; errata says it only survives where an already accepted row truly means lazy.
- `wawu-mumbu` is not used for jealousy/worry; the emotion batch already supplies the correct forms.
- `bikirr` is not used as a shame noun; the source forms are `murru-kaday` and `milka-murruji`.
- `ngawuya` appears in Patz and earlier rows, but this batch uses corpus-normalized `ngawiya` in new turtle rows.
- Cook/burn past is `wajun`, not `wajan`.
- No broad English "personality", "respect", "permission", or "authority" rows are introduced.

## Verification And Closeout

Planned commands from the corpus root:

```text
python3 -m py_compile batch_scripts/bank_147.py batch_scripts/close_147.py
python3 batch_scripts/bank_147.py
python3 lint_corpus.py
python3 batch_scripts/close_147.py
python3 lint_corpus.py
python3 export_training.py
```

Pre-bank duplicate scan found one duplicate in the final 50 after the larger source-example rejection pass:

- `Karrkay-karrkay nyiku binal-kari kuku-ku.` duplicated Batch 140; replaced with `Karrkay nyiku binal-kari kuku-ku.`

Actual verification will be appended below during execution.

## Actual Verification

Executed from the corpus root on 2026-07-07:

```text
python3 -m py_compile batch_scripts/bank_147.py batch_scripts/close_147.py
```

Result: clean compile.

```text
python3 batch_scripts/bank_147.py
```

Result: `banked batch-147: 50 rows under_review; avg Kuku words/row=2.96`.

```text
python3 lint_corpus.py
```

Under-review result:

```text
lint: 7447 rows scanned, 0 issues flagged
GOAL METRIC: 7397 / 20000 verified sentences  (89098 Kuku words)
```

The accepted count correctly remained at 7,397 before close because Batch 147 rows were still `under_review`.

```text
python3 batch_scripts/close_147.py
```

Result:

```text
closed batch-147: 50 accepted rows, 250 review passes, 15 lessons, 25 lexeme/source-log rows, 7 process events, verified corpus=7447
```

Post-close database verification:

```text
accepted/revised=7447
under_review=0
rejected=0
batch-147 rows=50
batch-147 accepted/revised=50
batch-147 under_review=0
batch-147 review rows=250
```

Post-close lint:

```text
lint: 7447 rows scanned, 0 issues flagged
GOAL METRIC: 7447 / 20000 verified sentences  (89246 Kuku words)
```

Export refresh:

```text
Exported 7447 rows
train=6238
dev=600
synthtest=609
top constructions: ergative=1723, negation=1619, purposive=1391, subordinate=1096, ablative=967
```

Structured process ledger rows written for Batch 147: source pass, scope/risk controls, bank success, row inventory,
under-review lint, five-lens pass, close success, post-close lint, and export refresh. A live-doc verification event
will be appended after the public docs are rendered and checked.

## Live Books

Updated source books:

- `reports/KUKU-YALANJI-CORPUS-OPERATOR-GUIDE.md`: 7,447 / 20,000, Rules 1-105, Rule 106 handoff, `bank_148.py`,
  `close_148.py`.
- `reports/kuku-yalanji-mega-grammar-cheatsheet-2026-07-02.md`: added Rule 105 human-quality lexical section.
- `reports/kuku-yalanji-dictionary-errata-2026-07-02.md`: added Batch-147 errata/watchlist section.

Rendered command:

```text
./render-docs.sh
```

Rendered outputs:

```text
operator-guide.html
sample-pages.html
grammar-cheatsheet.html
dictionary-errata.html
index.html
raw .md files copied alongside
```

Local HTTPS route verification with `--resolve mobtranslate.com:443:127.0.0.1`:

```text
/docs -> 301 /docs/
/docs/ -> 200
/docs/operator-guide.html -> 200
/docs/sample-pages.html -> 200
/docs/grammar-cheatsheet.html -> 200
/docs/dictionary-errata.html -> 200
/docs/operator-guide.md -> 200
/docs/sample-pages.md -> 200
/docs/grammar-cheatsheet.md -> 200
/docs/dictionary-errata.md -> 200
```

Public route verification at `https://mobtranslate.com/docs/`:

```text
/docs -> 301 /docs/
/docs/ -> 200
all four HTML docs -> 200
all four raw .md docs -> 200
```

Public body markers verified:

```text
operator HTML: 7,447 / 20,000; Rule 106 - manner adverbs
operator MD: bank_148.py
grammar HTML: Mala-minya-ngku ngawiya daman
grammar MD: Lint GREEN 7447
errata HTML: Batch-147
errata MD: Lazy/no-good forms; majarr, not manjarr; Lint GREEN 7447
```

Structured live-doc verification recorded as `process_event` 75.
