# process_events

batch_label: batch-325
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: total=16347; train=13710; dev=1321; synthtest=1316
artifact_path: export/
created_at: 2026-07-09T17:47:27Z
detail:
Refreshed training export after Batch 325 close; export now contains all 16,347 accepted/revised rows.


batch_label: batch-325
phase: docs
event_type: source-books-updated
actor: claude-main
output_excerpt: source books contain Batch 325 / Rule 283 markers and no stale Batch 324 current-handoff markers
artifact_path: ../../reports/
created_at: 2026-07-09T17:51:09Z
detail:
Updated the living source books for Batch 325 / Rule 283: operator guide, sample production pages, grammar cheatsheet, and dictionary errata now report 16,347 verified sentences, Rule 283 evidence, traps, export split, and Rule 284 handoff.


batch_label: batch-325
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks over public-docs
artifact_path: public-docs/
created_at: 2026-07-09T17:51:44Z
detail:
Rendered public-docs from the living source books and verified local HTML/raw markdown markers for Batch 325 / Rule 283, 16,347 verified, examples, and Rule 284 handoff.

output_excerpt:
operator/sample/grammar/dictionary local docs contain Batch 325 markers; stale operator/sample current-handoff markers absent


batch_label: batch-325
phase: docs
event_type: live-docs-verified
actor: claude-main
command: curl status checks and marker rg over fetched https://mobtranslate.com/docs/* documents
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T17:52:11Z
detail:
Verified live mobtranslate.com docs after Batch 325: /docs redirects to /docs/, index plus all four HTML pages and all four raw markdown files return 200, and live pages contain Batch 325 / Rule 283 markers and examples.

output_excerpt:
/docs 301 -> /docs/; /docs/, operator-guide, sample-pages, grammar-cheatsheet, dictionary-errata HTML and markdown all 200; live marker checks passed


batch_label: batch-325
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count audit; wc -l export/*.jsonl
artifact_path: synthetic.db
created_at: 2026-07-09T17:52:38Z
detail:
Final Batch 325 audit passed: lint green over 16,347 rows, no under_review rows, 50 accepted batch rows, 250 reviews, 36 lessons, 18 lexeme/source-log rows, and export total 16,347.

output_excerpt:
verified_total=16347; under_review=0; batch325_accepted=50; batch325_reviews=250; batch325_lessons=36; batch325_lexeme_logs=18; export_total=16347


batch_label: batch-325
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T17:53:07Z
detail:
Finalized the Batch 325 process log with bank/readback/lint/close/export/docs/live-doc/final-audit closeout and event continuity through final-audit-green.

command:
apply_patch process_logs/batch-325-visible-sky-celestial-nonsingular-complementary-past-pronoun-perception-after-rule282-process.md

output_excerpt:
Closeout appended; Batch 325 events continuous from 3128 source-readback through 3145 final-audit-green, with this event recording log finalization.


batch_label: batch-326
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T18:00:08Z
detail:
Reread dictionary source lines for final visible sky/celestial targets, including kija as visible moon and wungar as the ngurrban replacement, and Patz non-singular pronoun, demonstrative, and nyaji-l nonpast support before authoring.

artifact_path:
process_logs/batch-326-visible-sky-celestial-nonsingular-nonpast-pronoun-perception-after-rule283-process.md


batch_label: batch-326
phase: planning
event_type: debt-sweep-scope
actor: claude-main
created_at: 2026-07-09T18:00:08Z
detail:
Selected a visible sky/celestial non-singular nonpast pronoun perception sweep after Rule 283. Initial ngurrban candidate was rejected after Batch 195 duplicate pressure; sourced wungar sun fills the final slot.

artifact_path:
process_logs/batch-326-visible-sky-celestial-nonsingular-nonpast-pronoun-perception-after-rule283-process.md


batch_label: batch-326
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T18:00:08Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'balbay': 28, 'binyu': 11, 'dawar': 67, 'jiri': 96, 'kaba': 248, 'kija': 96, 'wungar': 654, 'kurrinkurrin': 15, 'kurrubijal': 28, 'yiril': 30}; support={'ngali': 323, 'ngaliny': 265, 'yubal': 275, 'yurra': 280, 'jana': 943, 'yaluy': 2922, 'yinyay': 3214, 'nyajil': 3047}.

artifact_path:
process_logs/batch-326-visible-sky-celestial-nonsingular-nonpast-pronoun-perception-after-rule283-process.md


batch_label: batch-326
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T18:00:08Z
detail:
Initial target set with ngurrban found duplicate Jana ngurrban yinyay nyajil. from Batch 195; final 50 Rule 284 surfaces with wungar and kija returned no accepted, revised, or under-review collisions.


batch_label: batch-326
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_326.py
created_at: 2026-07-09T18:00:08Z
detail:
Static guard passed: 50 rows, one target each, bare non-singular nominative pronouns, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no ngurrban/place-story/death-omen/strike/weather-event/time-compound drift.

command:
python3 -m py_compile batch_scripts/bank_326.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_326; print(bank_326.scan_static())"


batch_label: batch-326
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_326.py
output_excerpt: banked batch-326: 50 rows under_review; verified_before=16347; kuku_words_before=120747
created_at: 2026-07-09T18:00:08Z
detail:
Banked 50 Rule 284 rows as under_review. Verified total remains 16347; Kuku word count remains 120747.


batch_label: batch-326
phase: readback
event_type: sqlite-row-readback
actor: claude-main
output_excerpt: 50 rows under_review; collisions_after_bank=0
created_at: 2026-07-09T18:00:36Z
detail:
Read back all 50 stored Batch 326 rows from SQLite after banking; every row matched the planned non-singular pronoun-target-demonstrative-nyajil frame and remained under_review before close. Post-bank duplicate scan returned zero collisions.

command:
sqlite3 synthetic.db SELECT seq,kuku,english,status,words_used FROM sentences WHERE batch_id=326 ORDER BY seq; duplicate collision scan


batch_label: batch-326
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T18:02:39Z
detail:
After banking, lint scanned 16397 rows and found 0 issues; verified total remained 16347 before close.

output_excerpt:
lint: 16397 rows scanned, 0 issues flagged; GOAL METRIC: 16347 / 20000 verified sentences (120747 Kuku words)


batch_label: batch-326
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T18:02:39Z
detail:
Manual five-lens review passed all 50 Rule 284 rows. Morphology checked bare sky/celestial nouns, bare nominative ngali/ngaliny/yubal/yurra/jana, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible sky/celestial senses only, with binyu/jiri/kaba/kija/wungar/yiril source-prose extensions closed. Syntax checked five non-singular nonpast pronoun-perception frame bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-326
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T18:02:39Z
detail:
Final review retained no ngurrban duplicate, month/place-story, lightning strike, death-spirit/death-omen, heaven/sky-mob/fine-day compound, rain falling/coming/no-rain/rainbird/weather-event, sun-time/hot-season/sun-locative, rainbow story/snake/water-hole, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, support inflection, or recent water/landform/fauna/body/dwelling/fire drift.


batch_label: batch-326
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T18:02:39Z
detail:
Inserted 35 Rule 284 lessons covering source checks, duplicate avoidance, nonpast perception support, sky/celestial scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-326
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_326.py
created_at: 2026-07-09T18:02:39Z
detail:
Closed Batch 326 / Rule 284 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16347->16397; Kuku words moved 120747->120947.

output_excerpt:
closed batch-326: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16347->16397, kuku_words 120747->120947


batch_label: batch-326
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: total=16397; train=13752; dev=1327; synthtest=1318
artifact_path: export/
created_at: 2026-07-09T18:03:06Z
detail:
Refreshed training export after Batch 326 close; export now contains all 16,397 accepted/revised rows.


batch_label: batch-326
phase: publication
event_type: source-books-updated
actor: codex
command: rg current/stale markers across four reports
output_excerpt: current markers present; stale Batch 325 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09 18:08:11
detail:
Updated all four living source books for Batch 326 / Rule 284 at 16,397 verified sentences; operator and sample handoff now point to Rule 285 with bank_327.py and close_327.py; dictionary errata appended the Batch 326 duplicate rejection, target ledger, support forms, and exclusion traps.


batch_label: batch-326
phase: publication
event_type: render-local
actor: codex
command: ./render-docs.sh; rg rendered markers and stale markers
output_excerpt: rendered four HTML docs plus index; marker checks green
artifact_path: public-docs/
created_at: 2026-07-09 18:08:44
detail:
Ran render-docs.sh and verified public-docs HTML/Markdown carry Batch 326 / Rule 284 markers, examples, and Rule 285 handoff; stale Batch 325 handoff markers absent from rendered operator/sample files; index links all HTML and raw Markdown documents.


batch_label: batch-326
phase: publication
event_type: live-docs-verified
actor: codex
command: urllib status and marker checks against https://mobtranslate.com/docs/
output_excerpt: /docs 301; /docs/ and all doc HTML/MD 200; live markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09 18:09:27
detail:
Verified mobtranslate.com live docs after Batch 326 render: /docs redirects 301 to /docs/; index plus four HTML pages and four raw Markdown files all return 200; live content carries 16,397, Batch 326 / Rule 284, batch-326 examples, and Rule 285 handoff markers.


batch_label: batch-326
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite DB audit; wc -l export/*.jsonl
output_excerpt: lint green; DB counts match; exports total 16,397
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09 18:09:52
detail:
Final Batch 326 audit green: lint scanned 16,397 rows with 0 issues; verified_total 16,397; under_review 0; batch326 accepted 50; reviews 250; lessons 35; lexeme logs 18; export line counts train/dev/synthtest 13,752/1,327/1,318 totaling 16,397.


batch_label: batch-326
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: closeout appended after execution checklist
created_at: 2026-07-09 18:10:22
detail:
Appended Batch 326 closeout to the process log with bank, readback, lint, close, export, source-book, render, live-docs, and final-audit evidence.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-326-visible-sky-celestial-nonsingular-nonpast-pronoun-perception-after-rule283-process.md


batch_label: batch-327
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T18:18:05Z
detail:
Reread dictionary source lines for final visible artefact/tool targets: badur 256-268, balji 963-974, balur 1154-1170, kaljan 12560-12568, dajal 4499-4509, dakilji 4665-4676, jidi 8842-8851, jindal 9423-9433, jundi 10846-10857, karra 13534-13544. Reread Patz pronoun, non-singular, demonstrative, and nyaji-ny past support before authoring.

artifact_path:
process_logs/batch-327-visible-artefact-tool-nonsingular-past-pronoun-perception-after-rule284-process.md


batch_label: batch-327
phase: planning
event_type: lexical-field-scope
actor: claude-main
created_at: 2026-07-09T18:18:05Z
detail:
Selected a fresh visible artefact/tool lexical-field audit after Rule 284 because the original phantom watchlist is resolved. Initial birungubay candidate was rejected after Batch 231 duplicate pressure; sourced kaljan outrigger canoe fills the slot.

artifact_path:
process_logs/batch-327-visible-artefact-tool-nonsingular-past-pronoun-perception-after-rule284-process.md


batch_label: batch-327
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T18:18:05Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'badur': 45, 'balji': 194, 'balur': 33, 'kaljan': 3, 'dajal': 0, 'dakilji': 5, 'jidi': 13, 'jindal': 2, 'jundi': 7, 'karra': 103}; support={'ngali': 333, 'ngaliny': 275, 'yubal': 285, 'yurra': 290, 'jana': 953, 'yaluy': 2942, 'yinyay': 3244, 'nyajin': 400}.

artifact_path:
process_logs/batch-327-visible-artefact-tool-nonsingular-past-pronoun-perception-after-rule284-process.md


batch_label: batch-327
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T18:18:05Z
detail:
Initial target set with birungubay found duplicate Jana birungubay yinyay nyajin. from Batch 231; final 50 Rule 285 surfaces with kaljan returned no accepted, revised, or under-review collisions.


batch_label: batch-327
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_327.py
created_at: 2026-07-09T18:18:05Z
detail:
Static guard passed: 50 rows, one target each, bare non-singular nominative pronouns, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, no fishing/making/canoe-travel/spear-action/fire/use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_327.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_327; print(bank_327.scan_static())"


batch_label: batch-327
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_327.py
output_excerpt: banked batch-327: 50 rows under_review; verified_before=16397; kuku_words_before=120947
created_at: 2026-07-09T18:18:05Z
detail:
Banked 50 Rule 285 rows as under_review. Verified total remains 16397; Kuku word count remains 120947.


batch_label: batch-327
phase: bank
event_type: sqlite-row-readback
actor: codex
command: sqlite3 readback plus duplicate scan
output_excerpt: 50 rows matched; duplicate scan returned 0 rows
created_at: 2026-07-09 18:18:33
detail:
Read back all 50 Batch 327 under-review rows from SQLite after banking; seq, Kuku, English, and analysis matched the planned artefact/tool past perception ledger, and a cross-batch duplicate query returned no Batch 327 collisions.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-327-visible-artefact-tool-nonsingular-past-pronoun-perception-after-rule284-process.md


batch_label: batch-327
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T18:20:31Z
detail:
After banking, lint scanned 16447 rows and found 0 issues; verified total remained 16397 before close.

output_excerpt:
lint: 16447 rows scanned, 0 issues flagged; GOAL METRIC: 16397 / 20000 verified sentences (120947 Kuku words)


batch_label: batch-327
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T18:20:31Z
detail:
Manual five-lens review passed all 50 Rule 285 rows. Morphology checked bare artefact/tool nouns, bare nominative ngali/ngaliny/yubal/yurra/jana, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible artefact/tool senses only, with badur fishing, balji making/material, balur weapon-use, kaljan travel, dajal action, jidi fire, jindal bite, jundi use, and karra tying extensions closed. Syntax checked five non-singular past pronoun-perception frame bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-327
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T18:20:31Z
detail:
Final review retained no birungubay duplicate, fishing, making, material-source, canoe travel, rowing/paddling, spear throwing, fighting, biting, sharpening/rubbing, tying, fire/burning, post-contact loan object, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, support inflection, or recent water/landform/sky/fire/fauna/body/dwelling drift.


batch_label: batch-327
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T18:20:31Z
detail:
Inserted 36 Rule 285 lessons covering source checks, duplicate avoidance, past perception support, artefact/tool scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-327
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_327.py
created_at: 2026-07-09T18:20:31Z
detail:
Closed Batch 327 / Rule 285 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16397->16447; Kuku words moved 120947->121147.

output_excerpt:
closed batch-327: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16397->16447, kuku_words 120947->121147


batch_label: batch-327
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py
output_excerpt: Exported 16447 rows; train 13791; dev 1332; synthtest 1324
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09 18:21:02
detail:
Refreshed training export after Batch 327 close at 16,447 verified rows: train 13,791; dev 1,332; synthtest 1,324.


batch_label: batch-327
phase: publication
event_type: source-books-updated
actor: codex
command: rg current/stale markers across four reports
output_excerpt: current Batch 327 markers present; stale Batch 326 handoff markers absent from operator/sample
artifact_path: reports/
created_at: 2026-07-09 18:24:12
detail:
Updated all four living source books for Batch 327 / Rule 285 at 16,447 verified sentences; operator and sample handoff now point to Rule 286 with bank_328.py and close_328.py; grammar cheatsheet and dictionary errata appended artefact/tool duplicate rejection, target ledger, support forms, and exclusion traps.


batch_label: batch-327
phase: publication
event_type: render-local
actor: codex
command: ./render-docs.sh; rg rendered markers and stale markers
output_excerpt: rendered four HTML docs plus index; marker checks green
artifact_path: public-docs/
created_at: 2026-07-09 18:24:50
detail:
Ran render-docs.sh and verified public-docs HTML/Markdown carry Batch 327 / Rule 285 markers, examples, and Rule 286 handoff; stale Batch 326 handoff markers absent from rendered operator/sample files; index links all HTML and raw Markdown documents.


batch_label: batch-327
phase: publication
event_type: live-docs-verified
actor: codex
command: urllib status and marker checks against https://mobtranslate.com/docs/
output_excerpt: /docs 301; /docs/ and all doc HTML/MD 200; live markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09 18:25:31
detail:
Verified mobtranslate.com live docs after Batch 327 render: /docs redirects 301 to /docs/; index plus four HTML pages and four raw Markdown files all return 200; live content carries 16,447, Batch 327 / Rule 285, batch-327 examples, and Rule 286 handoff markers.


batch_label: batch-327
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite DB audit; wc -l export/*.jsonl
output_excerpt: lint green; DB counts match; exports total 16,447
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09 18:25:58
detail:
Final Batch 327 audit green: lint scanned 16,447 rows with 0 issues; verified_total 16,447; under_review 0; batch327 accepted 50; reviews 250; lessons 36; lexeme logs 18; export line counts train/dev/synthtest 13,791/1,332/1,324 totaling 16,447.


batch_label: batch-327
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: closeout appended after execution checklist
created_at: 2026-07-09 18:26:23
detail:
Appended Batch 327 closeout to the process log with bank, readback, lint, close, export, source-book, render, live-docs, and final-audit evidence.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-327-visible-artefact-tool-nonsingular-past-pronoun-perception-after-rule284-process.md


batch_label: batch-328
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T18:31:50Z
detail:
Reread dictionary source lines for final visible artefact/tool targets: badur 256-268, balji 963-974, balur 1154-1170, kaljan 12560-12568, dajal 4499-4509, dakilji 4665-4676, jidi 8842-8851, jindal 9423-9433, jundi 10846-10857, karra 13534-13544. Reread Patz pronoun, non-singular, demonstrative, and nyaji-l nonpast support before authoring.

artifact_path:
process_logs/batch-328-visible-artefact-tool-nonsingular-nonpast-pronoun-perception-after-rule285-process.md


batch_label: batch-328
phase: planning
event_type: construction-consolidation-scope
actor: claude-main
created_at: 2026-07-09T18:31:50Z
detail:
Selected a justified nonpast consolidation of the Rule 285 visible artefact/tool field. Rule 286 inherits the final kaljan replacement target set and does not reopen birungubay after Batch 231 duplicate pressure.

artifact_path:
process_logs/batch-328-visible-artefact-tool-nonsingular-nonpast-pronoun-perception-after-rule285-process.md


batch_label: batch-328
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T18:31:50Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'badur': 50, 'balji': 199, 'balur': 38, 'kaljan': 8, 'dajal': 5, 'dakilji': 10, 'jidi': 18, 'jindal': 7, 'jundi': 12, 'karra': 108}; support={'ngali': 343, 'ngaliny': 285, 'yubal': 295, 'yurra': 300, 'jana': 963, 'yaluy': 2962, 'yinyay': 3274, 'nyajil': 3097}.

artifact_path:
process_logs/batch-328-visible-artefact-tool-nonsingular-nonpast-pronoun-perception-after-rule285-process.md


batch_label: batch-328
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T18:31:50Z
detail:
Final 50 Rule 286 nonpast surfaces over the Rule 285 artefact/tool target set returned no accepted, revised, or under-review collisions. Birungubay remains excluded by prior duplicate pressure.


batch_label: batch-328
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_328.py
created_at: 2026-07-09T18:31:50Z
detail:
Static guard passed: 50 rows, one target each, bare non-singular nominative pronouns, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no fishing/making/canoe-travel/spear-action/fire/use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_328.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_328; print(bank_328.scan_static())"


batch_label: batch-328
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_328.py
output_excerpt: banked batch-328: 50 rows under_review; verified_before=16447; kuku_words_before=121147
created_at: 2026-07-09T18:31:50Z
detail:
Banked 50 Rule 286 rows as under_review. Verified total remains 16447; Kuku word count remains 121147.


batch_label: batch-328
phase: bank
event_type: sqlite-row-readback
actor: codex
command: sqlite3 readback plus duplicate scan
output_excerpt: 50 rows matched; duplicate scan returned 0 rows
created_at: 2026-07-09 18:32:16
detail:
Read back all 50 Batch 328 under-review rows from SQLite after banking; seq, Kuku, English, and analysis matched the planned artefact/tool nonpast perception ledger, and a cross-batch duplicate query returned no Batch 328 collisions.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-328-visible-artefact-tool-nonsingular-nonpast-pronoun-perception-after-rule285-process.md


batch_label: batch-328
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T18:34:17Z
detail:
After banking, lint scanned 16497 rows and found 0 issues; verified total remained 16447 before close.

output_excerpt:
lint: 16497 rows scanned, 0 issues flagged; GOAL METRIC: 16447 / 20000 verified sentences (121147 Kuku words)


batch_label: batch-328
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T18:34:17Z
detail:
Manual five-lens review passed all 50 Rule 286 rows. Morphology checked bare artefact/tool nouns, bare nominative ngali/ngaliny/yubal/yurra/jana, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible artefact/tool senses only, with badur fishing, balji making/material, balur weapon-use, kaljan travel, dajal action, jidi fire, jindal bite, jundi use, and karra tying extensions closed. Syntax checked five non-singular nonpast pronoun-perception frame bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-328
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T18:34:17Z
detail:
Final review retained no birungubay duplicate, fishing, making, material-source, canoe travel, rowing/paddling, spear throwing, fighting, biting, sharpening/rubbing, tying, fire/burning, post-contact loan object, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, support inflection, or recent water/landform/sky/fire/fauna/body/dwelling drift.


batch_label: batch-328
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T18:34:17Z
detail:
Inserted 36 Rule 286 lessons covering source checks, duplicate avoidance, nonpast perception support, artefact/tool scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-328
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_328.py
created_at: 2026-07-09T18:34:17Z
detail:
Closed Batch 328 / Rule 286 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16447->16497; Kuku words moved 121147->121347.

output_excerpt:
closed batch-328: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16447->16497, kuku_words 121147->121347


batch_label: batch-328
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py
output_excerpt: Exported 16497 rows; train 13828; dev 1342; synthtest 1327
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09 18:34:51
detail:
Refreshed training export after Batch 328 close at 16,497 verified rows: train 13,828; dev 1,342; synthtest 1,327.


batch_label: batch-328
phase: publication
event_type: source-books-updated
actor: codex
command: rg current/stale markers across four reports
output_excerpt: current Batch 328 markers present; stale Batch 327 handoff markers absent from operator/sample
artifact_path: reports/
created_at: 2026-07-09 18:37:37
detail:
Updated all four living source books for Batch 328 / Rule 286 at 16,497 verified sentences; operator and sample handoff now point to Rule 287 with bank_329.py and close_329.py; grammar cheatsheet and dictionary errata appended artefact/tool nonpast consolidation, target ledger, support forms, and exclusion traps.


batch_label: batch-328
phase: publication
event_type: render-local
actor: codex
command: ./render-docs.sh; rg rendered markers and stale markers
output_excerpt: rendered four HTML docs plus index; marker checks green
artifact_path: public-docs/
created_at: 2026-07-09 18:38:15
detail:
Ran render-docs.sh and verified public-docs HTML/Markdown carry Batch 328 / Rule 286 markers, examples, and Rule 287 handoff; stale Batch 327 handoff markers absent from rendered operator/sample files; index links all HTML and raw Markdown documents.


batch_label: batch-328
phase: publication
event_type: live-docs-verified
actor: codex
command: urllib status and marker checks against https://mobtranslate.com/docs/
output_excerpt: /docs 301; /docs/ and all doc HTML/MD 200; live markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09 18:39:01
detail:
Verified mobtranslate.com live docs after Batch 328 render: /docs redirects 301 to /docs/; index plus four HTML pages and four raw Markdown files all return 200; live content carries 16,497, Batch 328 / Rule 286, batch-328 examples, and Rule 287 handoff markers.


batch_label: batch-328
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite DB audit; wc -l export/*.jsonl
output_excerpt: lint green; DB counts match; exports total 16,497
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09 18:39:31
detail:
Final Batch 328 audit green: lint scanned 16,497 rows with 0 issues; verified_total 16,497; under_review 0; batch328 accepted 50; reviews 250; lessons 36; lexeme logs 18; export line counts train/dev/synthtest 13,828/1,342/1,327 totaling 16,497.


batch_label: batch-328
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: closeout appended after execution checklist
created_at: 2026-07-09 18:40:01
detail:
Appended Batch 328 closeout to the process log with bank, readback, lint, close, export, source-book, render, live-docs, and final-audit evidence.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-328-visible-artefact-tool-nonsingular-nonpast-pronoun-perception-after-rule285-process.md


batch_label: batch-329
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T18:46:21Z
detail:
Reread dictionary source lines for visible artefact/tool targets and Patz pronoun, non-singular, demonstrative, and nyaji-l nonpast support before authoring Rule 287.

artifact_path:
process_logs/batch-329-visible-artefact-tool-nonsingular-complementary-nonpast-pronoun-perception-after-rule286-process.md


batch_label: batch-329
phase: planning
event_type: construction-consolidation-scope
actor: claude-main
created_at: 2026-07-09T18:46:21Z
detail:
Selected complementary nonpast consolidation of the Rule 286 visible artefact/tool field: Ngali/Yubal/Jana move to yaluy and Ngaliny/Yurra move to yinyay. Birungubay remains excluded.

artifact_path:
process_logs/batch-329-visible-artefact-tool-nonsingular-complementary-nonpast-pronoun-perception-after-rule286-process.md


batch_label: batch-329
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T18:46:21Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'badur': 55, 'balji': 204, 'balur': 43, 'kaljan': 13, 'dajal': 10, 'dakilji': 15, 'jidi': 23, 'jindal': 12, 'jundi': 17, 'karra': 113}; support={'ngali': 353, 'ngaliny': 295, 'yubal': 305, 'yurra': 310, 'jana': 973, 'yaluy': 2982, 'yinyay': 3304, 'nyajil': 3147}.

artifact_path:
process_logs/batch-329-visible-artefact-tool-nonsingular-complementary-nonpast-pronoun-perception-after-rule286-process.md


batch_label: batch-329
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T18:46:21Z
detail:
Final 50 Rule 287 complementary nonpast surfaces over the Rule 286 artefact/tool target set returned no accepted, revised, or under-review collisions.


batch_label: batch-329
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_329.py
created_at: 2026-07-09T18:46:21Z
detail:
Static guard passed: 50 rows, one target each, complementary bare non-singular nominative pronoun/demonstrative bands, final nyajil, no loans, no denied Kuku forms, no fishing/making/canoe-travel/spear-action/fire/use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_329.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_329; print(bank_329.scan_static())"


batch_label: batch-329
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_329.py
output_excerpt: banked batch-329: 50 rows under_review; verified_before=16497; kuku_words_before=121347
created_at: 2026-07-09T18:46:21Z
detail:
Banked 50 Rule 287 rows as under_review. Verified total remains 16497; Kuku word count remains 121347.


batch_label: batch-329
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db row readback; duplicate scan; python3 lint_corpus.py
artifact_path: synthetic.db
created_at: 2026-07-09T18:46:51Z
detail:
Read back all 50 Batch 329 under_review rows from SQLite after banking; duplicate Kuku surface scan over non-rejected rows returned no collisions; lint scanned 16,547 rows with 0 issues while verified count remained 16,497.

output_excerpt:
batch-329 rows=50 under_review=50; duplicate scan empty; lint: 16547 rows scanned, 0 issues flagged; GOAL METRIC: 16497 / 20000


batch_label: batch-329
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T18:49:13Z
detail:
After banking, lint scanned 16547 rows and found 0 issues; verified total remained 16497 before close.

output_excerpt:
lint: 16547 rows scanned, 0 issues flagged; GOAL METRIC: 16497 / 20000 verified sentences (121347 Kuku words)


batch_label: batch-329
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T18:49:13Z
detail:
Manual five-lens review passed all 50 Rule 287 rows. Morphology checked bare artefact/tool nouns, bare nominative ngali/ngaliny/yubal/yurra/jana, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible artefact/tool senses only, with badur fishing, balji making/material, balur weapon-use, kaljan travel, dajal action, jidi fire, jindal bite, jundi use, and karra tying extensions closed. Syntax checked five complementary non-singular nonpast pronoun-perception frame bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-329
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T18:49:13Z
detail:
Inserted 36 Rule 287 lessons covering source checks, duplicate avoidance, complementary nonpast perception support, artefact/tool scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-329
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_329.py
created_at: 2026-07-09T18:49:13Z
detail:
Closed Batch 329 / Rule 287 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16497->16547; Kuku words moved 121347->121547.

output_excerpt:
closed batch-329: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16497->16547, kuku_words 121347->121547


batch_label: batch-329
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py; wc -l export/*.jsonl
output_excerpt: Exported 16547 rows; train=13872 dev=1345 synthtest=1330
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T18:49:55Z
detail:
Refreshed training export after Batch 329 close: 16,547 rows total; train 13,872, dev 1,345, synthtest 1,330.


batch_label: batch-329
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 328 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T18:53:56Z
detail:
Updated the four living source books after Batch 329: operator guide now shows 16,547 / 20,000, Rules 1-287, Batch 329 / Rule 287, Rule 288 handoff, bank_330.py and close_330.py; sample pages show batch-329 examples; grammar cheatsheet and dictionary errata append Rule 287/Batch 329 sections with counts, frames, traps, and export split 13,872/1,345/1,330.


batch_label: batch-329
phase: publication
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks
artifact_path: public-docs/
created_at: 2026-07-09T18:55:12Z
detail:
Rendered local docs after Batch 329 and verified generated Markdown/HTML markers: 16,547, Batch 329, Rule 287, batch-329, representative examples, and index links for all four HTML pages plus four raw Markdown files. Stale Batch 328 handoff markers absent from operator/sample rendered files.

output_excerpt:
rendered operator-guide, sample-pages, grammar-cheatsheet, dictionary-errata; rendered md/html markers OK; index links OK; stale markers absent


batch_label: batch-329
phase: publication
event_type: live-docs-verified
actor: claude-main
command: curl status checks and live marker checks against https://mobtranslate.com/docs/
output_excerpt: /docs 301; /docs/ and all doc HTML/MD 200; live md/html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T18:55:50Z
detail:
Verified mobtranslate.com live docs after Batch 329 render: /docs redirects 301 to /docs/; index plus four HTML pages and four raw Markdown files all return 200; live content carries 16,547, Batch 329 / Rule 287, batch-329 examples, and Rule 288 handoff markers.


batch_label: batch-329
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite DB audit; wc -l export/*.jsonl; duplicate scan
output_excerpt: lint green; DB counts match; exports total 16,547; duplicate scan empty
artifact_path: synthetic.db
created_at: 2026-07-09T18:56:33Z
detail:
Final Batch 329 audit green: lint scanned 16,547 rows with 0 issues; verified_total 16,547; under_review 0; remaining_to_20000 3,453; batch329 accepted 50; reviews 250; lessons 36; lexeme logs 18; export line counts train/dev/synthtest 13,872/1,345/1,330 totaling 16,547; duplicate scan empty.


batch_label: batch-329
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: closeout appended after execution checklist; final count 16,547; remaining 3,453
created_at: 2026-07-09T18:57:12Z
detail:
Appended Batch 329 closeout to the process log with bank, readback, lint, close, export, source-book, render, live-docs, final-audit, event-range, and handoff evidence.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-329-visible-artefact-tool-nonsingular-complementary-nonpast-pronoun-perception-after-rule286-process.md


batch_label: batch-330
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T19:02:57Z
detail:
Reread dictionary source lines for visible artefact/tool targets and Patz pronoun, non-singular, demonstrative, and nyaji-ny past support before authoring Rule 288.

artifact_path:
process_logs/batch-330-visible-artefact-tool-nonsingular-complementary-past-pronoun-perception-after-rule287-process.md


batch_label: batch-330
phase: planning
event_type: construction-consolidation-scope
actor: claude-main
created_at: 2026-07-09T19:02:57Z
detail:
Selected complementary past consolidation of the Rule 287 visible artefact/tool field: Ngali/Yubal/Jana remain yaluy and Ngaliny/Yurra remain yinyay, now with past nyajin. Birungubay remains excluded.

artifact_path:
process_logs/batch-330-visible-artefact-tool-nonsingular-complementary-past-pronoun-perception-after-rule287-process.md


batch_label: batch-330
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T19:02:57Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'badur': 60, 'balji': 209, 'balur': 48, 'kaljan': 18, 'dajal': 15, 'dakilji': 20, 'jidi': 28, 'jindal': 17, 'jundi': 22, 'karra': 118}; support={'ngali': 363, 'ngaliny': 305, 'yubal': 315, 'yurra': 320, 'jana': 983, 'yaluy': 3012, 'yinyay': 3324, 'nyajin': 450}.

artifact_path:
process_logs/batch-330-visible-artefact-tool-nonsingular-complementary-past-pronoun-perception-after-rule287-process.md


batch_label: batch-330
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T19:02:57Z
detail:
Final 50 Rule 288 complementary past surfaces over the Rule 285-287 artefact/tool target set returned no accepted, revised, or under-review collisions.


batch_label: batch-330
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_330.py
created_at: 2026-07-09T19:02:57Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, complementary bare non-singular nominative pronoun/demonstrative bands, final nyajin, no loans, no denied Kuku forms, no fishing/making/canoe-travel/spear-action/fire/use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_330.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_330; print(bank_330.scan_static())"


batch_label: batch-330
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_330.py
output_excerpt: banked batch-330: 50 rows under_review; verified_before=16547; kuku_words_before=121547
created_at: 2026-07-09T19:02:57Z
detail:
Banked 50 Rule 288 rows as under_review. Verified total remains 16547; Kuku word count remains 121547.


batch_label: batch-330
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db row readback; duplicate scan; python3 lint_corpus.py
artifact_path: synthetic.db
created_at: 2026-07-09T19:03:33Z
detail:
Read back all 50 Batch 330 under_review rows from SQLite after banking; duplicate Kuku surface scan over non-rejected rows returned no collisions; lint scanned 16,597 rows with 0 issues while verified count remained 16,547.

output_excerpt:
batch-330 rows=50 under_review=50; duplicate scan empty; lint: 16597 rows scanned, 0 issues flagged; GOAL METRIC: 16547 / 20000


batch_label: batch-330
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T19:05:31Z
detail:
After banking, lint scanned 16597 rows and found 0 issues; verified total remained 16547 before close.

output_excerpt:
lint: 16597 rows scanned, 0 issues flagged; GOAL METRIC: 16547 / 20000 verified sentences (121547 Kuku words)


batch_label: batch-330
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T19:05:31Z
detail:
Manual five-lens review passed all 50 Rule 288 rows. Morphology checked bare artefact/tool nouns, bare nominative ngali/ngaliny/yubal/yurra/jana, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible artefact/tool senses only, with badur fishing, balji making/material, balur weapon-use, kaljan travel, dajal action, jidi fire, jindal bite, jundi use, and karra tying extensions closed. Syntax checked five complementary non-singular past pronoun-perception frame bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-330
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T19:05:31Z
detail:
Inserted 36 Rule 288 lessons covering source checks, duplicate avoidance, complementary past perception support, artefact/tool scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-330
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_330.py
created_at: 2026-07-09T19:05:31Z
detail:
Closed Batch 330 / Rule 288 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16547->16597; Kuku words moved 121547->121747.

output_excerpt:
closed batch-330: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16547->16597, kuku_words 121547->121747


batch_label: batch-330
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py; wc -l export/*.jsonl
output_excerpt: Exported 16597 rows; train=13911 dev=1351 synthtest=1335
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T19:06:09Z
detail:
Refreshed training export after Batch 330 close: 16,597 rows total; train 13,911, dev 1,351, synthtest 1,335.


batch_label: batch-330
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 329 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T19:09:06Z
detail:
Updated the four living source books after Batch 330: operator guide now shows 16,597 / 20,000, Rules 1-288, Batch 330 / Rule 288, Rule 289 handoff, bank_331.py and close_331.py; sample pages show batch-330 examples; grammar cheatsheet and dictionary errata append Rule 288/Batch 330 sections with counts, frames, traps, and export split 13,911/1,351/1,335.


batch_label: batch-330
phase: publication
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks
artifact_path: public-docs/
created_at: 2026-07-09T19:09:55Z
detail:
Rendered local docs after Batch 330 and verified generated Markdown/HTML markers: 16,597, Batch 330, Rule 288, batch-330, representative examples, and index links for all four HTML pages plus four raw Markdown files. Stale Batch 329 handoff markers absent from operator/sample rendered files.

output_excerpt:
rendered operator-guide, sample-pages, grammar-cheatsheet, dictionary-errata; rendered md/html markers OK; index links OK; stale markers absent


batch_label: batch-330
phase: publication
event_type: live-docs-verified
actor: claude-main
command: curl status checks and live marker checks against https://mobtranslate.com/docs/
output_excerpt: /docs 301; /docs/ and all doc HTML/MD 200; live md/html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T19:10:24Z
detail:
Verified mobtranslate.com live docs after Batch 330 render: /docs redirects 301 to /docs/; index plus four HTML pages and four raw Markdown files all return 200; live content carries 16,597, Batch 330 / Rule 288, batch-330 examples, and Rule 289 handoff markers.


batch_label: batch-330
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite DB audit; wc -l export/*.jsonl; duplicate scan
output_excerpt: lint green; DB counts match; exports total 16,597; duplicate scan empty
artifact_path: synthetic.db
created_at: 2026-07-09T19:10:55Z
detail:
Final Batch 330 audit green: lint scanned 16,597 rows with 0 issues; verified_total 16,597; under_review 0; remaining_to_20000 3,403; batch330 accepted 50; reviews 250; lessons 36; lexeme logs 18; export line counts train/dev/synthtest 13,911/1,351/1,335 totaling 16,597; duplicate scan empty.


batch_label: batch-330
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: closeout appended after execution checklist; final count 16,597; remaining 3,403
created_at: 2026-07-09T19:11:29Z
detail:
Appended Batch 330 closeout to the process log with bank, readback, lint, close, export, source-book, render, live-docs, final-audit, event-range, and handoff evidence.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-330-visible-artefact-tool-nonsingular-complementary-past-pronoun-perception-after-rule287-process.md


batch_label: batch-331
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T19:19:26Z
detail:
Reread dictionary source lines for visible traditional weapon/tool targets and Patz pronoun, demonstrative, and nyaji-l nonpast support before authoring Rule 289.

artifact_path:
process_logs/batch-331-visible-traditional-weapon-tool-singular-pronoun-nonpast-perception-after-rule288-process.md


batch_label: batch-331
phase: planning
event_type: lexical-field-scope
actor: claude-main
created_at: 2026-07-09T19:19:26Z
detail:
Selected a fresh visible traditional weapon/tool lexical audit after the Rule 285-288 artefact/tool consolidation cycle. Excluded collided heads durray, jinil, mirru, kurajan, ngurmu, and birungubay, and excluded Nyungkal-labelled biyul.

artifact_path:
process_logs/batch-331-visible-traditional-weapon-tool-singular-pronoun-nonpast-perception-after-rule288-process.md


batch_label: batch-331
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T19:19:26Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bangkal': 94, 'kurrajan': 8, 'dara': 12, 'jaba': 29, 'kunjuri': 37, 'nambarr': 7, 'wangal': 52, 'manbir': 0, 'wakay': 1, 'wulburr': 1}; support={'ngayu': 1211, 'yundu': 807, 'nyulu': 482, 'bula': 278, 'jana': 993, 'yaluy': 3042, 'yinyay': 3344, 'nyajil': 3197}.

artifact_path:
process_logs/batch-331-visible-traditional-weapon-tool-singular-pronoun-nonpast-perception-after-rule288-process.md


batch_label: batch-331
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T19:19:26Z
detail:
Final 50 Rule 289 weapon/tool surfaces returned no accepted, revised, or under-review collisions after replacing collided prior Batch 231/232 heads and Nyungkal-labelled biyul.


batch_label: batch-331
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_331.py
created_at: 2026-07-09T19:19:26Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative pronoun/demonstrative bands, final nyajil, no loans, no denied Kuku forms, no cooking/turtle/fire/nose-piercing/weapon-use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_331.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_331; print(bank_331.scan_static())"


batch_label: batch-331
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_331.py
output_excerpt: banked batch-331: 50 rows under_review; verified_before=16597; kuku_words_before=121747
created_at: 2026-07-09T19:19:26Z
detail:
Banked 50 Rule 289 rows as under_review. Verified total remains 16597; Kuku word count remains 121747.


batch_label: batch-331
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db row readback; duplicate scan; python3 lint_corpus.py
artifact_path: synthetic.db
created_at: 2026-07-09T19:20:04Z
detail:
Read back all 50 Batch 331 under_review rows from SQLite after banking; duplicate Kuku surface scan over non-rejected rows returned no collisions; lint scanned 16,647 rows with 0 issues while verified count remained 16,597.

output_excerpt:
batch-331 rows=50 under_review=50; duplicate scan empty; lint: 16647 rows scanned, 0 issues flagged; GOAL METRIC: 16597 / 20000


batch_label: batch-331
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T19:22:04Z
detail:
After banking, lint scanned 16647 rows and found 0 issues; verified total remained 16597 before close.

output_excerpt:
lint: 16647 rows scanned, 0 issues flagged; GOAL METRIC: 16597 / 20000 verified sentences (121747 Kuku words)


batch_label: batch-331
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T19:22:04Z
detail:
Manual five-lens review passed all 50 Rule 289 rows. Morphology checked bare traditional weapon/tool nouns, bare nominative ngayu/yundu/nyulu/bula/jana, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with bangkal cooking/vine, kurrajan turtle/fire/piercing, dara/wulburr use/source, jaba sapling/post/horn, kunjuri defence/use, nambarr nose-piercing, wangal throwing/hunting, manbir injury/use, and wakay fighting/cutting extensions closed. Syntax checked five pronoun-perception frame bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-331
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T19:22:04Z
detail:
Final review retained no collided durray/jinil/mirru/kurajan/ngurmu/birungubay heads, Nyungkal biyul, cooking, earth-oven/vine source, turtle spearing, fire-hardening, nose-piercing, weapon use, throwing, hunting, fighting, piercing, cutting, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, support inflection, or recent water/landform/sky/fire/fauna/body/dwelling drift.


batch_label: batch-331
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T19:22:04Z
detail:
Inserted 36 Rule 289 lessons covering source checks, dialect restraint, duplicate avoidance, lexical field scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-331
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_331.py
created_at: 2026-07-09T19:22:04Z
detail:
Closed Batch 331 / Rule 289 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16597->16647; Kuku words moved 121747->121947.

output_excerpt:
closed batch-331: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16597->16647, kuku_words 121747->121947


batch_label: batch-331
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py; wc -l export/*.jsonl
output_excerpt: Exported 16647 rows; train=13954 dev=1356 synthtest=1337
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T19:22:44Z
detail:
Refreshed training export after Batch 331 close: 16,647 rows total; train 13,954, dev 1,356, synthtest 1,337.


batch_label: batch-331
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 330 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T19:28:25Z
detail:
Updated the four living source books after Batch 331: operator guide shows 16,647 / 20,000, Rules 1-289, Batch 331 / Rule 289, Rule 290 handoff, bank_332.py and close_332.py; sample pages show batch-331 examples; grammar cheatsheet and dictionary errata append Rule 289 / Batch 331 sections with counts, frames, traps, and export split 13,954/1,356/1,337.


batch_label: batch-331
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks over public-docs/*.md and public-docs/*.html
output_excerpt: md markers OK; html markers OK; index links OK; stale Batch 330 handoff markers absent
artifact_path: public-docs/
created_at: 2026-07-09T19:29:03Z
detail:
Rendered public-docs after Batch 331 and verified generated Markdown, HTML, and index links contain 16,647, Batch 331, Rule 289, process tag batch-331, and the five representative weapon/tool perception examples; stale Batch 330 handoff markers are absent from rendered operator/sample docs.


batch_label: batch-331
phase: documentation
event_type: live-docs-verified
actor: claude-main
output_excerpt: /docs -> 301 /docs/; index/html/md URLs -> 200; live md markers OK; live html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T19:29:31Z
detail:
Verified live mobtranslate.com docs after Batch 331 render: /docs 301-redirects to /docs/; /docs/ and all four rendered HTML pages plus four raw Markdown sources return 200; live served Markdown and HTML contain 16,647, Batch 331, batch-331, Rule 289 on Markdown, and the five representative weapon/tool perception examples.

command:
curl status checks for /docs and document URLs; curl -fsSL live pages; rg marker checks over downloaded live docs


batch_label: batch-331
phase: audit
event_type: final-audit-green
actor: claude-main
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T19:30:19Z
detail:
Final Batch 331 audit green after live docs verification: lint scanned 16,647 rows with 0 issues; verified_total=16,647, under_review=0, remaining_to_20k=3,353; Batch 331 has 50 verified rows, 250 five-lens review rows, 36 lessons, and 18 lexeme-log decisions; export files total 16,647 rows with train/dev/synthtest split 13,954/1,356/1,337; duplicate exact Kuku+English scan returned no rows.

command:
python3 lint_corpus.py; sqlite3 reconciliation queries; wc -l export/*.jsonl; duplicate GROUP BY scan

output_excerpt:
lint: 16647 rows scanned, 0 issues flagged; GOAL METRIC 16647 / 20000; exports total 16647; duplicate scan empty


batch_label: batch-331
phase: documentation
event_type: process-log-finalized
actor: claude-main
command: apply_patch process log closeout; process_ledger.py --event-type process-log-finalized
created_at: 2026-07-09T19:30:54Z
detail:
Finalized Batch 331 process log with command evidence, counts, export split, rendered/live docs verification, process-event range 3242..3259, and handoff from 16,647 / 20,000 with 3,353 remaining.

output_excerpt:
process log closeout appended; handoff says continue from 16,647 / 20,000 and Rule 290 requires fresh source pass

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-331-visible-traditional-weapon-tool-singular-pronoun-nonpast-perception-after-rule288-process.md


batch_label: batch-332
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T19:37:44Z
detail:
Reread dictionary source lines for visible traditional weapon/tool targets and Patz pronoun, demonstrative, nyaji-ny past, and general past -ny support before authoring Rule 290.

artifact_path:
process_logs/batch-332-visible-traditional-weapon-tool-singular-pronoun-past-perception-after-rule289-process.md


batch_label: batch-332
phase: planning
event_type: lexical-field-scope
actor: claude-main
created_at: 2026-07-09T19:37:44Z
detail:
Selected the past-tense counterpart to Rule 289's visible traditional weapon/tool lexical audit. Reused only the ten already source-checked Yalanji-safe heads and did not open weapon-use, cooking, material-source, turtle, fire-hardening, nose-piercing, throwing, hunting, fighting, piercing, cutting, or case/compound semantics.

artifact_path:
process_logs/batch-332-visible-traditional-weapon-tool-singular-pronoun-past-perception-after-rule289-process.md


batch_label: batch-332
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T19:37:44Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bangkal': 99, 'kurrajan': 13, 'dara': 17, 'jaba': 34, 'kunjuri': 42, 'nambarr': 12, 'wangal': 57, 'manbir': 5, 'wakay': 6, 'wulburr': 6}; support={'ngayu': 1221, 'yundu': 817, 'nyulu': 492, 'bula': 288, 'jana': 1003, 'yaluy': 3072, 'yinyay': 3364, 'nyajin': 500}.

artifact_path:
process_logs/batch-332-visible-traditional-weapon-tool-singular-pronoun-past-perception-after-rule289-process.md


batch_label: batch-332
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T19:37:44Z
detail:
Final 50 Rule 290 weapon/tool past-perception surfaces returned no accepted, revised, or under-review collisions; planned forms are the Rule 289 target set with sourced past nyajin only.


batch_label: batch-332
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_332.py
created_at: 2026-07-09T19:37:44Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative pronoun/demonstrative bands, final nyajin, no loans, no denied Kuku forms, no cooking/turtle/fire/nose-piercing/weapon-use/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_332.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_332; print(bank_332.scan_static())"


batch_label: batch-332
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_332.py
output_excerpt: banked batch-332: 50 rows under_review; verified_before=16647; kuku_words_before=121947
created_at: 2026-07-09T19:37:44Z
detail:
Banked 50 Rule 290 rows as under_review. Verified total remains 16647; Kuku word count remains 121947.


batch_label: batch-332
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db batch-332 row readback; duplicate GROUP BY scan
artifact_path: synthetic.db
created_at: 2026-07-09T19:38:11Z
detail:
Read back all 50 Batch 332 rows from SQLite after banking: status under_review for seq 1-50, frames preserve bare pronoun + target + yaluy/yinyay + nyajin, and exact Kuku+English duplicate scan returned no rows.

output_excerpt:
batch-332 under_review=50; duplicate scan empty; lint: 16697 rows scanned, 0 issues flagged; verified goal metric remained 16647 / 20000 before close


batch_label: batch-332
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T19:38:12Z
detail:
After banking, lint scanned 16697 rows and found 0 issues; verified total remained 16647 before close.

output_excerpt:
lint: 16697 rows scanned, 0 issues flagged; GOAL METRIC: 16647 / 20000 verified sentences (121947 Kuku words)


batch_label: batch-332
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T19:38:12Z
detail:
Manual five-lens review passed all 50 Rule 290 rows. Morphology checked bare traditional weapon/tool noun objects, bare nominative ngayu/yundu/nyulu/bula/jana, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with bangkal cooking/vine, kurrajan turtle/fire/piercing, dara/wulburr use/source, jaba sapling/post/horn, kunjuri defence/use, nambarr nose-piercing, wangal throwing/hunting, manbir injury/use, and wakay fighting/cutting extensions closed. Syntax checked five pronoun-past-perception frame bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-332
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T19:38:12Z
detail:
Final review retained no collided durray/jinil/mirru/kurajan/ngurmu/birungubay heads, Nyungkal biyul, cooking, earth-oven/vine source, turtle spearing, fire-hardening, nose-piercing, weapon use, throwing, hunting, fighting, piercing, cutting, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, support inflection, or recent water/landform/sky/fire/fauna/body/dwelling drift.


batch_label: batch-332
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T19:38:12Z
detail:
Inserted 36 Rule 290 lessons covering source checks, dialect restraint, duplicate avoidance, tense scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-332
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_332.py
created_at: 2026-07-09T19:38:12Z
detail:
Closed Batch 332 / Rule 290 with 50 accepted rows, 250 review passes, 36 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16647->16697; Kuku words moved 121947->122147.

output_excerpt:
closed batch-332: accepted=50, reviews=250, lessons=36, lexeme_logs=18, verified 16647->16697, kuku_words 121947->122147


batch_label: batch-332
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 16697 rows; train 13998; dev 1358; synthtest 1341; total 16697
artifact_path: export/
created_at: 2026-07-09T19:38:49Z
detail:
Refreshed training export after Batch 332 close: 16,697 rows total with train/dev/synthtest split 13,998/1,358/1,341; post-close lint was green at 16,697 verified sentences and 122,147 Kuku words.


batch_label: batch-332
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 331 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T19:41:46Z
detail:
Updated the four living source books after Batch 332: operator guide shows 16,697 / 20,000, Rules 1-290, Batch 332 / Rule 290, Rule 291 handoff, bank_333.py and close_333.py; sample pages show batch-332 examples; grammar cheatsheet and dictionary errata append Rule 290 / Batch 332 sections with counts, frames, traps, and export split 13,998/1,358/1,341.


batch_label: batch-332
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks over public-docs/*.md and public-docs/*.html
output_excerpt: md markers OK; html markers OK; index links OK; stale Batch 331 handoff markers absent
artifact_path: public-docs/
created_at: 2026-07-09T19:42:22Z
detail:
Rendered public-docs after Batch 332 and verified generated Markdown, HTML, and index links contain 16,697, Batch 332, Rule 290, process tag batch-332, and the five representative past weapon/tool perception examples; stale Batch 331 handoff markers are absent from rendered operator/sample docs.


batch_label: batch-332
phase: documentation
event_type: live-docs-verified
actor: claude-main
output_excerpt: /docs -> 301 /docs/; index/html/md URLs -> 200; live md markers OK; live html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T19:43:08Z
detail:
Verified live mobtranslate.com docs after Batch 332 render: /docs 301-redirects to /docs/; /docs/ and all four rendered HTML pages plus four raw Markdown sources return 200; live served Markdown and HTML contain 16,697, Batch 332, batch-332, Rule 290 on Markdown, and the five representative weapon/tool past perception examples.

command:
curl status checks for /docs and document URLs; curl -fsSL live pages; rg marker checks over downloaded live docs


batch_label: batch-332
phase: audit
event_type: final-audit-green
actor: claude-main
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T19:43:37Z
detail:
Final Batch 332 audit green after live docs verification: lint scanned 16,697 rows with 0 issues; verified_total=16,697, under_review=0, remaining_to_20k=3,303; Batch 332 has 50 verified rows, 250 five-lens review rows, 36 lessons, and 18 lexeme-log decisions; export files total 16,697 rows with train/dev/synthtest split 13,998/1,358/1,341; duplicate exact Kuku+English scan returned no rows; process-event range 3261..3277 was continuous before final-audit event.

command:
python3 lint_corpus.py; sqlite3 reconciliation queries; wc -l export/*.jsonl; duplicate GROUP BY scan; process-event continuity query

output_excerpt:
lint: 16697 rows scanned, 0 issues flagged; GOAL METRIC 16697 / 20000; exports total 16697; duplicate scan empty; event range 3261..3277 count=17 continuous=1


batch_label: batch-332
phase: documentation
event_type: process-log-finalized
actor: claude-main
command: apply_patch process log closeout; process_ledger.py --event-type process-log-finalized
created_at: 2026-07-09T19:44:13Z
detail:
Finalized Batch 332 process log with command evidence, counts, export split, rendered/live docs verification, process-event range 3261..3278, and handoff from 16,697 / 20,000 with 3,303 remaining.

output_excerpt:
process log closeout appended; handoff says continue from 16,697 / 20,000 and Rule 291 requires fresh source pass

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-332-visible-traditional-weapon-tool-singular-pronoun-past-perception-after-rule289-process.md


batch_label: batch-333
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T19:52:11Z
detail:
Reread dictionary source lines for five lower-count visible traditional weapon/tool targets and Patz pronoun, demonstrative, and nyaji-l nonpast support before authoring Rule 291.

artifact_path:
process_logs/batch-333-low-count-traditional-weapon-tool-pronoun-nonpast-perception-after-rule290-process.md


batch_label: batch-333
phase: planning
event_type: pronoun-coverage-scope
actor: claude-main
created_at: 2026-07-09T19:52:11Z
detail:
Selected a ten-pronoun nonpast perception coverage consolidation over the five lowest-count Rule 289/290 weapon/tool targets. The batch alternates local demonstratives to avoid prior singular/third surfaces and does not open weapon-use or source-prose semantics.

artifact_path:
process_logs/batch-333-low-count-traditional-weapon-tool-pronoun-nonpast-perception-after-rule290-process.md


batch_label: batch-333
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T19:52:11Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'kurrajan': 18, 'nambarr': 17, 'manbir': 10, 'wakay': 11, 'wulburr': 11}; support={'ngayu': 1231, 'yundu': 827, 'nyulu': 502, 'ngali': 373, 'ngaliny': 315, 'yubal': 325, 'bula': 298, 'nganjin': 228, 'ngana': 895, 'yurra': 330, 'yaluy': 3102, 'yinyay': 3384, 'nyajil': 3247}.

artifact_path:
process_logs/batch-333-low-count-traditional-weapon-tool-pronoun-nonpast-perception-after-rule290-process.md


batch_label: batch-333
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T19:52:11Z
detail:
Final 50 Rule 291 low-count weapon/tool ten-pronoun nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-333
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_333.py
created_at: 2026-07-09T19:52:11Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no weapon-use/source-prose/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_333.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_333; print(bank_333.scan_static())"


batch_label: batch-333
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_333.py
output_excerpt: banked batch-333: 50 rows under_review; verified_before=16697; kuku_words_before=122147
created_at: 2026-07-09T19:52:11Z
detail:
Banked 50 Rule 291 rows as under_review. Verified total remains 16697; Kuku word count remains 122147.


batch_label: batch-333
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db batch-333 row readback; duplicate GROUP BY scan
artifact_path: synthetic.db
created_at: 2026-07-09T19:52:37Z
detail:
Read back all 50 Batch 333 rows from SQLite after banking: status under_review for seq 1-50, frames preserve bare pronoun + low-count target + yaluy/yinyay + nyajil, and exact Kuku+English duplicate scan returned no rows.

output_excerpt:
batch-333 under_review=50; duplicate scan empty; lint: 16747 rows scanned, 0 issues flagged; verified goal metric remained 16697 / 20000 before close


batch_label: batch-333
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T19:52:37Z
detail:
After banking, lint scanned 16747 rows and found 0 issues; verified total remained 16697 before close.

output_excerpt:
lint: 16747 rows scanned, 0 issues flagged; GOAL METRIC: 16697 / 20000 verified sentences (122147 Kuku words)


batch_label: batch-333
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T19:52:37Z
detail:
Manual five-lens review passed all 50 Rule 291 rows. Morphology checked bare low-count weapon/tool noun objects, ten bare nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with kurrajan turtle/fire/piercing, nambarr nose-piercing, manbir injury/use, wakay fighting/cutting, and wulburr spear-use/source extensions closed. Syntax checked ten pronoun-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-333
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T19:52:37Z
detail:
Inserted 35 Rule 291 lessons covering source checks, low-count target scope, duplicate avoidance, pronoun coverage, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-333
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_333.py
created_at: 2026-07-09T19:52:37Z
detail:
Closed Batch 333 / Rule 291 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16697->16747; Kuku words moved 122147->122347.

output_excerpt:
closed batch-333: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16697->16747, kuku_words 122147->122347


batch_label: batch-333
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 16747 rows; train 14041; dev 1362; synthtest 1344; total 16747
artifact_path: export/
created_at: 2026-07-09T19:53:12Z
detail:
Refreshed training export after Batch 333 close: 16,747 rows total with train/dev/synthtest split 14,041/1,362/1,344; post-close lint was green at 16,747 verified sentences and 122,347 Kuku words.


batch_label: batch-333
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 332 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T19:56:02Z
detail:
Updated the four living source books after Batch 333: operator guide shows 16,747 / 20,000, Rules 1-291, Batch 333 / Rule 291, Rule 292 handoff, bank_334.py and close_334.py; sample pages show batch-333 examples; grammar cheatsheet and dictionary errata append Rule 291 / Batch 333 sections with counts, frames, traps, and export split 14,041/1,362/1,344.


batch_label: batch-333
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks over public-docs/*.md and public-docs/*.html
output_excerpt: md markers OK; html markers OK; index links OK; stale Batch 332 handoff markers absent
artifact_path: public-docs/
created_at: 2026-07-09T19:56:38Z
detail:
Rendered public-docs after Batch 333 and verified generated Markdown, HTML, and index links contain 16,747, Batch 333, Rule 291, process tag batch-333, and the five representative low-count pronoun-coverage examples; stale Batch 332 handoff markers are absent from rendered operator/sample docs.


batch_label: batch-333
phase: documentation
event_type: live-docs-verified
actor: claude-main
output_excerpt: /docs -> 301 /docs/; index/html/md URLs -> 200; live md markers OK; live html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T19:57:07Z
detail:
Verified live mobtranslate.com docs after Batch 333 render: /docs 301-redirects to /docs/; /docs/ and all four rendered HTML pages plus four raw Markdown sources return 200; live served Markdown and HTML contain 16,747, Batch 333, batch-333, Rule 291 on Markdown, and the five representative low-count pronoun-coverage examples.

command:
curl status checks for /docs and document URLs; curl -fsSL live pages; rg marker checks over downloaded live docs


batch_label: batch-333
phase: audit
event_type: final-audit-green
actor: claude-main
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T19:57:37Z
detail:
Final Batch 333 audit green after live docs verification: lint scanned 16,747 rows with 0 issues; verified_total=16,747, under_review=0, remaining_to_20k=3,253; Batch 333 has 50 verified rows, 250 five-lens review rows, 35 lessons, and 18 lexeme-log decisions; export files total 16,747 rows with train/dev/synthtest split 14,041/1,362/1,344; duplicate exact Kuku+English scan returned no rows; process-event range 3280..3296 was continuous before final-audit event.

command:
python3 lint_corpus.py; sqlite3 reconciliation queries; wc -l export/*.jsonl; duplicate GROUP BY scan; process-event continuity query

output_excerpt:
lint: 16747 rows scanned, 0 issues flagged; GOAL METRIC 16747 / 20000; exports total 16747; duplicate scan empty; event range 3280..3296 count=17 continuous=1


batch_label: batch-333
phase: documentation
event_type: process-log-finalized
actor: claude-main
command: apply_patch process log closeout; process_ledger.py --event-type process-log-finalized
created_at: 2026-07-09T19:58:08Z
detail:
Finalized Batch 333 process log with command evidence, counts, export split, rendered/live docs verification, process-event range 3280..3297, and handoff from 16,747 / 20,000 with 3,253 remaining.

output_excerpt:
process log closeout appended; handoff says continue from 16,747 / 20,000 and Rule 292 requires fresh source pass

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-333-low-count-traditional-weapon-tool-pronoun-nonpast-perception-after-rule290-process.md


batch_label: batch-334
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T20:05:13Z
detail:
Reread dictionary source lines for five lower-count visible traditional weapon/tool targets and Patz pronoun, demonstrative, nyaji-ny past, and past -ny support before authoring Rule 292.

artifact_path:
process_logs/batch-334-low-count-traditional-weapon-tool-pronoun-past-perception-after-rule291-process.md


batch_label: batch-334
phase: planning
event_type: pronoun-coverage-scope
actor: claude-main
created_at: 2026-07-09T20:05:13Z
detail:
Selected the past-tense counterpart to Rule 291's ten-pronoun nonpast perception coverage over the five lowest-count weapon/tool targets. The batch reuses the zero-collision local-demonstrative pattern and does not open weapon-use or source-prose semantics.

artifact_path:
process_logs/batch-334-low-count-traditional-weapon-tool-pronoun-past-perception-after-rule291-process.md


batch_label: batch-334
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T20:05:13Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'kurrajan': 28, 'nambarr': 27, 'manbir': 20, 'wakay': 21, 'wulburr': 21}; support={'ngayu': 1236, 'yundu': 832, 'nyulu': 507, 'ngali': 378, 'ngaliny': 320, 'yubal': 330, 'bula': 303, 'nganjin': 233, 'ngana': 900, 'yurra': 335, 'yaluy': 3127, 'yinyay': 3409, 'nyajin': 550}.

artifact_path:
process_logs/batch-334-low-count-traditional-weapon-tool-pronoun-past-perception-after-rule291-process.md


batch_label: batch-334
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T20:05:13Z
detail:
Final 50 Rule 292 low-count weapon/tool ten-pronoun past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-334
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_334.py
created_at: 2026-07-09T20:05:13Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no weapon-use/source-prose/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_334.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_334; print(bank_334.scan_static())"


batch_label: batch-334
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_334.py
output_excerpt: banked batch-334: 50 rows under_review; verified_before=16747; kuku_words_before=122347
created_at: 2026-07-09T20:05:13Z
detail:
Banked 50 Rule 292 rows as under_review. Verified total remains 16747; Kuku word count remains 122347.


batch_label: batch-334
phase: audit
event_type: sqlite-row-readback
actor: claude-main
command: sqlite3 synthetic.db batch-334 row readback; duplicate GROUP BY scan
artifact_path: synthetic.db
created_at: 2026-07-09T20:05:39Z
detail:
Read back all 50 Batch 334 rows from SQLite after banking: status under_review for seq 1-50, frames preserve bare pronoun + low-count target + yaluy/yinyay + nyajin, and exact Kuku+English duplicate scan returned no rows.

output_excerpt:
batch-334 under_review=50; duplicate scan empty; lint: 16797 rows scanned, 0 issues flagged; verified goal metric remained 16747 / 20000 before close


batch_label: batch-334
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T20:05:39Z
detail:
After banking, lint scanned 16797 rows and found 0 issues; verified total remained 16747 before close.

output_excerpt:
lint: 16797 rows scanned, 0 issues flagged; GOAL METRIC: 16747 / 20000 verified sentences (122347 Kuku words)


batch_label: batch-334
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T20:05:39Z
detail:
Manual five-lens review passed all 50 Rule 292 rows. Morphology checked bare low-count weapon/tool noun objects, ten bare nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with kurrajan turtle/fire/piercing, nambarr nose-piercing, manbir injury/use, wakay fighting/cutting, and wulburr spear-use/source extensions closed. Syntax checked ten pronoun-past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-334
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T20:05:39Z
detail:
Inserted 35 Rule 292 lessons covering source checks, low-count target scope, duplicate avoidance, tense counterpart scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-334
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_334.py
created_at: 2026-07-09T20:05:39Z
detail:
Closed Batch 334 / Rule 292 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16747->16797; Kuku words moved 122347->122547.

output_excerpt:
closed batch-334: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16747->16797, kuku_words 122347->122547


batch_label: batch-334
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 16797 rows; train 14084; dev 1366; synthtest 1347; total 16797
artifact_path: export/
created_at: 2026-07-09T20:06:12Z
detail:
Refreshed training export after Batch 334 close: 16,797 rows total with train/dev/synthtest split 14,084/1,366/1,347; post-close lint was green at 16,797 verified sentences and 122,547 Kuku words.


batch_label: batch-334
phase: documentation
event_type: source-books-updated
actor: claude-main
command: apply_patch source Markdown; rg marker checks
output_excerpt: source markers OK; stale Batch 333 handoff markers absent
artifact_path: reports/
created_at: 2026-07-09T20:08:58Z
detail:
Updated the four living source books after Batch 334: operator guide shows 16,797 / 20,000, Rules 1-292, Batch 334 / Rule 292, Rule 293 handoff, bank_335.py and close_335.py; sample pages show batch-334 examples; grammar cheatsheet and dictionary errata append Rule 292 / Batch 334 sections with counts, frames, traps, and export split 14,084/1,366/1,347.


batch_label: batch-334
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh; rg marker checks over public-docs/*.md and public-docs/*.html
output_excerpt: md markers OK; html markers OK; index links OK; stale Batch 333 handoff markers absent
artifact_path: public-docs/
created_at: 2026-07-09T20:09:33Z
detail:
Rendered public-docs after Batch 334 and verified generated Markdown, HTML, and index links contain 16,797, Batch 334, Rule 292, process tag batch-334, and the five representative low-count past pronoun-coverage examples; stale Batch 333 handoff markers are absent from rendered operator/sample docs.


batch_label: batch-334
phase: documentation
event_type: live-docs-verified
actor: claude-main
output_excerpt: /docs -> 301 /docs/; index/html/md URLs -> 200; live md markers OK; live html markers OK
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T20:10:03Z
detail:
Verified live mobtranslate.com docs after Batch 334 render: /docs 301-redirects to /docs/; /docs/ and all four rendered HTML pages plus four raw Markdown sources return 200; live served Markdown and HTML contain 16,797, Batch 334, batch-334, Rule 292 on Markdown, and the five representative low-count past pronoun-coverage examples.


batch_label: batch-334
phase: audit
event_type: final-audit-green
actor: claude-main
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T20:10:35Z
detail:
Final Batch 334 audit green after live docs verification: lint scanned 16,797 rows with 0 issues; verified_total=16,797, under_review=0, remaining_to_20k=3,203; Batch 334 has 50 verified rows, 250 five-lens review rows, 35 lessons, and 18 lexeme-log decisions; export files total 16,797 rows with train/dev/synthtest split 14,084/1,366/1,347; duplicate exact Kuku+English scan returned no rows; process-event range 3299..3315 was continuous before final-audit event.

command:
python3 lint_corpus.py; sqlite3 reconciliation queries; wc -l export/*.jsonl; duplicate GROUP BY scan; process-event continuity query

output_excerpt:
lint: 16797 rows scanned, 0 issues flagged; GOAL METRIC 16797 / 20000; exports total 16797; duplicate scan empty; event range 3299..3315 count=17 continuous=1


batch_label: batch-334
phase: documentation
event_type: process-log-finalized
actor: claude-main
command: apply_patch process log closeout; process_ledger.py --event-type process-log-finalized
created_at: 2026-07-09T20:11:08Z
detail:
Finalized Batch 334 process log with command evidence, counts, export split, rendered/live docs verification, process-event range 3299..3316, and handoff from 16,797 / 20,000 with 3,203 remaining.

output_excerpt:
process log closeout appended; handoff says continue from 16,797 / 20,000 and Rule 293 requires fresh source pass

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-334-low-count-traditional-weapon-tool-pronoun-past-perception-after-rule291-process.md


batch_label: batch-335
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T20:22:21Z
detail:
Reread dictionary source lines for ten visible traditional weapon/tool targets and Patz non-singular pronoun, demonstrative, and nyaji-l nonpast support before authoring Rule 293.

artifact_path:
process_logs/batch-335-traditional-weapon-tool-complementary-nonsingular-nonpast-perception-after-rule292-process.md


batch_label: batch-335
phase: planning
event_type: complementary-pronoun-scope
actor: claude-main
created_at: 2026-07-09T20:22:21Z
detail:
Selected complementary local-demonstrative non-singular nonpast perception bands over the Rule 289/290 traditional weapon/tool target set. The batch fills zero-collision ngali, ngaliny, yubal, nganjin, and ngana bands and does not open weapon-use or source-prose semantics.

artifact_path:
process_logs/batch-335-traditional-weapon-tool-complementary-nonsingular-nonpast-perception-after-rule292-process.md


batch_label: batch-335
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T20:22:21Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bangkal': 104, 'kurrajan': 38, 'dara': 22, 'jaba': 39, 'kunjuri': 47, 'nambarr': 37, 'wangal': 62, 'manbir': 30, 'wakay': 31, 'wulburr': 31}; support={'ngali': 383, 'ngaliny': 325, 'yubal': 335, 'nganjin': 238, 'ngana': 905, 'yaluy': 3152, 'yinyay': 3434, 'nyajil': 3297}.

artifact_path:
process_logs/batch-335-traditional-weapon-tool-complementary-nonsingular-nonpast-perception-after-rule292-process.md


batch_label: batch-335
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T20:22:21Z
detail:
Final 50 Rule 293 traditional weapon/tool complementary non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-335
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_335.py
created_at: 2026-07-09T20:22:21Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative non-singular pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no weapon-use/source-prose/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_335.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_335; print(bank_335.scan_static())"


batch_label: batch-335
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_335.py
output_excerpt: banked batch-335: 50 rows under_review; verified_before=16797; kuku_words_before=122547
created_at: 2026-07-09T20:22:21Z
detail:
Banked 50 Rule 293 rows as under_review. Verified total remains 16797; Kuku word count remains 122547.


batch_label: batch-335
phase: bank
event_type: row-readback
actor: claude-main
created_at: 2026-07-09T20:23:02Z
detail:
Read back all 50 Batch 335 rows from SQLite as under_review, sequence 1..50, matching the planned complementary non-singular nonpast weapon/tool perception surfaces.

command:
sqlite3 synthetic.db "SELECT s.seq,s.english,s.kuku,s.status ... WHERE b.label='batch-335' ORDER BY s.seq"

output_excerpt:
50 rows; first=Ngali bangkal yinyay nyajil.; last=Ngana wulburr yinyay nyajil.; statuses=under_review


batch_label: batch-335
phase: preflight
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 synthetic.db "SELECT lower(kuku), lower(english), COUNT(*) ... HAVING COUNT(*)>1"
output_excerpt: no rows
created_at: 2026-07-09T20:23:02Z
detail:
Whole-corpus exact lower(Kuku)+lower(English) duplicate scan after banking Batch 335 returned no non-rejected duplicate rows.


batch_label: batch-335
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T20:23:17Z
detail:
After banking, lint scanned 16847 rows and found 0 issues; verified total remained 16797 before close.

output_excerpt:
lint: 16847 rows scanned, 0 issues flagged; GOAL METRIC: 16797 / 20000 verified sentences (122547 Kuku words)


batch_label: batch-335
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T20:23:17Z
detail:
Manual five-lens review passed all 50 Rule 293 rows. Morphology checked bare traditional weapon/tool noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with cooking/vine/earth-oven, turtle/fire/piercing, nose-piercing, weapon-use, throwing, hunting, fighting, cutting, and material-source extensions closed. Syntax checked five complementary pronoun-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-335
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T20:23:17Z
detail:
Inserted 35 Rule 293 lessons covering source checks, complementary non-singular scope, duplicate avoidance, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-335
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_335.py
created_at: 2026-07-09T20:23:17Z
detail:
Closed Batch 335 / Rule 293 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16797->16847; Kuku words moved 122547->122747.

output_excerpt:
closed batch-335: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16797->16847, kuku_words 122547->122747


batch_label: batch-335
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 16847 rows; train 14126; dev 1371; synthtest 1350; grammar coverage retained.
artifact_path: export/
created_at: 2026-07-09T20:23:53Z
detail:
Refreshed training export after Batch 335 close: 16,847 rows total with train/dev/synthtest split 14,126/1,371/1,350; post-close lint was green at 16,847 verified rows and 122,747 Kuku words.


batch_label: batch-335
phase: documentation
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T20:30:23Z
detail:
Updated the four living source books after Batch 335: operator guide shows 16,847 / 20,000, Rules 1-293, Batch 335 / Rule 293, Rule 294 handoff, bank_336.py and close_336.py; sample pages show batch-335 examples; grammar cheatsheet and dictionary errata append Rule 293 / Batch 335 sections with counts, frames, traps, and export split 14,126/1,371/1,350.


batch_label: batch-335
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: public-docs/
created_at: 2026-07-09T20:30:23Z
detail:
Rendered public-docs after Batch 335 and verified generated Markdown, HTML, and index links contain 16,847, Batch 335, Rule 293, process tag batch-335, bank_336.py/close_336.py handoff, and the five representative complementary non-singular nonpast examples; stale Batch 334 handoff markers are absent from rendered operator/sample docs.

output_excerpt:
rendered operator-guide.html, sample-pages.html, grammar-cheatsheet.html, dictionary-errata.html; wrote index.html; local marker checks passed


batch_label: batch-335
phase: documentation
event_type: live-docs-verified
actor: claude-main
output_excerpt: /docs 301 -> /docs/; all docs endpoints 200; live marker checks passed
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T20:30:23Z
detail:
Verified live mobtranslate.com docs after Batch 335 render: /docs 301-redirects to /docs/; /docs/ and all four rendered HTML pages plus four raw Markdown sources return 200; live served Markdown and HTML contain 16,847, Batch 335, batch-335, Rule 293, bank_336.py/close_336.py on operator guide, and representative Batch 335 examples.

command:
curl -I https://mobtranslate.com/docs; curl https://mobtranslate.com/docs/{operator-guide,sample-pages,grammar-cheatsheet,dictionary-errata}.{html,md}


batch_label: batch-335
phase: audit
event_type: final-audit-green
actor: claude-main
created_at: 2026-07-09T20:30:23Z
detail:
Final Batch 335 audit green after live docs verification: lint scanned 16,847 rows with 0 issues; verified_total=16847, under_review=0, remaining_to_20k=3153; Batch 335 has 50 verified rows, 250 five-lens review rows, 35 lessons, and 18 lexeme-log decisions; export files total 16,847 rows with train/dev/synthtest split 14,126/1,371/1,350; duplicate exact Kuku+English scan returned no rows; process-event range 3318..3335 had 18 events before final-audit event.

command:
python3 lint_corpus.py; sqlite3 synthetic.db audit queries; python3 export_training.py; curl live docs

output_excerpt:
lint: 16847 rows scanned, 0 issues flagged; GOAL METRIC: 16847 / 20000 verified sentences (122747 Kuku words); live marker checks passed


batch_label: batch-335
phase: documentation
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T20:31:12Z
detail:
Finalized Batch 335 process log with command evidence, counts, export split, rendered/live docs verification, process-event range 3318..3336, and handoff from 16,847 / 20,000 with 3,153 remaining.


batch_label: batch-336
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T20:38:42Z
detail:
Reread dictionary source lines for ten visible traditional weapon/tool targets and Patz non-singular pronoun, demonstrative, and nyaji-ny past support before authoring Rule 294.

artifact_path:
process_logs/batch-336-traditional-weapon-tool-complementary-nonsingular-past-perception-after-rule293-process.md


batch_label: batch-336
phase: planning
event_type: past-counterpart-scope
actor: claude-main
created_at: 2026-07-09T20:38:42Z
detail:
Selected the sourced past counterpart to Rule 293's complementary local-demonstrative non-singular nonpast perception bands. The batch fills zero-collision ngali, ngaliny, yubal, nganjin, and ngana bands and does not open weapon-use or source-prose semantics.

artifact_path:
process_logs/batch-336-traditional-weapon-tool-complementary-nonsingular-past-perception-after-rule293-process.md


batch_label: batch-336
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T20:38:42Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bangkal': 109, 'kurrajan': 43, 'dara': 27, 'jaba': 44, 'kunjuri': 52, 'nambarr': 42, 'wangal': 67, 'manbir': 35, 'wakay': 36, 'wulburr': 36}; support={'ngali': 393, 'ngaliny': 335, 'yubal': 345, 'nganjin': 248, 'ngana': 915, 'yaluy': 3172, 'yinyay': 3464, 'nyajin': 600}.

artifact_path:
process_logs/batch-336-traditional-weapon-tool-complementary-nonsingular-past-perception-after-rule293-process.md


batch_label: batch-336
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T20:38:42Z
detail:
Final 50 Rule 294 traditional weapon/tool complementary non-singular past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-336
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_336.py
created_at: 2026-07-09T20:38:42Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative non-singular pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no weapon-use/source-prose/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_336.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_336; print(bank_336.scan_static())"


batch_label: batch-336
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_336.py
output_excerpt: banked batch-336: 50 rows under_review; verified_before=16847; kuku_words_before=122747
created_at: 2026-07-09T20:38:42Z
detail:
Banked 50 Rule 294 rows as under_review. Verified total remains 16847; Kuku word count remains 122747.


batch_label: batch-336
phase: bank
event_type: row-readback
actor: claude-main
created_at: 2026-07-09T20:39:17Z
detail:
Read back all 50 Batch 336 rows from SQLite as under_review, sequence 1..50, matching the planned complementary non-singular past weapon/tool perception surfaces.

command:
sqlite3 synthetic.db "SELECT s.seq,s.english,s.kuku,s.status ... WHERE b.label='batch-336' ORDER BY s.seq"

output_excerpt:
50 rows; first=Ngali bangkal yinyay nyajin.; last=Ngana wulburr yinyay nyajin.; statuses=under_review


batch_label: batch-336
phase: preflight
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 synthetic.db "SELECT lower(kuku), lower(english), COUNT(*) ... HAVING COUNT(*)>1"
output_excerpt: no rows
created_at: 2026-07-09T20:39:17Z
detail:
Whole-corpus exact lower(Kuku)+lower(English) duplicate scan after banking Batch 336 returned no non-rejected duplicate rows.


batch_label: batch-336
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T20:39:23Z
detail:
After banking, lint scanned 16897 rows and found 0 issues; verified total remained 16847 before close.

output_excerpt:
lint: 16897 rows scanned, 0 issues flagged; GOAL METRIC: 16847 / 20000 verified sentences (122747 Kuku words)


batch_label: batch-336
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T20:39:23Z
detail:
Manual five-lens review passed all 50 Rule 294 rows. Morphology checked bare traditional weapon/tool noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with cooking/vine/earth-oven, turtle/fire/piercing, nose-piercing, weapon-use, throwing, hunting, fighting, cutting, and material-source extensions closed. Syntax checked five complementary pronoun-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-336
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T20:39:23Z
detail:
Inserted 35 Rule 294 lessons covering source checks, complementary past scope, duplicate avoidance, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-336
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_336.py
created_at: 2026-07-09T20:39:23Z
detail:
Closed Batch 336 / Rule 294 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16847->16897; Kuku words moved 122747->122947.

output_excerpt:
closed batch-336: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16847->16897, kuku_words 122747->122947


batch_label: batch-336
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 16897 rows; train 14165; dev 1377; synthtest 1355; grammar coverage retained.
artifact_path: export/
created_at: 2026-07-09T20:39:59Z
detail:
Refreshed training export after Batch 336 close: 16,897 rows total with train/dev/synthtest split 14,165/1,377/1,355; post-close lint was green at 16,897 verified rows and 122,947 Kuku words.


batch_label: batch-336
phase: documentation
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T20:46:03Z
detail:
Updated operator guide, sample production pages, grammar cheatsheet, and dictionary errata to Batch 336 / Rule 294: 16,897 verified rows, complementary non-singular past weapon/tool perception examples, Rule 295 handoff, and export split 14,165/1,377/1,355.


batch_label: batch-336
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: public-docs/
created_at: 2026-07-09T20:46:23Z
detail:
Rendered public-docs HTML and raw markdown from the four living books after Batch 336 source-book updates.


batch_label: batch-336
phase: documentation
event_type: live-docs-verified
actor: claude-main
command: curl status and marker checks for https://mobtranslate.com/docs
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T20:47:04Z
detail:
Verified live https://mobtranslate.com/docs after Batch 336 render: /docs 301 redirects to /docs/; landing plus all four HTML and four MD document routes return 200; Batch 336 and 16,897 markers are present; stale Batch 335 handoff markers are absent from live operator/sample docs.

output_excerpt:
/docs -> HTTP/2 301 location: /docs/; all docs HTML/MD routes 200; marker ok for operator/sample/grammar/errata HTML and MD; live stale checks ok


batch_label: batch-336
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 synthetic.db final audit queries
created_at: 2026-07-09T20:47:53Z
detail:
Final Batch 336 audit passed after live docs verification: lint scanned 16,897 rows with 0 issues; verified/under_review/remaining = 16,897/0/3,103; batch rows accepted = 50 seq 1..50; reviews = 250; lessons = 35; lexeme_log action batch-336-verify = 18; exact duplicate scan = 0; process events continuous 3338..3355 before this event.

output_excerpt:
lint: 16897 rows scanned, 0 issues flagged; GOAL METRIC: 16897 / 20000 verified sentences (122947 Kuku words); batch336_rows 50 seq 1..50 accepted 50; reviews 250; lessons 35; lexeme_log 18; duplicates 0; events 3338..3355 continuous


batch_label: batch-336
phase: final-audit
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T20:48:33Z
detail:
Finalized Batch 336 process log with static checks, banking, pre-close lint, row readback, duplicate scan, five-lens close, post-close lint, export split, source-book/render/live-doc verification, final audit, and Rule 295 handoff from 16,897/20,000.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-336-traditional-weapon-tool-complementary-nonsingular-past-perception-after-rule293-process.md


batch_label: batch-337
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T21:01:06Z
detail:
Reread core dictionary-derived lexicon lines 744-759 for ten visible water-fauna targets and Patz pronoun, demonstrative, and nyaji-l nonpast support before authoring Rule 295.

artifact_path:
process_logs/batch-337-visible-water-fauna-singular-third-nonpast-perception-after-rule294-process.md


batch_label: batch-337
phase: planning
event_type: lexical-field-scope
actor: claude-main
created_at: 2026-07-09T21:01:06Z
detail:
Selected a fresh visible water-fauna lexical field after Rule 294. The batch uses singular/third-person nominative pronoun bands and does not open catching, spearing, hunting, cooking, eating, ecology, danger, or source-prose semantics.

artifact_path:
process_logs/batch-337-visible-water-fauna-singular-third-nonpast-perception-after-rule294-process.md


batch_label: batch-337
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T21:01:06Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'ngawiya': 85, 'ngujay': 17, 'kuyu': 431, 'yawu': 26, 'judi': 6, 'ngalkun': 12, 'kubarr': 36, 'kiju': 37, 'wakal': 8, 'julul': 16}; support={'ngayu': 1241, 'yundu': 837, 'nyulu': 512, 'bula': 308, 'jana': 1013, 'yaluy': 3192, 'yinyay': 3494, 'nyajil': 3347}.

artifact_path:
process_logs/batch-337-visible-water-fauna-singular-third-nonpast-perception-after-rule294-process.md


batch_label: batch-337
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T21:01:06Z
detail:
Final 50 Rule 295 visible water-fauna singular/third nonpast surfaces returned no accepted, revised, or under-review collisions after replacing collided yuday, kulil, and nuwi candidates.


batch_label: batch-337
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_337.py
created_at: 2026-07-09T21:01:06Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative singular/third pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no catch/spear/cook/eat/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_337.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_337; print(bank_337.scan_static())"


batch_label: batch-337
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_337.py
output_excerpt: banked batch-337: 50 rows under_review; verified_before=16897; kuku_words_before=122947
created_at: 2026-07-09T21:01:06Z
detail:
Banked 50 Rule 295 rows as under_review. Verified total remains 16897; Kuku word count remains 122947.


batch_label: batch-337
phase: pre-close
event_type: row-readback
actor: claude-main
command: sqlite3 synthetic.db row readback for batch-337
output_excerpt: seq 1 Ngayu ngawiya yaluy nyajil.; seq 50 Jana julul yaluy nyajil.; all 50 under_review
created_at: 2026-07-09T21:01:32Z
detail:
Read back all 50 Batch 337 rows from SQLite as under_review, sequence 1..50, matching the planned visible water-fauna singular/third nonpast perception surfaces.


batch_label: batch-337
phase: pre-close
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 synthetic.db exact duplicate scan
output_excerpt: no rows
created_at: 2026-07-09T21:01:32Z
detail:
Whole-corpus exact lower(Kuku)+lower(English) duplicate scan after banking Batch 337 returned no non-rejected duplicate rows.


batch_label: batch-337
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T21:01:42Z
detail:
After banking, lint scanned 16947 rows and found 0 issues; verified total remained 16897 before close.

output_excerpt:
lint: 16947 rows scanned, 0 issues flagged; GOAL METRIC: 16897 / 20000 verified sentences (122947 Kuku words)


batch_label: batch-337
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T21:01:42Z
detail:
Manual five-lens review passed all 50 Rule 295 rows. Morphology checked bare water-fauna noun objects, five bare nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with catching/spearing/hunting/cooking/eating/danger/ecology closed. Syntax checked five singular/third-person pronoun-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-337
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T21:01:42Z
detail:
Final review retained no yuday/kulil/nuwi collided surfaces, no shark/ray danger extension, no turtle-spearing, hunting, catching, cooking, eating, bait, net, hook, ecology, shore, reef, place/story, colour-property, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-337
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T21:01:42Z
detail:
Inserted 35 Rule 295 lessons covering source checks, collision replacement, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-337
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_337.py
created_at: 2026-07-09T21:01:42Z
detail:
Closed Batch 337 / Rule 295 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16897->16947; Kuku words moved 122947->123147.

output_excerpt:
closed batch-337: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16897->16947, kuku_words 122947->123147


batch_label: batch-337
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 16947 rows; train 14209; dev 1380; synthtest 1358
artifact_path: export/
created_at: 2026-07-09T21:02:12Z
detail:
Refreshed training export after Batch 337 close: 16,947 rows total with train/dev/synthtest split 14,209/1,380/1,358; post-close lint was green at 16,947 verified rows and 123,147 Kuku words.


batch_label: batch-337
phase: documentation
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T21:04:54Z
detail:
Updated operator guide, sample production pages, grammar cheatsheet, and dictionary errata to Batch 337 / Rule 295: 16,947 verified rows, visible water-fauna singular/third nonpast examples, Rule 296 handoff, and export split 14,209/1,380/1,358.


batch_label: batch-337
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: public-docs/
created_at: 2026-07-09T21:05:19Z
detail:
Rendered public-docs HTML and raw markdown from the four living books after Batch 337 source-book updates.


batch_label: batch-337
phase: documentation
event_type: live-docs-verified
actor: claude-main
command: curl status and marker checks for https://mobtranslate.com/docs
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T21:05:56Z
detail:
Verified live https://mobtranslate.com/docs after Batch 337 render: /docs 301 redirects to /docs/; landing plus all four HTML and four MD document routes return 200; Batch 337 and 16,947 markers are present; stale Batch 336 handoff markers are absent from live operator/sample docs.

output_excerpt:
/docs -> HTTP/2 301 location: /docs/; all docs HTML/MD routes 200; marker ok for operator/sample/grammar/errata HTML and MD; live stale checks ok


batch_label: batch-337
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 synthetic.db final audit queries; wc -l export/*.jsonl
created_at: 2026-07-09T21:06:24Z
detail:
Final Batch 337 audit passed after live docs verification: lint scanned 16,947 rows with 0 issues; verified/under_review/remaining = 16,947/0/3,053; Kuku words = 123,147; batch rows accepted = 50 seq 1..50; reviews = 250; lessons = 35; lexeme_log action batch-337-verify = 18; exact duplicate scan = 0; export files sum to 16,947 with train/dev/synthtest 14,209/1,380/1,358; process events continuous 3358..3375 before this event.

output_excerpt:
lint: 16947 rows scanned, 0 issues flagged; GOAL METRIC: 16947 / 20000 verified sentences (123147 Kuku words); rows 50 accepted; reviews 250; lessons 35; lexeme_log 18; duplicates 0; export total 16947; events 3358..3375 continuous


batch_label: batch-337
phase: final-audit
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T21:07:00Z
detail:
Finalized Batch 337 process log with static checks, banking, pre-close lint, row readback, duplicate scan, five-lens close, post-close lint, export split, source-book/render/live-doc verification, final audit, and Rule 296 handoff from 16,947/20,000.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-337-visible-water-fauna-singular-third-nonpast-perception-after-rule294-process.md


batch_label: batch-338
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:19:55Z
detail:
Reread core dictionary-derived lexicon lines 744-759 for ten visible water-fauna targets and Patz pronoun, demonstrative, and nyaji-ny past support before authoring Rule 296.


batch_label: batch-338
phase: planning
event_type: past-counterpart-scope
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:19:55Z
detail:
Selected the sourced past counterpart to Rule 295's visible water-fauna singular/third-person nonpast perception bands. The batch uses the same zero-collision target set and does not open catching, spearing, hunting, cooking, eating, ecology, danger, or source-prose semantics.


batch_label: batch-338
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:19:55Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'ngawiya': 90, 'ngujay': 22, 'kuyu': 436, 'yawu': 31, 'judi': 11, 'ngalkun': 17, 'kubarr': 41, 'kiju': 42, 'wakal': 13, 'julul': 21}; support={'ngayu': 1251, 'yundu': 847, 'nyulu': 522, 'bula': 318, 'jana': 1023, 'yaluy': 3222, 'yinyay': 3514, 'nyajin': 650}.


batch_label: batch-338
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:19:55Z
detail:
Final 50 Rule 296 visible water-fauna singular/third past surfaces returned no accepted, revised, or under-review collisions over the Rule 295 target set.


batch_label: batch-338
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_338.py
created_at: 2026-07-09T21:19:55Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare nominative singular/third pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no catch/spear/cook/eat/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_338.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_338; print(bank_338.scan_static())"


batch_label: batch-338
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_338.py
output_excerpt: banked batch-338: 50 rows under_review; verified_before=16947; kuku_words_before=123147
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:19:55Z
detail:
Banked 50 Rule 296 rows as under_review. Verified total remains 16947; Kuku word count remains 123147.


batch_label: batch-338
phase: review
event_type: row-readback
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:07Z
detail:
Read back all 50 Batch 338 rows as under_review, sequence 1..50, with Kuku surfaces matching the planned nyajin past-perception rows.

command:
sqlite3 synthetic.db "select s.seq, s.english, s.kuku, s.analysis, s.status from sentences s join batches b on b.id=s.batch_id where b.label='batch-338' order by s.seq;"

output_excerpt:
50 rows; seq 1..50; all status under_review; first Ngayu ngawiya yaluy nyajin.; last Jana julul yaluy nyajin.


batch_label: batch-338
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
output_excerpt: 0 duplicate groups
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:07Z
detail:
Whole-corpus exact lower(kuku)+lower(english) duplicate scan returned zero duplicate groups before close.

command:
sqlite3 synthetic.db "select lower(kuku), lower(english), count(*) from sentences where status!='rejected' group by lower(kuku), lower(english) having count(*)>1;"


batch_label: batch-338
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:13Z
detail:
After banking, lint scanned 16997 rows and found 0 issues; verified total remained 16947 before close.

output_excerpt:
lint: 16997 rows scanned, 0 issues flagged; GOAL METRIC: 16947 / 20000 verified sentences (123147 Kuku words)


batch_label: batch-338
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:13Z
detail:
Manual five-lens review passed all 50 Rule 296 rows. Morphology checked bare water-fauna noun objects, five bare nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with catching/spearing/hunting/cooking/eating/danger/ecology closed. Syntax checked five singular/third-person pronoun-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-338
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:13Z
detail:
Inserted 35 Rule 296 lessons covering source checks, collision replacement, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-338
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_338.py
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:21:13Z
detail:
Closed Batch 338 / Rule 296 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16947->16997; Kuku words moved 123147->123347.

output_excerpt:
closed batch-338: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16947->16997, kuku_words 123147->123347


batch_label: batch-338
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T21:25:16Z
detail:
Updated operator guide, sample production pages, grammar cheatsheet, and dictionary errata for Batch 338 / Rule 296: 16997 verified, 123347 Kuku words, export split 14254/1383/1360, Rule 297 handoff.


batch_label: batch-338
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 live urllib verification for https://mobtranslate.com/docs routes
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T21:26:34Z
detail:
Verified live mobtranslate.com docs after Batch 338 render: /docs redirects to /docs/, /docs/ landing links to all four HTML and raw Markdown docs, all four HTML and four Markdown routes return 200 with Batch 338 / Rule 296 / 16997 markers where expected, and stale Batch 337 current-handoff markers are absent from operator/sample docs.

output_excerpt:
/docs 301; /docs/ 200; operator/sample/grammar/errata html 200; operator/sample/grammar/errata md 200; Batch 338 markers present; stale current markers absent.


batch_label: batch-338
phase: audit
event_type: final-audit-green
actor: claude-main
artifact_path: synthetic.db
created_at: 2026-07-09T21:27:28Z
detail:
Final Batch 338 audit green after live-docs verification: lint scanned 16997 rows with 0 issues; verified=16997, under_review=0, remaining=3003, Kuku words=123347; Batch 338 has 50 accepted rows seq 1..50, 250 review rows, 35 lessons, 18 lexeme/source-log rows; exact duplicate scan returned 0 groups; export split is 14254/1383/1360; process events continuous 3378-3395 before this audit event.

command:
python3 lint_corpus.py; sqlite3 synthetic.db final audit queries; wc -l export/train.jsonl export/dev.jsonl export/synthtest.jsonl

output_excerpt:
lint: 16997 rows scanned, 0 issues flagged; GOAL METRIC: 16997 / 20000 verified sentences (123347 Kuku words); verified|under_review|remaining=16997|0|3003; export total 16997; duplicates 0; process events 3378-3395 continuous.


batch_label: batch-338
phase: docs
event_type: process-log-finalized
actor: claude-main
artifact_path: process_logs/batch-338-visible-water-fauna-singular-third-past-perception-after-rule295-process.md
created_at: 2026-07-09T21:28:20Z
detail:
Finalized Batch 338 process log closeout with source, banking, lint, duplicate, close, export, source-book, render, live-docs, and final-audit evidence; handoff now continues from 16997 / 20000 with Rule 297.


batch_label: batch-339
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:38:46Z
detail:
Reread core dictionary-derived lexicon lines 744-759 for ten visible water-fauna targets and Patz pronoun, demonstrative, and nyaji-l nonpast support before authoring Rule 297.


batch_label: batch-339
phase: planning
event_type: nonsingular-nonpast-scope
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:38:46Z
detail:
Selected a sourced non-singular nonpast counterpart to Rules 295-296's visible water-fauna singular/third-person perception bands. The batch uses ngali, ngaliny, yubal, yurra, and ngana and does not open catching, spearing, hunting, cooking, eating, ecology, danger, or source-prose semantics.


batch_label: batch-339
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:38:46Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'ngawiya': 95, 'ngujay': 27, 'kuyu': 441, 'yawu': 36, 'judi': 16, 'ngalkun': 22, 'kubarr': 46, 'kiju': 47, 'wakal': 18, 'julul': 26}; support={'ngali': 403, 'ngaliny': 345, 'yubal': 355, 'yurra': 340, 'ngana': 925, 'yaluy': 3252, 'yinyay': 3534, 'nyajil': 3397}.


batch_label: batch-339
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:38:46Z
detail:
Final 50 Rule 297 visible water-fauna non-singular nonpast surfaces returned no accepted, revised, or under-review collisions over the Rule 295-296 target set.


batch_label: batch-339
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_339.py
created_at: 2026-07-09T21:38:46Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no catch/spear/cook/eat/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_339.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_339; print(bank_339.scan_static())"


batch_label: batch-339
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_339.py
output_excerpt: banked batch-339: 50 rows under_review; verified_before=16997; kuku_words_before=123347
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:38:46Z
detail:
Banked 50 Rule 297 rows as under_review. Verified total remains 16997; Kuku word count remains 123347.


batch_label: batch-339
phase: review
event_type: row-readback-green
actor: claude-main
command: sqlite3 ... "SELECT seq, english, kuku, analysis FROM sentences WHERE batch_id=339 ORDER BY seq;"
output_excerpt: 50 rows read back; first Ngali ngawiya yaluy nyajil.; last Ngana julul yaluy nyajil.
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:45Z
detail:
Read back all 50 under-review Batch 339 rows from sentences ordered by seq; English, Kuku surface, and analysis matched the intended Rule 297 non-singular nonpast water-fauna perception inventory.


batch_label: batch-339
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 ... "SELECT lower(trim(kuku)), COUNT(*) ... HAVING COUNT(*) > 1;"
output_excerpt: 0 duplicate surface groups
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:45Z
detail:
Exact non-rejected surface scan over lower(trim(kuku)) returned no duplicate groups after banking Batch 339.


batch_label: batch-339
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:50Z
detail:
After banking, lint scanned 17047 rows and found 0 issues; verified total remained 16997 before close.

output_excerpt:
lint: 17047 rows scanned, 0 issues flagged; GOAL METRIC: 16997 / 20000 verified sentences (123347 Kuku words)


batch_label: batch-339
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:50Z
detail:
Manual five-lens review passed all 50 Rule 297 rows. Morphology checked bare water-fauna noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with catching/spearing/hunting/cooking/eating/danger/ecology closed. Syntax checked five non-singular pronoun-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-339
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:50Z
detail:
Inserted 35 Rule 297 lessons covering source checks, non-singular scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-339
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_339.py
artifact_path: process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md
created_at: 2026-07-09T21:39:50Z
detail:
Closed Batch 339 / Rule 297 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 16997->17047; Kuku words moved 123347->123547.

output_excerpt:
closed batch-339: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 16997->17047, kuku_words 123347->123547


batch_label: batch-339
phase: docs
event_type: source-books-updated
actor: claude-main
command: apply_patch reports/*.md
artifact_path: reports/
created_at: 2026-07-09T21:43:54Z
detail:
Updated operator guide, sample pages, grammar cheatsheet, and dictionary errata for Batch 339 / Rule 297 at 17,047 verified sentences with export split 14,295/1,387/1,365.

output_excerpt:
Source books now mark Batch 339 / Rule 297 as current handoff; Rule 298 / bank_340.py / close_340.py next.


batch_label: batch-339
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs check
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T21:45:07Z
detail:
Verified live docs on mobtranslate.com after Batch 339 render: /docs 301s to /docs/, /docs/ is 200 with all HTML/MD links, four HTML pages and four raw Markdown pages are 200, Batch 339/Rule 297/17,047 markers are present where expected, and operator/sample current-state stale Batch 338 markers are absent.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator/sample/grammar/dictionary html and md 200; current markers Batch 339 and 17,047 live.


batch_label: batch-339
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 audits; wc -l export/*.jsonl
output_excerpt: lint GREEN; DB 17047 usable, 0 under_review, 2953 remaining; duplicates 0; export total 17047.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T21:46:12Z
detail:
Final Batch 339 audit green: lint 17,047 rows / 0 issues; usable 17,047; under_review 0; remaining 2,953; Kuku words 123,547; batch 339 accepted 50; reviews 250; lessons 35; lexeme logs 18; exact duplicate scan 0 groups; export train/dev/synthtest 14,295/1,387/1,365.


batch_label: batch-339
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout closed 2026-07-09; continue from 17,047 / 20,000 with 2,953 remaining.
created_at: 2026-07-09T21:46:12Z
detail:
Finalized Batch 339 process log closeout and handoff, replacing conditional Pending/If accepted text with completed closeout and Rule 298 handoff.

command:
apply_patch process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-339-visible-water-fauna-nonsingular-nonpast-perception-after-rule296-process.md


batch_label: batch-340
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:53:53Z
detail:
Reread core dictionary-derived lexicon lines 744-759 for ten visible water-fauna targets and Patz pronoun, demonstrative, and nyaji-ny past support before authoring Rule 298.


batch_label: batch-340
phase: planning
event_type: nonsingular-past-scope
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:53:53Z
detail:
Selected a sourced non-singular past counterpart to Rule 297's visible water-fauna non-singular nonpast band and Rules 295-296's singular/third bands. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajin, and does not open catching, spearing, hunting, cooking, eating, ecology, danger, or source-prose semantics.


batch_label: batch-340
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:53:53Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'ngawiya': 100, 'ngujay': 32, 'kuyu': 446, 'yawu': 41, 'judi': 21, 'ngalkun': 27, 'kubarr': 51, 'kiju': 52, 'wakal': 23, 'julul': 31}; support={'ngali': 413, 'ngaliny': 355, 'yubal': 365, 'yurra': 350, 'ngana': 935, 'yaluy': 3282, 'yinyay': 3554, 'nyajin': 700}.


batch_label: batch-340
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:53:53Z
detail:
Final 50 Rule 298 visible water-fauna non-singular past surfaces returned no accepted, revised, or under-review collisions over the Rule 295-297 target set.


batch_label: batch-340
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_340.py
created_at: 2026-07-09T21:53:53Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no catch/spear/cook/eat/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_340.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_340; print(bank_340.scan_static())"


batch_label: batch-340
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_340.py
output_excerpt: banked batch-340: 50 rows under_review; verified_before=17047; kuku_words_before=123547
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:53:53Z
detail:
Banked 50 Rule 298 rows as under_review. Verified total remains 17047; Kuku word count remains 123547.


batch_label: batch-340
phase: review
event_type: row-readback-green
actor: claude-main
command: sqlite3 ... "SELECT seq, english, kuku, analysis FROM sentences WHERE batch_id=340 ORDER BY seq;"
output_excerpt: 50 rows read back; first Ngali ngawiya yaluy nyajin.; last Ngana julul yaluy nyajin.
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:31Z
detail:
Read back all 50 under-review Batch 340 rows from sentences ordered by seq; English, Kuku surface, and analysis matched the intended Rule 298 non-singular past water-fauna perception inventory.


batch_label: batch-340
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 ... "SELECT lower(trim(kuku)), COUNT(*) ... HAVING COUNT(*) > 1;"
output_excerpt: 0 duplicate surface groups
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:31Z
detail:
Exact non-rejected surface scan over lower(trim(kuku)) returned no duplicate groups after banking Batch 340.


batch_label: batch-340
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:37Z
detail:
After banking, lint scanned 17097 rows and found 0 issues; verified total remained 17047 before close.

output_excerpt:
lint: 17097 rows scanned, 0 issues flagged; GOAL METRIC: 17047 / 20000 verified sentences (123547 Kuku words)


batch_label: batch-340
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:37Z
detail:
Manual five-lens review passed all 50 Rule 298 rows. Morphology checked bare water-fauna noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with catching/spearing/hunting/cooking/eating/danger/ecology closed. Syntax checked five non-singular pronoun past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-340
phase: review
event_type: review-detail
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:37Z
detail:
Final review retained no yuday/kulil/nuwi collided surfaces, no shark/ray danger extension, no turtle-spearing, hunting, catching, cooking, eating, bait, net, hook, ecology, shore, reef, place/story, colour-property, target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-340
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:37Z
detail:
Inserted 35 Rule 298 lessons covering source checks, non-singular past scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-340
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_340.py
artifact_path: process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md
created_at: 2026-07-09T21:54:37Z
detail:
Closed Batch 340 / Rule 298 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17047->17097; Kuku words moved 123547->123747.

output_excerpt:
closed batch-340: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17047->17097, kuku_words 123547->123747


batch_label: batch-340
phase: docs
event_type: source-books-updated
actor: claude-main
command: apply_patch reports/*.md
artifact_path: reports/
created_at: 2026-07-09T21:58:10Z
detail:
Updated operator guide, sample pages, grammar cheatsheet, and dictionary errata for Batch 340 / Rule 298 at 17,097 verified sentences with export split 14,335/1,391/1,371.

output_excerpt:
Source books now mark Batch 340 / Rule 298 as current handoff; Rule 299 / bank_341.py / close_341.py next.


batch_label: batch-340
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs check
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T21:59:14Z
detail:
Verified live docs on mobtranslate.com after Batch 340 render: /docs 301s to /docs/, /docs/ is 200 with all HTML/MD links, four HTML pages and four raw Markdown pages are 200, Batch 340/Rule 298/17,097 markers are present where expected, and operator/sample current-state stale Batch 339 markers are absent.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator/sample/grammar/dictionary html and md 200; current markers Batch 340 and 17,097 live.


batch_label: batch-340
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 audits; wc -l export/*.jsonl
output_excerpt: lint GREEN; DB 17097 usable, 0 under_review, 2903 remaining; duplicates 0; export total 17097.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-09T22:00:15Z
detail:
Final Batch 340 audit green: lint 17,097 rows / 0 issues; usable 17,097; under_review 0; remaining 2,903; Kuku words 123,747; batch 340 accepted 50; reviews 250; lessons 35; lexeme logs 18; exact duplicate scan 0 groups; export train/dev/synthtest 14,335/1,391/1,371.


batch_label: batch-340
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout closed 2026-07-09; continue from 17,097 / 20,000 with 2,903 remaining.
created_at: 2026-07-09T22:00:15Z
detail:
Finalized Batch 340 process log closeout and handoff, replacing conditional Pending/If accepted text with completed closeout and Rule 299 handoff.

command:
apply_patch process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-340-visible-water-fauna-nonsingular-past-perception-after-rule297-process.md


batch_label: batch-341
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:11:57Z
detail:
Reread recorded dictionary line readbacks for ten Rule 255/256/270/271 insect targets and Patz pronoun, demonstrative, and nyaji-ny past support before authoring Rule 299.


batch_label: batch-341
phase: planning
event_type: insect-nonsingular-past-scope
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:11:57Z
detail:
Selected a sourced non-singular past counterpart to earlier insect non-singular nonpast perception bands. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajin, and does not open biting, stinging, honey, nest, larvae, medicine, ecology, danger, or source-prose semantics.


batch_label: batch-341
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:11:57Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'balarr': 25, 'dijaraban': 25, 'kalburiji': 25, 'mawal': 25, 'munudumbun': 25, 'munyurri': 25, 'nakawarra': 25, 'ngalmnbu': 25, 'yarrka': 25, 'yiljun': 25}; support={'ngali': 423, 'ngaliny': 365, 'yubal': 375, 'yurra': 360, 'ngana': 945, 'yaluy': 3312, 'yinyay': 3574, 'nyajin': 750}.


batch_label: batch-341
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:11:57Z
detail:
Final 50 Rule 299 insect non-singular past surfaces returned no accepted, revised, or under-review collisions over the Rule 255/256/270/271 target set.


batch_label: batch-341
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_341.py
created_at: 2026-07-09T22:11:57Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no bite/sting/honey/nest/larvae/medicine/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_341.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_341; print(bank_341.scan_static())"


batch_label: batch-341
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_341.py
output_excerpt: banked batch-341: 50 rows under_review; verified_before=17097; kuku_words_before=123747
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:11:57Z
detail:
Banked 50 Rule 299 rows as under_review. Verified total remains 17097; Kuku word count remains 123747.


batch_label: batch-341
phase: audit
event_type: row-readback-green
actor: claude-main
output_excerpt: 50 rows read back; first Ngali balarr yaluy nyajin.; last Ngana yiljun yaluy nyajin.
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:30Z
detail:
Read back all 50 Batch 341 rows from SQLite after banking; seq 1..50 matched the planned English, Kuku, and analysis surfaces for Rule 299 insect non-singular past perception.

command:
SELECT seq, english, kuku, analysis FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-341') ORDER BY seq;


batch_label: batch-341
phase: audit
event_type: duplicate-exact-scan-green
actor: claude-main
output_excerpt: 0 rows
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:30Z
detail:
Exact duplicate scan over lower(trim(kuku)) for all non-rejected rows returned no duplicate groups after Batch 341 banking.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1;


batch_label: batch-341
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:39Z
detail:
After banking, lint scanned 17147 rows and found 0 issues; verified total remained 17097 before close.

output_excerpt:
lint: 17147 rows scanned, 0 issues flagged; GOAL METRIC: 17097 / 20000 verified sentences (123747 Kuku words)


batch_label: batch-341
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:39Z
detail:
Manual five-lens review passed all 50 Rule 299 rows. Morphology checked bare insect noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with biting/stinging/honey/nest/medicine/danger/ecology closed. Syntax checked five non-singular pronoun past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-341
phase: review
event_type: review-detail
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:39Z
detail:
Final review retained no deferred/rejected insect heads, no synonym expansion, no sting/bite/poison/sickness/honey/nest/egg/larvae/collecting/edible/medicine/seasonal-signal/singing/jumping/antbed/body/human-body/tree/wood/habitat/ecology/movement/danger/event/source-prose drift, no target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-341
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:39Z
detail:
Inserted 35 Rule 299 lessons covering source checks, non-singular past scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-341
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_341.py
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:12:39Z
detail:
Closed Batch 341 / Rule 299 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17097->17147; Kuku words moved 123747->123947.

output_excerpt:
closed batch-341: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17097->17147, kuku_words 123747->123947


batch_label: batch-341
phase: export
event_type: export-refresh
actor: claude-main
command: python3 synthetic/claude-synthetic-v1-2026-07-02/export_training.py
output_excerpt: Exported 17147 rows; train 14382; dev 1393; synthtest 1372.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T22:13:20Z
detail:
Refreshed training export after Batch 341 close. Export contains 17,147 accepted/revised rows split train/dev/synthtest 14,382 / 1,393 / 1,372.


batch_label: batch-341
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T22:18:29Z
detail:
Updated operator guide, sample production pages, mega grammar cheatsheet, and dictionary errata for Batch 341 / Rule 299 at 17,147 verified sentences. Operator handoff now points to Rule 300 / Batch 342; export split recorded as 14,382 / 1,393 / 1,372.


batch_label: batch-341
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verifier; explicit no-redirect /docs check
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T22:20:37Z
detail:
Verified live docs after Batch 341 render: /docs returns 301 to /docs/; /docs/ returns 200 and links all four HTML pages and all four raw Markdown sources; each document/source URL returns 200 with Batch 341 / Rule 299 / 17,147 markers; operator/sample no longer expose Batch 340 as the current state.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML and MD all 200 with markers.


batch_label: batch-341
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count/review/duplicate checks; wc -l export/*.jsonl
output_excerpt: lint 17147 rows 0 issues; counts 17147|0|2853|123947; duplicate scan 0; export 14382/1393/1372.
artifact_path: process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md
created_at: 2026-07-09T22:21:40Z
detail:
Final Batch 341 audit green: lint scanned 17,147 rows with 0 issues; database has 17,147 accepted/revised, 0 under_review, 2,853 remaining, and 123,947 Kuku words; Batch 341 has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs; exact duplicate scan returned 0 groups; export wc is train/dev/synthtest 14,382 / 1,393 / 1,372.


batch_label: batch-341
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T22:21:40Z
detail:
Finalized Batch 341 process log closeout and handoff after export refresh, source-book update, render, live-docs verification, and final audit.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-341-insect-nonsingular-past-perception-after-rule298-process.md


batch_label: batch-342
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:31:59Z
detail:
Reread direct dictionary yaml entries for ten Rule 300 insect targets and living grammar pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 300.


batch_label: batch-342
phase: planning
event_type: complementary-insect-nonsingular-past-scope
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:31:59Z
detail:
Selected the complementary here/there half of the Rule 299 insect non-singular past perception field. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajin, reversing the demonstrative slot and opening no insect action, danger, honey, nest, medicine, ecology, event, or source-prose semantics.


batch_label: batch-342
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:31:59Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'balarr': 30, 'dijaraban': 30, 'kalburiji': 30, 'mawal': 30, 'munudumbun': 30, 'munyurri': 30, 'nakawarra': 30, 'ngalmnbu': 30, 'yarrka': 30, 'yiljun': 30}; support={'ngali': 433, 'ngaliny': 375, 'yubal': 385, 'yurra': 370, 'ngana': 955, 'yaluy': 3342, 'yinyay': 3594, 'nyajin': 800}.


batch_label: batch-342
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:31:59Z
detail:
Final 50 Rule 300 complementary insect non-singular past surfaces returned no accepted, revised, or under-review collisions over the Rule 299 target set.


batch_label: batch-342
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_342.py
created_at: 2026-07-09T22:31:59Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, complementary bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no bite/sting/honey/nest/larvae/medicine/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_342.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_342; print(bank_342.scan_static())"


batch_label: batch-342
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_342.py
output_excerpt: banked batch-342: 50 rows under_review; verified_before=17147; kuku_words_before=123947
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:31:59Z
detail:
Banked 50 Rule 300 rows as under_review. Verified total remains 17147; Kuku word count remains 123947.


batch_label: batch-342
phase: audit
event_type: row-readback-green
actor: claude-main
output_excerpt: 50 rows read back; first Ngali balarr yinyay nyajin.; last Ngana yiljun yinyay nyajin.
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:35Z
detail:
Read back all 50 Batch 342 rows from SQLite after banking; seq 1..50 matched the planned English, Kuku, and analysis surfaces for Rule 300 complementary insect non-singular past perception.

command:
SELECT seq, english, kuku, analysis FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-342') ORDER BY seq;


batch_label: batch-342
phase: audit
event_type: duplicate-exact-scan-green
actor: claude-main
output_excerpt: 0 rows
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:35Z
detail:
Exact duplicate scan over lower(trim(kuku)) for all non-rejected rows returned no duplicate groups after Batch 342 banking.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1;


batch_label: batch-342
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:42Z
detail:
After banking, lint scanned 17197 rows and found 0 issues; verified total remained 17147 before close.

output_excerpt:
lint: 17197 rows scanned, 0 issues flagged; GOAL METRIC: 17147 / 20000 verified sentences (123947 Kuku words)


batch_label: batch-342
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:42Z
detail:
Manual five-lens review passed all 50 Rule 300 rows. Morphology checked bare insect noun objects, five bare non-singular nominative pronoun forms, complementary bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with synonyms, bite/sting/honey/nest/medicine/danger/ecology/source prose closed. Syntax checked five complementary non-singular pronoun past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-342
phase: review
event_type: review-detail
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:42Z
detail:
Final review retained no deferred/rejected insect heads, no synonym expansion, no dragonfly expansion, no bite/sting/poison/sickness/vomiting/honey/nest/egg/larvae/collecting/edible/medicine/seasonal-signal/singing/jumping/antbed/body/human-body/tree/wood/habitat/ecology/movement/danger/event/source-prose drift, no target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-342
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:42Z
detail:
Inserted 35 Rule 300 lessons covering source checks, complementary past scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-342
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_342.py
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:32:42Z
detail:
Closed Batch 342 / Rule 300 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17147->17197; Kuku words moved 123947->124147.

output_excerpt:
closed batch-342: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17147->17197, kuku_words 123947->124147


batch_label: batch-342
phase: export
event_type: export-refresh
actor: claude-main
command: python3 synthetic/claude-synthetic-v1-2026-07-02/export_training.py
output_excerpt: Exported 17197 rows; train 14426; dev 1393; synthtest 1378.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T22:33:44Z
detail:
Refreshed training export after Batch 342 close. Export contains 17,197 accepted/revised rows split train/dev/synthtest 14,426 / 1,393 / 1,378.


batch_label: batch-342
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T22:36:56Z
detail:
Updated operator guide, sample production pages, mega grammar cheatsheet, and dictionary errata for Batch 342 / Rule 300 at 17,197 verified sentences. Operator handoff now points to Rule 301 / Batch 343; export split recorded as 14,426 / 1,393 / 1,378.


batch_label: batch-342
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verifier
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T22:38:27Z
detail:
Verified live docs after Batch 342 render: /docs returns 301 to /docs/; /docs/ returns 200 and links all four HTML pages and all four raw Markdown sources; each document/source URL returns 200 with Batch 342 / Rule 300 / 17,197 markers; operator/sample no longer expose Batch 341 as the current state.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML and MD all 200 with markers.


batch_label: batch-342
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count/review/duplicate checks; wc -l export/*.jsonl
output_excerpt: lint 17197 rows 0 issues; counts 17197|0|2803|124147; duplicate scan 0; export 14426/1393/1378.
artifact_path: process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md
created_at: 2026-07-09T22:39:27Z
detail:
Final Batch 342 audit green: lint scanned 17,197 rows with 0 issues; database has 17,197 accepted/revised, 0 under_review, 2,803 remaining, and 124,147 Kuku words; Batch 342 has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs; exact duplicate scan returned 0 groups; export wc is train/dev/synthtest 14,426 / 1,393 / 1,378.


batch_label: batch-342
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T22:39:27Z
detail:
Finalized Batch 342 process log closeout and handoff after export refresh, source-book update, render, live-docs verification, and final audit.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-342-complementary-insect-nonsingular-past-perception-after-rule299-process.md


batch_label: batch-343
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:46:30Z
detail:
Reread direct dictionary yaml entries for ten Rule 301 insect targets and living grammar pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 301.


batch_label: batch-343
phase: planning
event_type: insect-singular-third-past-scope
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:46:30Z
detail:
Selected the missing singular/third-person past counterpart to earlier insect nonpast perception fields. The batch uses ngayu, yundu, nyulu, bula, and jana with nyajin, and opens no insect action, danger, honey, nest, medicine, ecology, movement, event, or source-prose semantics.


batch_label: batch-343
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:46:30Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'balarr': 35, 'dijaraban': 35, 'kalburiji': 35, 'mawal': 35, 'munudumbun': 35, 'munyurri': 35, 'nakawarra': 35, 'ngalmnbu': 35, 'yarrka': 35, 'yiljun': 35}; support={'ngayu': 1261, 'yundu': 857, 'nyulu': 532, 'bula': 328, 'jana': 1033, 'yaluy': 3362, 'yinyay': 3624, 'nyajin': 850}.


batch_label: batch-343
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:46:30Z
detail:
Final 50 Rule 301 insect singular/third-person past surfaces returned no accepted, revised, or under-review collisions over the Rule 300 target set.


batch_label: batch-343
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_343.py
created_at: 2026-07-09T22:46:30Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no bite/sting/honey/nest/larvae/medicine/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_343.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_343; print(bank_343.scan_static())"


batch_label: batch-343
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_343.py
output_excerpt: banked batch-343: 50 rows under_review; verified_before=17197; kuku_words_before=124147
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:46:30Z
detail:
Banked 50 Rule 301 rows as under_review. Verified total remains 17197; Kuku word count remains 124147.


batch_label: batch-343
phase: audit
event_type: row-readback-green
actor: claude-main
output_excerpt: 50 rows read back; first Ngayu balarr yinyay nyajin.; last Jana yiljun yinyay nyajin.
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:06Z
detail:
Read back all 50 Batch 343 rows from SQLite after banking; seq 1..50 matched the planned English, Kuku, and analysis surfaces for Rule 301 insect singular/third-person past perception.

command:
SELECT seq, english, kuku, analysis FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-343') ORDER BY seq;


batch_label: batch-343
phase: audit
event_type: duplicate-exact-scan-green
actor: claude-main
output_excerpt: 0 rows
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:06Z
detail:
Exact duplicate scan over lower(trim(kuku)) for all non-rejected rows returned no duplicate groups after Batch 343 banking.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1;


batch_label: batch-343
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:16Z
detail:
After banking, lint scanned 17247 rows and found 0 issues; verified total remained 17197 before close.

output_excerpt:
lint: 17247 rows scanned, 0 issues flagged; GOAL METRIC: 17197 / 20000 verified sentences (124147 Kuku words)


batch_label: batch-343
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:16Z
detail:
Manual five-lens review passed all 50 Rule 301 rows. Morphology checked bare insect noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with synonyms, bite/sting/honey/nest/medicine/danger/ecology/source prose closed. Syntax checked five singular/third-person past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-343
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:16Z
detail:
Inserted 35 Rule 301 lessons covering source checks, singular/third-person past scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-343
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_343.py
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:47:16Z
detail:
Closed Batch 343 / Rule 301 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17197->17247; Kuku words moved 124147->124347.

output_excerpt:
closed batch-343: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17197->17247, kuku_words 124147->124347


batch_label: batch-343
phase: export
event_type: export-refresh
actor: claude-main
command: python3 synthetic/claude-synthetic-v1-2026-07-02/export_training.py
output_excerpt: Exported 17247 rows; train 14468; dev 1396; synthtest 1383.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-09T22:48:07Z
detail:
Refreshed training export after Batch 343 close. Export contains 17,247 accepted/revised rows split train/dev/synthtest 14,468 / 1,396 / 1,383.


batch_label: batch-343
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T22:51:06Z
detail:
Updated operator guide, sample production pages, mega grammar cheatsheet, and dictionary errata for Batch 343 / Rule 301 at 17,247 verified sentences. Operator handoff now points to Rule 302 / Batch 344; export split recorded as 14,468 / 1,396 / 1,383.


batch_label: batch-343
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verifier
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T22:52:24Z
detail:
Verified live docs after Batch 343 render: /docs returns 301 to /docs/; /docs/ returns 200 and links all four HTML pages and all four raw Markdown sources; each document/source URL returns 200 with Batch 343 / Rule 301 / 17,247 markers; operator/sample no longer expose Batch 342 as the current state.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML and MD all 200 with markers.


batch_label: batch-343
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count/review/duplicate checks; wc -l export/*.jsonl
output_excerpt: lint 17247 rows 0 issues; counts 17247|0|2753|124347; duplicate scan 0; export 14468/1396/1383.
artifact_path: process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md
created_at: 2026-07-09T22:53:22Z
detail:
Final Batch 343 audit green: lint scanned 17,247 rows with 0 issues; database has 17,247 accepted/revised, 0 under_review, 2,753 remaining, and 124,347 Kuku words; Batch 343 has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs; exact duplicate scan returned 0 groups; export wc is train/dev/synthtest 14,468 / 1,396 / 1,383.


batch_label: batch-343
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-09T22:53:22Z
detail:
Finalized Batch 343 process log closeout and handoff after export refresh, source-book update, render, live-docs verification, and final audit.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-343-insect-singular-third-past-perception-after-rule300-process.md


batch_label: batch-344
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:02:23Z
detail:
Reread direct dictionary yaml entries for ten Rule 302 insect targets and living grammar pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 302.


batch_label: batch-344
phase: planning
event_type: complementary-insect-singular-third-past-scope
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:02:23Z
detail:
Selected the complementary here/there half of the Rule 301 insect singular/third-person past perception field. The batch uses ngayu, yundu, nyulu, bula, and jana with nyajin, reversing the demonstrative slot and opening no insect action, danger, honey, nest, medicine, ecology, movement, event, or source-prose semantics.


batch_label: batch-344
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:02:23Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'balarr': 40, 'dijaraban': 40, 'kalburiji': 40, 'mawal': 40, 'munudumbun': 40, 'munyurri': 40, 'nakawarra': 40, 'ngalmnbu': 40, 'yarrka': 40, 'yiljun': 40}; support={'ngayu': 1271, 'yundu': 867, 'nyulu': 542, 'bula': 338, 'jana': 1043, 'yaluy': 3382, 'yinyay': 3654, 'nyajin': 900}.


batch_label: batch-344
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:02:23Z
detail:
Final 50 Rule 302 complementary insect singular/third-person past surfaces returned no accepted, revised, or under-review collisions over the Rule 301 target set.


batch_label: batch-344
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_344.py
created_at: 2026-07-09T23:02:23Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, complementary bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, and no bite/sting/honey/nest/larvae/medicine/ecology/case/compound drift.

command:
python3 -m py_compile batch_scripts/bank_344.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_344; print(bank_344.scan_static())"


batch_label: batch-344
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_344.py
output_excerpt: banked batch-344: 50 rows under_review; verified_before=17247; kuku_words_before=124347
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:02:23Z
detail:
Banked 50 Rule 302 rows as under_review. Verified total remains 17247; Kuku word count remains 124347.


batch_label: batch-344
phase: review
event_type: row-readback-green
actor: claude-main
command: sqlite3 synthetic.db "SELECT seq, english, kuku, analysis ... batch-344 ..."
output_excerpt: rows=50; first=Ngayu balarr yaluy nyajin.; last=Jana yiljun yaluy nyajin.
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:06Z
detail:
Read back all 50 under-review Rule 302 rows from SQLite in seq order; English, Kuku, and analysis matched the planned complementary singular/third-person past perception rows.


batch_label: batch-344
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
command: SELECT lower(trim(kuku)), COUNT(*) ... HAVING n > 1
output_excerpt: 0 duplicate surfaces
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:06Z
detail:
Exact duplicate scan over every non-rejected Kuku surface returned zero rows after banking Batch 344.


batch_label: batch-344
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:12Z
detail:
After banking, lint scanned 17297 rows and found 0 issues; verified total remained 17247 before close.

output_excerpt:
lint: 17297 rows scanned, 0 issues flagged; GOAL METRIC: 17247 / 20000 verified sentences (124347 Kuku words)


batch_label: batch-344
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:12Z
detail:
Manual five-lens review passed all 50 Rule 302 rows. Morphology checked bare insect noun objects, five bare singular/third-person nominative pronoun forms, complementary bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with synonyms, bite/sting/honey/nest/medicine/danger/ecology/source prose closed. Syntax checked five complementary singular/third-person past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-344
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:12Z
detail:
Inserted 35 Rule 302 lessons covering source checks, complementary singular/third-person past scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-344
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_344.py
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:03:12Z
detail:
Closed Batch 344 / Rule 302 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17247->17297; Kuku words moved 124347->124547.

output_excerpt:
closed batch-344: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17247->17297, kuku_words 124347->124547


batch_label: batch-344
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 17297 rows; train 14510; dev 1402; synthtest 1385.
artifact_path: export/
created_at: 2026-07-09T23:03:58Z
detail:
Refreshed training export after closing Rule 302 / Batch 344. Split counts: train=14510, dev=1402, synthtest=1385, total=17297.


batch_label: batch-344
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T23:07:12Z
detail:
Updated all four living books for Batch 344 / Rule 302: operator guide current count and handoff, sample page build note, mega cheatsheet Rule 302 section, and dictionary errata Batch-344 section.

output_excerpt:
Current markers: 17,297 / 20,000; Batch 344 / Rule 302; examples Ngayu balarr yaluy nyajin, Yundu kalburiji yinyay nyajin, Nyulu munudumbun yaluy nyajin, Bula ngalmnbu yinyay nyajin, Jana yiljun yaluy nyajin.


batch_label: batch-344
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: ../../public-docs/
created_at: 2026-07-09T23:08:04Z
detail:
Ran render-docs.sh after Batch 344 source-book updates; rendered operator guide, sample pages, grammar cheatsheet, dictionary errata, raw md copies, and docs index into public-docs.


batch_label: batch-344
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verification script
output_excerpt: /docs 301 /docs/; all docs HTML+MD 200; live docs verification green
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T23:09:10Z
detail:
Verified live mobtranslate.com docs after Batch 344 render: /docs redirects 301 to /docs/; /docs/ plus four HTML and four raw Markdown document URLs return 200; operator/sample/grammar/errata live content includes Batch 344 / Rule 302 / 17,297 and representative examples; stale current Batch 343 markers absent from operator/sample.


batch_label: batch-344
phase: final
event_type: final-audit-green
actor: claude-main
output_excerpt: GOAL METRIC 17297 / 20000; 124547 Kuku words; export total 17297; live docs verification green.
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:10:24Z
detail:
Final Batch 344 audit green: lint 17297 rows / 0 issues; verified=17297; under_review=0; remaining=2703; Kuku words=124547; batch accepted=50; reviews=250; lessons=35; lexeme logs=18; duplicate surfaces=0; export total=17297 with train/dev/synthtest 14510/1402/1385; live docs verified.

command:
python3 lint_corpus.py && sqlite3 final audit && wc -l export/*.jsonl && urllib live docs verification


batch_label: batch-344
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout accepted and closed; continue from 17,297 / 20,000 with 2,703 remaining.
artifact_path: process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md
created_at: 2026-07-09T23:10:24Z
detail:
Finalized Batch 344 process log closeout and handoff after accepted close, export refresh, source-book update, docs render, live verification, and final audit.

command:
apply_patch process_logs/batch-344-complementary-insect-singular-third-past-perception-after-rule301-process.md


batch_label: batch-345
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T23:23:17Z
detail:
Reread direct dictionary yaml entries for ten Rule 303 zero-count flora/tree targets and living grammar pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 303.

artifact_path:
process_logs/batch-345-visible-flora-tree-singular-third-nonpast-perception-after-rule302-process.md


batch_label: batch-345
phase: planning
event_type: visible-flora-tree-singular-third-nonpast-scope
actor: claude-main
created_at: 2026-07-09T23:23:17Z
detail:
Selected a fresh visible flora/tree singular/third-person nonpast perception field. The batch uses ngayu, yundu, nyulu, bula, and jana with nyajil and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-345-visible-flora-tree-singular-third-nonpast-perception-after-rule302-process.md


batch_label: batch-345
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T23:23:17Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 0, 'jingajalka': 0, 'jirimandi': 0, 'julbal': 0, 'jungka': 0, 'karranda': 0, 'karrandal': 0, 'kawarr': 0, 'marril': 0, 'ngurrkul': 0}; support={'ngayu': 1281, 'yundu': 877, 'nyulu': 552, 'bula': 348, 'jana': 1053, 'yaluy': 3412, 'yinyay': 3674, 'nyajil': 3447}.

artifact_path:
process_logs/batch-345-visible-flora-tree-singular-third-nonpast-perception-after-rule302-process.md


batch_label: batch-345
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T23:23:17Z
detail:
Final 50 Rule 303 visible flora/tree singular/third-person nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-345
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_345.py
created_at: 2026-07-09T23:23:17Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_345.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_345; print(bank_345.scan_static())"


batch_label: batch-345
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_345.py
output_excerpt: banked batch-345: 50 rows under_review; verified_before=17297; kuku_words_before=124547
created_at: 2026-07-09T23:23:17Z
detail:
Banked 50 Rule 303 rows as under_review. Verified total remains 17297; Kuku word count remains 124547.


batch_label: batch-345
phase: review
event_type: row-readback-green
actor: claude-main
command: sqlite3 synthetic.db "SELECT seq, english, kuku, analysis ... batch-345 ..."
output_excerpt: rows=50; first=Ngayu bujabay yaluy nyajil.; last=Jana ngurrkul yaluy nyajil.
created_at: 2026-07-09T23:25:45Z
detail:
Read back all 50 under-review Rule 303 rows from SQLite in seq order; English, Kuku, and analysis matched the planned visible flora/tree singular/third-person nonpast perception rows.


batch_label: batch-345
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
command: SELECT lower(trim(kuku)), COUNT(*) ... HAVING n > 1
output_excerpt: 0 duplicate surfaces
created_at: 2026-07-09T23:25:45Z
detail:
Exact duplicate scan over every non-rejected Kuku surface returned zero rows after banking Batch 345.


batch_label: batch-345
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T23:25:46Z
detail:
After banking, lint scanned 17347 rows and found 0 issues; verified total remained 17297 before close.

output_excerpt:
lint: 17347 rows scanned, 0 issues flagged; GOAL METRIC: 17297 / 20000 verified sentences (124547 Kuku words)


batch_label: batch-345
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T23:25:46Z
detail:
Manual five-lens review passed all 50 Rule 303 rows. Morphology checked bare flora/tree noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five singular/third-person nonpast-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-345
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-09T23:25:46Z
detail:
Final review retained no rejected candidate heads, no fruit/seed/edible/food/leaching/soaking/water-preparation/bark/basket/cooking/hot-stone/bone/death/blindness/old-woman/wet-season/ripening/wild-cherry-fruit/leaf/colour/crushing/boil/remedy/medicine/hardwood/oar/mangrove/water/timber/firewood/deep-scrub-ecology/place/story/source-prose drift, no target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-345
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T23:25:46Z
detail:
Inserted 35 Rule 303 lessons covering source checks, zero-count flora/tree scope, rejected-risk decisions, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-345
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_345.py
created_at: 2026-07-09T23:25:46Z
detail:
Closed Batch 345 / Rule 303 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17297->17347; Kuku words moved 124547->124747.

output_excerpt:
closed batch-345: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17297->17347, kuku_words 124547->124747


batch_label: batch-345
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17347 rows; train=14554; dev=1406; synthtest=1387.
artifact_path: export/
created_at: 2026-07-09T23:26:54Z
detail:
Refreshed training export after accepting Batch 345; split counts are train=14554, dev=1406, synthtest=1387, total=17347.


batch_label: batch-345
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T23:32:04Z
detail:
Updated operator guide, sample production pages, mega grammar cheatsheet Rule 303, and dictionary errata Batch-345 with 17,347 verified count, examples, source traps, export counts, and process-log path.

output_excerpt:
source docs now mark Batch 345 / Rule 303 at 17,347 verified; next batch bank_346.py / close_346.py.


batch_label: batch-345
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: ../public-docs/
created_at: 2026-07-09T23:32:29Z
detail:
Ran render-docs.sh after Batch 345 source-book updates; regenerated public-docs operator/sample/grammar/errata HTML, raw Markdown copies, and index.


batch_label: batch-345
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verification for https://mobtranslate.com/docs/
output_excerpt: /docs 301 -> /docs/; live docs green; all HTML and Markdown docs returned 200.
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T23:33:30Z
detail:
Verified live docs on mobtranslate.com after Batch 345 render: /docs redirects to /docs/, index links all HTML and raw Markdown, all four HTML plus four Markdown pages return 200, Batch 345 / Rule 303 / 17,347 markers are present, and stale current Batch 344 markers are absent from operator/sample current areas.


batch_label: batch-345
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count audit; duplicate scan; wc -l export/*.jsonl
created_at: 2026-07-09T23:34:35Z
detail:
Final Batch 345 audit green: lint clean at 17,347 verified sentences and 124,747 Kuku words; under_review=0; remaining=2,653; batch accepted rows=50; reviews=250; lessons=35; lexeme logs=18; exact duplicate scan empty; export totals train=14554, dev=1406, synthtest=1387.

output_excerpt:
lint 17347 rows 0 issues; verified=17347; under_review=0; remaining=2653; export total=17347; duplicate scan empty.


batch_label: batch-345
phase: audit
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout no longer pending; handoff continues from 17,347 / 20,000 with 2,653 remaining.
created_at: 2026-07-09T23:34:35Z
detail:
Finalized Batch 345 process log closeout and handoff with accepted counts, review/export/docs verification, and Rule 304 carry-forward restrictions.

command:
apply_patch process_logs/batch-345-visible-flora-tree-singular-third-nonpast-perception-after-rule302-process.md


batch_label: batch-346
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:43:29Z
detail:
Reread direct dictionary yaml entries for ten Rule 304 flora/tree targets and living grammar non-singular pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 304.


batch_label: batch-346
phase: planning
event_type: visible-flora-tree-nonsingular-nonpast-scope
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:43:29Z
detail:
Selected a visible flora/tree non-singular nonpast perception field after Rule 303. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajil and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.


batch_label: batch-346
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:43:29Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 5, 'jingajalka': 5, 'jirimandi': 5, 'julbal': 5, 'jungka': 5, 'karranda': 5, 'karrandal': 5, 'kawarr': 5, 'marril': 5, 'ngurrkul': 5}; support={'ngali': 443, 'ngaliny': 385, 'yubal': 395, 'yurra': 380, 'ngana': 965, 'yaluy': 3442, 'yinyay': 3694, 'nyajil': 3497}.


batch_label: batch-346
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:43:29Z
detail:
Final 50 Rule 304 visible flora/tree non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-346
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_346.py
created_at: 2026-07-09T23:43:29Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_346.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_346; print(bank_346.scan_static())"


batch_label: batch-346
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_346.py
output_excerpt: banked batch-346: 50 rows under_review; verified_before=17347; kuku_words_before=124747
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:43:29Z
detail:
Banked 50 Rule 304 rows as under_review. Verified total remains 17347; Kuku word count remains 124747.


batch_label: batch-346
phase: review
event_type: row-readback-green
actor: claude-main
command: sqlite3 synthetic.db "SELECT seq, english, kuku, analysis ... batch-346 ..."
output_excerpt: rows=50; first=Ngali bujabay yinyay nyajil.; last=Ngana ngurrkul yinyay nyajil.
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:03Z
detail:
Read back all 50 under-review Rule 304 rows from SQLite in seq order; English, Kuku, and analysis matched the planned visible flora/tree non-singular nonpast perception rows.


batch_label: batch-346
phase: review
event_type: duplicate-exact-scan-green
actor: claude-main
command: SELECT lower(trim(kuku)), COUNT(*) ... HAVING n > 1
output_excerpt: 0 duplicate surfaces
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:03Z
detail:
Exact duplicate scan over every non-rejected Kuku surface returned zero rows after banking Batch 346.


batch_label: batch-346
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:04Z
detail:
After banking, lint scanned 17397 rows and found 0 issues; verified total remained 17347 before close.

output_excerpt:
lint: 17397 rows scanned, 0 issues flagged; GOAL METRIC: 17347 / 20000 verified sentences (124747 Kuku words)


batch_label: batch-346
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:04Z
detail:
Manual five-lens review passed all 50 Rule 304 rows. Morphology checked bare flora/tree noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five non-singular nonpast-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-346
phase: review
event_type: review-detail
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:04Z
detail:
Final review retained no fruit/seed/edible/food/leaching/soaking/water-preparation/bark/basket/cooking/hot-stone/bone/death/wet-season/ripening/wild-cherry-fruit/leaf/colour/crushing/cooking-leaf/boil/remedy/medicine/hardwood/oar/mangrove/water/timber/firewood/deep-scrub-ecology/place/story/source-prose drift, no target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-346
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:04Z
detail:
Inserted 35 Rule 304 lessons covering source checks, non-singular flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-346
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_346.py
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:44:04Z
detail:
Closed Batch 346 / Rule 304 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17347->17397; Kuku words moved 124747->124947.

output_excerpt:
closed batch-346: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17347->17397, kuku_words 124747->124947


batch_label: batch-346
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17397 rows; train=14598; dev=1411; synthtest=1388.
artifact_path: export/
created_at: 2026-07-09T23:44:48Z
detail:
Refreshed training export after accepting Batch 346; split counts are train=14598, dev=1411, synthtest=1388, total=17397.


batch_label: batch-346
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-09T23:48:09Z
detail:
Updated operator guide, sample production pages, mega grammar cheatsheet Rule 304, and dictionary errata Batch-346 with 17,397 verified count, examples, source traps, export counts, and process-log path.

output_excerpt:
source docs now mark Batch 346 / Rule 304 at 17,397 verified; next batch bank_347.py / close_347.py.


batch_label: batch-346
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
artifact_path: ../public-docs/
created_at: 2026-07-09T23:48:42Z
detail:
Ran render-docs.sh after Batch 346 source-book updates; regenerated public-docs operator/sample/grammar/errata HTML, raw Markdown copies, and index.


batch_label: batch-346
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verification for https://mobtranslate.com/docs/
output_excerpt: /docs 301 -> /docs/; live docs green; all HTML and Markdown docs returned 200.
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-09T23:49:43Z
detail:
Verified live docs on mobtranslate.com after Batch 346 render: /docs redirects to /docs/, index links all HTML and raw Markdown, all four HTML plus four Markdown pages return 200, Batch 346 / Rule 304 / 17,397 markers are present, and stale current Batch 345 markers are absent from operator/sample current areas.


batch_label: batch-346
phase: audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 count audit; duplicate scan; wc -l export/*.jsonl; stale marker rg
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:50:52Z
detail:
Final Batch 346 audit green: lint clean at 17,397 verified sentences and 124,947 Kuku words; under_review=0; remaining=2,603; batch accepted rows=50; reviews=250; lessons=35; lexeme logs=18; exact duplicate scan empty; export totals train=14598, dev=1411, synthtest=1388.

output_excerpt:
lint 17397 rows 0 issues; verified=17397; under_review=0; remaining=2603; export total=17397; duplicate scan empty; no pending/stale current docs markers.


batch_label: batch-346
phase: audit
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout no longer pending; handoff continues from 17,397 / 20,000 with 2,603 remaining.
artifact_path: process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md
created_at: 2026-07-09T23:50:52Z
detail:
Finalized Batch 346 process log closeout and handoff with accepted counts, review/export/docs verification, and Rule 305 carry-forward restrictions.

command:
apply_patch process_logs/batch-346-visible-flora-tree-nonsingular-nonpast-perception-after-rule303-process.md


batch_label: batch-347
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-09T23:57:57Z
detail:
Reread direct dictionary yaml entries for ten Rule 305 flora/tree targets and living grammar non-singular pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 305.

artifact_path:
process_logs/batch-347-complementary-flora-tree-nonsingular-nonpast-perception-after-rule304-process.md


batch_label: batch-347
phase: planning
event_type: complementary-flora-tree-nonsingular-nonpast-scope
actor: claude-main
created_at: 2026-07-09T23:57:57Z
detail:
Selected the complementary visible flora/tree non-singular nonpast perception field after Rule 304 by reversing the local-demonstrative slot. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajil and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-347-complementary-flora-tree-nonsingular-nonpast-perception-after-rule304-process.md


batch_label: batch-347
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-09T23:57:57Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 10, 'jingajalka': 10, 'jirimandi': 10, 'julbal': 10, 'jungka': 10, 'karranda': 10, 'karrandal': 10, 'kawarr': 10, 'marril': 10, 'ngurrkul': 10}; support={'ngali': 453, 'ngaliny': 395, 'yubal': 405, 'yurra': 390, 'ngana': 975, 'yaluy': 3462, 'yinyay': 3724, 'nyajil': 3547}.

artifact_path:
process_logs/batch-347-complementary-flora-tree-nonsingular-nonpast-perception-after-rule304-process.md


batch_label: batch-347
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-09T23:57:57Z
detail:
Final 50 Rule 305 visible flora/tree non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-347
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_347.py
created_at: 2026-07-09T23:57:57Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_347.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_347; print(bank_347.scan_static())"


batch_label: batch-347
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_347.py
output_excerpt: banked batch-347: 50 rows under_review; verified_before=17397; kuku_words_before=124947
created_at: 2026-07-09T23:57:57Z
detail:
Banked 50 Rule 305 rows as under_review. Verified total remains 17397; Kuku word count remains 124947.


batch_label: batch-347
phase: review
event_type: row-readback-green
actor: codex
created_at: 2026-07-09 23:58:57
detail:
Read back all 50 staged Rule 305 rows from SQLite in seq order; English, Kuku, analysis, and frame fields match the planned complementary flora/tree non-singular nonpast perception matrix.

command:
sqlite3 synthetic.db SELECT seq english kuku analysis frame FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-347') ORDER BY seq

output_excerpt:
Rows 1-10 Ngali TARGET yaluy nyajil; 11-20 Ngaliny TARGET yinyay nyajil; 21-30 Yubal TARGET yaluy nyajil; 31-40 Yurra TARGET yinyay nyajil; 41-50 Ngana TARGET yaluy nyajil.


batch_label: batch-347
phase: review
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: No duplicate surfaces returned.
created_at: 2026-07-09 23:58:57
detail:
Exact lower-trimmed Kuku duplicate scan over all non-rejected rows returned no rows after staging Batch 347.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1


batch_label: batch-347
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-09T23:59:07Z
detail:
After banking, lint scanned 17447 rows and found 0 issues; verified total remained 17397 before close.

output_excerpt:
lint: 17447 rows scanned, 0 issues flagged; GOAL METRIC: 17397 / 20000 verified sentences (124947 Kuku words)


batch_label: batch-347
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-09T23:59:07Z
detail:
Manual five-lens review passed all 50 Rule 305 rows. Morphology checked bare flora/tree noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five non-singular nonpast-perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-347
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-09T23:59:07Z
detail:
Inserted 35 Rule 305 lessons covering source checks, non-singular flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-347
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_347.py
created_at: 2026-07-09T23:59:07Z
detail:
Closed Batch 347 / Rule 305 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17397->17447; Kuku words moved 124947->125147.

output_excerpt:
closed batch-347: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17397->17447, kuku_words 124947->125147


batch_label: batch-347
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17447 rows; train 14640, dev 1416, synthtest 1391.
artifact_path: export/
created_at: 2026-07-10 00:00:19
detail:
Refreshed training exports after accepting Batch 347. Export now contains 17447 verified rows: train 14640, dev 1416, synthtest 1391.


batch_label: batch-347
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch reports/*.md
artifact_path: reports/
created_at: 2026-07-10 00:05:27
detail:
Updated all four living source books after Batch 347: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17447 verified, Rules 1-305, export 14640/1416/1391, next slot Rule 306 / bank_348.py / close_348.py.

output_excerpt:
Source books now include Batch 347 / Rule 305 examples Ngali bujabay yaluy nyajil, Ngaliny jingajalka yinyay nyajil, Yubal jirimandi yaluy nyajil, Yurra karrandal yinyay nyajil, Ngana ngurrkul yaluy nyajil.


batch_label: batch-347
phase: docs
event_type: live-docs-verified
actor: codex
command: python3 urllib live docs verification
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10 00:06:51
detail:
Verified live public docs after Batch 347 render: /docs redirects 301 to /docs/, index returns 200 and links all four HTML plus four raw Markdown documents, and each document endpoint returns 200 with Batch 347 / Rule 305 markers present and stale current Batch 346 markers absent.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML+MD all 200.


batch_label: batch-347
phase: docs
event_type: process-log-finalized
actor: codex
created_at: 2026-07-10 00:08:28
detail:
Finalized the Batch 347 process log closeout and handoff after acceptance, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-347-complementary-flora-tree-nonsingular-nonpast-perception-after-rule304-process.md

output_excerpt:
Closeout now states accepted 2026-07-09, 17447 verified, 2553 remaining, export 14640/1416/1391, live docs verified.


batch_label: batch-347
phase: final-audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite3 audits; wc -l export/*.jsonl
output_excerpt: lint: 17447 rows scanned, 0 issues flagged; export dev 1416, synthtest 1391, train 14640.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-10 00:08:28
detail:
Final audit after Batch 347: lint green over 17447 rows, verified 17447, under_review 0, remaining 2553, Kuku words 125147, Batch 347 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17447.


batch_label: batch-348
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:16:43Z
detail:
Reread direct dictionary yaml entries for ten Rule 306 flora/tree targets and living grammar singular/third-person pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 306.


batch_label: batch-348
phase: planning
event_type: flora-tree-singular-third-past-scope
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:16:43Z
detail:
Selected visible flora/tree singular/third-person past perception after Rule 305. The batch uses ngayu, yundu, nyulu, bula, and jana with nyajin and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, nonpast, purposive, reduplicated perception, or support-inflection semantics.


batch_label: batch-348
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:16:43Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 15, 'jingajalka': 15, 'jirimandi': 15, 'julbal': 15, 'jungka': 15, 'karranda': 15, 'karrandal': 15, 'kawarr': 15, 'marril': 15, 'ngurrkul': 15}; support={'ngayu': 1291, 'yundu': 887, 'nyulu': 562, 'bula': 358, 'jana': 1063, 'yaluy': 3492, 'yinyay': 3744, 'nyajin': 950}.


batch_label: batch-348
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:16:43Z
detail:
Final 50 Rule 306 visible flora/tree singular/third-person past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-348
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_348.py
created_at: 2026-07-10T00:16:43Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, no nonpast nyajil leakage, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_348.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_348; print(bank_348.scan_static())"


batch_label: batch-348
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_348.py
output_excerpt: banked batch-348: 50 rows under_review; verified_before=17447; kuku_words_before=125147
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:16:43Z
detail:
Banked 50 Rule 306 rows as under_review. Verified total remains 17447; Kuku word count remains 125147.


batch_label: batch-348
phase: review
event_type: row-readback-green
actor: codex
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10 00:17:17
detail:
Read back all 50 staged Rule 306 rows from SQLite in seq order; English, Kuku, analysis, and frame fields match the planned visible flora/tree singular/third-person past perception matrix.

command:
sqlite3 synthetic.db SELECT seq english kuku analysis frame FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-348') ORDER BY seq

output_excerpt:
Rows 1-10 Ngayu TARGET yaluy nyajin; 11-20 Yundu TARGET yinyay nyajin; 21-30 Nyulu TARGET yaluy nyajin; 31-40 Bula TARGET yinyay nyajin; 41-50 Jana TARGET yaluy nyajin.


batch_label: batch-348
phase: review
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: No duplicate surfaces returned.
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10 00:17:17
detail:
Exact lower-trimmed Kuku duplicate scan over all non-rejected rows returned no rows after staging Batch 348.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1


batch_label: batch-348
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:17:21Z
detail:
After banking, lint scanned 17497 rows and found 0 issues; verified total remained 17447 before close.

output_excerpt:
lint: 17497 rows scanned, 0 issues flagged; GOAL METRIC: 17447 / 20000 verified sentences (125147 Kuku words)


batch_label: batch-348
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:17:21Z
detail:
Manual five-lens review passed all 50 Rule 306 rows. Morphology checked bare flora/tree noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five singular/third-person past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-348
phase: review
event_type: review-detail
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:17:21Z
detail:
Final review retained no fruit/seed/edible/food/leaching/soaking/water-preparation/bark/basket/cooking/hot-stone/bone/death/wet-season/ripening/wild-cherry-fruit/leaf/colour/crushing/cooking-leaf/boil/remedy/medicine/hardwood/oar/mangrove/water/timber/firewood/deep-scrub-ecology/place/story/source-prose drift, no target case, productive compound, productive reduplication, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-348
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:17:21Z
detail:
Inserted 35 Rule 306 lessons covering source checks, singular/third-person flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-348
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_348.py
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10T00:17:21Z
detail:
Closed Batch 348 / Rule 306 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17447->17497; Kuku words moved 125147->125347.

output_excerpt:
closed batch-348: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17447->17497, kuku_words 125147->125347


batch_label: batch-348
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17497 rows; train 14683, dev 1418, synthtest 1396.
artifact_path: export/
created_at: 2026-07-10 00:18:01
detail:
Refreshed training exports after accepting Batch 348. Export now contains 17497 verified rows: train 14683, dev 1418, synthtest 1396.


batch_label: batch-348
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch reports/*.md
artifact_path: reports/
created_at: 2026-07-10 00:21:17
detail:
Updated all four living source books after Batch 348: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17497 verified, Rules 1-306, export 14683/1418/1396, next slot Rule 307 / bank_349.py / close_349.py.

output_excerpt:
Source books now include Batch 348 / Rule 306 examples Ngayu bujabay yaluy nyajin, Yundu jingajalka yinyay nyajin, Nyulu jirimandi yaluy nyajin, Bula karrandal yinyay nyajin, Jana ngurrkul yaluy nyajin.


batch_label: batch-348
phase: docs
event_type: live-docs-verified
actor: codex
command: python3 urllib live docs verification
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10 00:22:46
detail:
Verified live public docs after Batch 348 render: /docs redirects 301 to /docs/, index returns 200 and links all four HTML plus four raw Markdown documents, and each document endpoint returns 200 with Batch 348 / Rule 306 markers present and stale current Batch 347 markers absent.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML+MD all 200.


batch_label: batch-348
phase: docs
event_type: process-log-finalized
actor: codex
artifact_path: process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md
created_at: 2026-07-10 00:23:43
detail:
Finalized the Batch 348 process log closeout and handoff after acceptance, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-348-visible-flora-tree-singular-third-past-perception-after-rule305-process.md

output_excerpt:
Closeout now states accepted 2026-07-10, 17497 verified, 2503 remaining, export 14683/1418/1396, live docs verified.


batch_label: batch-348
phase: final-audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite3 audits; wc -l export/*.jsonl
output_excerpt: lint: 17497 rows scanned, 0 issues flagged; export dev 1418, synthtest 1396, train 14683.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-10 00:23:43
detail:
Final audit after Batch 348: lint green over 17497 rows, verified 17497, under_review 0, remaining 2503, Kuku words 125347, Batch 348 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17497.


batch_label: batch-349
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-10T00:31:57Z
detail:
Reread direct dictionary yaml entries for ten Rule 307 flora/tree targets and living grammar singular/third-person pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 307.

artifact_path:
process_logs/batch-349-complementary-flora-tree-singular-third-past-perception-after-rule306-process.md


batch_label: batch-349
phase: planning
event_type: complementary-flora-tree-singular-third-past-scope
actor: claude-main
created_at: 2026-07-10T00:31:57Z
detail:
Selected the complementary visible flora/tree singular/third-person past perception field after Rule 306 by reversing the local-demonstrative slot. The batch uses ngayu, yundu, nyulu, bula, and jana with nyajin and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, nonpast, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-349-complementary-flora-tree-singular-third-past-perception-after-rule306-process.md


batch_label: batch-349
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-10T00:31:57Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 20, 'jingajalka': 20, 'jirimandi': 20, 'julbal': 20, 'jungka': 20, 'karranda': 20, 'karrandal': 20, 'kawarr': 20, 'marril': 20, 'ngurrkul': 20}; support={'ngayu': 1301, 'yundu': 897, 'nyulu': 572, 'bula': 368, 'jana': 1073, 'yaluy': 3522, 'yinyay': 3764, 'nyajin': 1000}.

artifact_path:
process_logs/batch-349-complementary-flora-tree-singular-third-past-perception-after-rule306-process.md


batch_label: batch-349
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-10T00:31:57Z
detail:
Final 50 Rule 307 complementary visible flora/tree singular/third-person past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-349
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_349.py
created_at: 2026-07-10T00:31:57Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, no nonpast nyajil leakage, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_349.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_349; print(bank_349.scan_static())"


batch_label: batch-349
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_349.py
output_excerpt: banked batch-349: 50 rows under_review; verified_before=17497; kuku_words_before=125347
created_at: 2026-07-10T00:31:57Z
detail:
Banked 50 Rule 307 rows as under_review. Verified total remains 17497; Kuku word count remains 125347.


batch_label: batch-349
phase: review
event_type: row-readback-green
actor: codex
created_at: 2026-07-10 00:32:29
detail:
Read back all 50 staged Rule 307 rows from SQLite in seq order; English, Kuku, analysis, and frame fields match the planned complementary visible flora/tree singular/third-person past perception matrix.

command:
sqlite3 synthetic.db SELECT seq english kuku analysis frame FROM sentences WHERE batch_id=(SELECT id FROM batches WHERE label='batch-349') ORDER BY seq

output_excerpt:
Rows 1-10 Ngayu TARGET yinyay nyajin; 11-20 Yundu TARGET yaluy nyajin; 21-30 Nyulu TARGET yinyay nyajin; 31-40 Bula TARGET yaluy nyajin; 41-50 Jana TARGET yinyay nyajin.


batch_label: batch-349
phase: review
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: No duplicate surfaces returned.
created_at: 2026-07-10 00:32:29
detail:
Exact lower-trimmed Kuku duplicate scan over all non-rejected rows returned no rows after staging Batch 349.

command:
SELECT lower(trim(kuku)), COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*) > 1


batch_label: batch-349
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-10T00:32:41Z
detail:
After banking, lint scanned 17547 rows and found 0 issues; verified total remained 17497 before close.

output_excerpt:
lint: 17547 rows scanned, 0 issues flagged; GOAL METRIC: 17497 / 20000 verified sentences (125347 Kuku words)


batch_label: batch-349
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-10T00:32:41Z
detail:
Manual five-lens review passed all 50 Rule 307 rows. Morphology checked bare flora/tree noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five complementary singular/third-person past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-349
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-10T00:32:41Z
detail:
Inserted 35 Rule 307 lessons covering source checks, complementary singular/third-person flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-349
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_349.py
created_at: 2026-07-10T00:32:41Z
detail:
Closed Batch 349 / Rule 307 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17497->17547; Kuku words moved 125347->125547.

output_excerpt:
closed batch-349: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17497->17547, kuku_words 125347->125547


batch_label: batch-349
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17547 rows; train 14720, dev 1423, synthtest 1404.
artifact_path: export/
created_at: 2026-07-10 00:33:25
detail:
Refreshed training exports after accepting Batch 349. Export now contains 17547 verified rows: train 14720, dev 1423, synthtest 1404.


batch_label: batch-349
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch reports/*.md
artifact_path: reports/
created_at: 2026-07-10 00:36:47
detail:
Updated all four living source books after Batch 349: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17547 verified, Rules 1-307, export 14720/1423/1404, next slot Rule 308 / bank_350.py / close_350.py.

output_excerpt:
Source books now include Batch 349 / Rule 307 examples Ngayu bujabay yinyay nyajin, Yundu jingajalka yaluy nyajin, Nyulu jirimandi yinyay nyajin, Bula karrandal yaluy nyajin, Jana ngurrkul yinyay nyajin.


batch_label: batch-349
phase: docs
event_type: live-docs-verified
actor: codex
command: python3 urllib live docs verification
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10 00:38:21
detail:
Verified live public docs after Batch 349 render: /docs redirects 301 to /docs/, index returns 200 and links all four HTML plus four raw Markdown documents, and each document endpoint returns 200 with Batch 349 / Rule 307 markers present and stale current Batch 348 markers absent.

output_excerpt:
/docs 301 /docs/; /docs/ 200; operator-guide/sample-pages/grammar-cheatsheet/dictionary-errata HTML+MD all 200.


batch_label: batch-349
phase: docs
event_type: process-log-finalized
actor: codex
created_at: 2026-07-10 00:39:20
detail:
Finalized the Batch 349 process log closeout and handoff after acceptance, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-349-complementary-flora-tree-singular-third-past-perception-after-rule306-process.md

output_excerpt:
Closeout now states accepted 2026-07-10, 17547 verified, 2453 remaining, export 14720/1423/1404, live docs verified.


batch_label: batch-349
phase: final-audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py; sqlite3 audits; wc -l export/*.jsonl
output_excerpt: lint: 17547 rows scanned, 0 issues flagged; export dev 1423, synthtest 1404, train 14720.
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-10 00:39:20
detail:
Final audit after Batch 349: lint green over 17547 rows, verified 17547, under_review 0, remaining 2453, Kuku words 125547, Batch 349 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17547.


batch_label: batch-350
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:49:29Z
detail:
Reread direct dictionary yaml entries for ten Rule 308 flora/tree targets and living grammar non-singular pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 308.


batch_label: batch-350
phase: planning
event_type: visible-flora-tree-nonsingular-past-scope
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:49:29Z
detail:
Selected visible flora/tree non-singular past perception after Rule 307. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajin and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, nonpast, purposive, reduplicated perception, or support-inflection semantics.


batch_label: batch-350
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:49:29Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 25, 'jingajalka': 25, 'jirimandi': 25, 'julbal': 25, 'jungka': 25, 'karranda': 25, 'karrandal': 25, 'kawarr': 25, 'marril': 25, 'ngurrkul': 25}; support={'ngali': 463, 'ngaliny': 405, 'yubal': 415, 'yurra': 400, 'ngana': 985, 'yaluy': 3542, 'yinyay': 3794, 'nyajin': 1050}.


batch_label: batch-350
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:49:29Z
detail:
Final 50 Rule 308 visible flora/tree non-singular past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-350
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_350.py
created_at: 2026-07-10T00:49:29Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, no nonpast nyajil leakage, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_350.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_350; print(bank_350.scan_static())"


batch_label: batch-350
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_350.py
output_excerpt: banked batch-350: 50 rows under_review; verified_before=17547; kuku_words_before=125547
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:49:29Z
detail:
Banked 50 Rule 308 rows as under_review. Verified total remains 17547; Kuku word count remains 125547.


batch_label: batch-350
phase: review-preclose
event_type: row-readback-green
actor: claude-main
output_excerpt: 50 rows read back; seq 1-50; all status=under_review; all frames r308_*
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:04Z
detail:
Read back all 50 Batch 350 under-review rows from SQLite after banking. Sequence 1-50, English, Kuku surface, analysis, r308 frame, words_used JSON, and under_review status matched the authored plan.

command:
sqlite3 -line synthetic.db "select s.seq, s.english, s.kuku, s.analysis, s.frame, s.words_used, s.status from sentences s join batches b on b.id=s.batch_id where b.label='batch-350' order by s.seq;"


batch_label: batch-350
phase: review-preclose
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 synthetic.db "select lower(trim(kuku)), count(*) ... having count(*)>1"
output_excerpt: 0 duplicate rows returned
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:04Z
detail:
Exact lower-trimmed duplicate scan over all non-rejected Kuku surfaces returned zero duplicates after banking Batch 350.


batch_label: batch-350
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:11Z
detail:
After banking, lint scanned 17597 rows and found 0 issues; verified total remained 17547 before close.

output_excerpt:
lint: 17597 rows scanned, 0 issues flagged; GOAL METRIC: 17547 / 20000 verified sentences (125547 Kuku words)


batch_label: batch-350
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:11Z
detail:
Manual five-lens review passed all 50 Rule 308 rows. Morphology checked bare flora/tree noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five non-singular past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-350
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:11Z
detail:
Inserted 35 Rule 308 lessons covering source checks, non-singular flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-350
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_350.py
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:50:11Z
detail:
Closed Batch 350 / Rule 308 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17547->17597; Kuku words moved 125547->125747.

output_excerpt:
closed batch-350: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17547->17597, kuku_words 125547->125747


batch_label: batch-350
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17597 rows; train 14762; dev 1426; synthtest 1409; total 17597
artifact_path: export/
created_at: 2026-07-10T00:50:56Z
detail:
Refreshed training exports after accepting Batch 350. Export now contains 17597 verified rows: train 14762, dev 1426, synthtest 1409.


batch_label: batch-350
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:55:09Z
detail:
Updated all four living source books after Batch 350: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17597 verified, Rules 1-308, export 14762/1426/1409, next slot Rule 309 / bank_351.py / close_351.py.


batch_label: batch-350
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verification
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:56:57Z
detail:
Verified live public docs after Batch 350 render: /docs redirects 301 to /docs/, index returns 200 and links all four HTML plus four raw Markdown documents, and each document endpoint returns 200 with Batch 350 / Rule 308 markers present and stale current Batch 349 markers absent. Sample HTML marker was split by rendering as Batch 350 / Rule newline 308, with batch-350 and example markers present.

output_excerpt:
/docs 301 -> /docs/; /docs/ 200; 4 html + 4 md endpoints 200; Batch 350 markers present; stale current Batch 349 markers absent


batch_label: batch-350
phase: docs
event_type: process-log-finalized
actor: claude-main
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:57:58Z
detail:
Finalized the Batch 350 process log closeout and handoff after acceptance, export refresh, living-book updates, local render, and live docs verification.


batch_label: batch-350
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 counts; duplicate scan; wc -l export/*.jsonl
artifact_path: process_logs/batch-350-visible-flora-tree-nonsingular-past-perception-after-rule307-process.md
created_at: 2026-07-10T00:57:58Z
detail:
Final audit after Batch 350: lint green over 17597 rows, verified 17597, under_review 0, remaining 2403, Kuku words 125747, Batch 350 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17597.

output_excerpt:
lint 17597 rows 0 issues; usable 17597; under_review 0; remaining 2403; Kuku words 125747; export 14762/1426/1409 total 17597


batch_label: batch-351
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-10T01:05:18Z
detail:
Reread direct dictionary yaml entries for ten Rule 309 flora/tree targets and living grammar non-singular pronoun, demonstrative, and nyaji-ny/nyajin past support before authoring Rule 309.

artifact_path:
process_logs/batch-351-complementary-flora-tree-nonsingular-past-perception-after-rule308-process.md


batch_label: batch-351
phase: planning
event_type: complementary-flora-tree-nonsingular-past-scope
actor: claude-main
created_at: 2026-07-10T01:05:18Z
detail:
Selected complementary visible flora/tree non-singular past perception after Rule 308 by reversing the local-demonstrative slot. The batch uses ngali, ngaliny, yubal, yurra, and ngana with nyajin and opens no plant use, fruit, food, bark, cooking, medicine, ecology, place/story, case, compound, nonpast, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-351-complementary-flora-tree-nonsingular-past-perception-after-rule308-process.md


batch_label: batch-351
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-10T01:05:18Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'bujabay': 30, 'jingajalka': 30, 'jirimandi': 30, 'julbal': 30, 'jungka': 30, 'karranda': 30, 'karrandal': 30, 'kawarr': 30, 'marril': 30, 'ngurrkul': 30}; support={'ngali': 473, 'ngaliny': 415, 'yubal': 425, 'yurra': 410, 'ngana': 995, 'yaluy': 3562, 'yinyay': 3824, 'nyajin': 1100}.

artifact_path:
process_logs/batch-351-complementary-flora-tree-nonsingular-past-perception-after-rule308-process.md


batch_label: batch-351
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-10T01:05:18Z
detail:
Final 50 Rule 309 complementary visible flora/tree non-singular past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-351
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_351.py
created_at: 2026-07-10T01:05:18Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajin, no loans, no denied Kuku forms, no nonpast nyajil leakage, and no fruit/seed/food/bark/cooking/medicine/ecology/place-story/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_351.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_351; print(bank_351.scan_static())"


batch_label: batch-351
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_351.py
output_excerpt: banked batch-351: 50 rows under_review; verified_before=17597; kuku_words_before=125747
created_at: 2026-07-10T01:05:18Z
detail:
Banked 50 Rule 309 rows as under_review. Verified total remains 17597; Kuku word count remains 125747.


batch_label: batch-351
phase: review-preclose
event_type: row-readback-green
actor: claude-main
output_excerpt: 50 rows read back; seq 1-50; all status=under_review; all frames r309_*
created_at: 2026-07-10T01:05:56Z
detail:
Read back all 50 Batch 351 under-review rows from SQLite after banking. Sequence 1-50, English, Kuku surface, analysis, r309 frame, words_used JSON, and under_review status matched the authored plan.

command:
sqlite3 -line synthetic.db "select s.seq, s.english, s.kuku, s.analysis, s.frame, s.words_used, s.status from sentences s join batches b on b.id=s.batch_id where b.label='batch-351' order by s.seq;"


batch_label: batch-351
phase: review-preclose
event_type: duplicate-exact-scan-green
actor: claude-main
command: sqlite3 synthetic.db "select lower(trim(kuku)), count(*) ... having count(*)>1"
output_excerpt: 0 duplicate rows returned
created_at: 2026-07-10T01:05:56Z
detail:
Exact lower-trimmed duplicate scan over all non-rejected Kuku surfaces returned zero duplicates after banking Batch 351.


batch_label: batch-351
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-10T01:06:03Z
detail:
After banking, lint scanned 17647 rows and found 0 issues; verified total remained 17597 before close.

output_excerpt:
lint: 17647 rows scanned, 0 issues flagged; GOAL METRIC: 17597 / 20000 verified sentences (125747 Kuku words)


batch_label: batch-351
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-10T01:06:03Z
detail:
Manual five-lens review passed all 50 Rule 309 rows. Morphology checked bare flora/tree noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajin past only. Lexicon checked selected visible target senses only, with fruit, food, bark, cooking, medicine, wood, oar, ecology, and place/story source prose closed. Syntax checked five complementary non-singular past-perception bands. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-351
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-10T01:06:03Z
detail:
Inserted 35 Rule 309 lessons covering source checks, complementary non-singular flora/tree scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-351
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_351.py
created_at: 2026-07-10T01:06:03Z
detail:
Closed Batch 351 / Rule 309 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17597->17647; Kuku words moved 125747->125947.

output_excerpt:
closed batch-351: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17597->17647, kuku_words 125747->125947


batch_label: batch-351
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py && wc -l export/*.jsonl
output_excerpt: Exported 17647 rows; train 14801; dev 1433; synthtest 1413; total 17647
artifact_path: export/
created_at: 2026-07-10T01:06:54Z
detail:
Refreshed training exports after accepting Batch 351. Export now contains 17647 verified rows: train 14801, dev 1433, synthtest 1413.


batch_label: batch-351
phase: docs
event_type: source-books-updated
actor: claude-main
created_at: 2026-07-10T01:10:19Z
detail:
Updated all four living source books after Batch 351: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17647 verified, Rules 1-309, export 14801/1433/1413, next slot Rule 310 / bank_352.py / close_352.py.


batch_label: batch-351
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 urllib live docs verification
created_at: 2026-07-10T01:11:37Z
detail:
Verified live public docs after Batch 351 render: /docs redirects 301 to /docs/, index returns 200 and links all four HTML plus four raw Markdown documents, and each document endpoint returns 200 with Batch 351 / Rule 309 markers present and stale current Batch 350 markers absent.

output_excerpt:
/docs 301 -> /docs/; /docs/ 200; 4 html + 4 md endpoints 200; Batch 351 markers present; stale current Batch 350 markers absent


batch_label: batch-351
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-10T01:13:02Z
detail:
Finalized the Batch 351 process log closeout and handoff after acceptance, export refresh, living-book updates, local render, and live docs verification.


batch_label: batch-351
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 counts; duplicate scan; wc -l export/*.jsonl
created_at: 2026-07-10T01:13:02Z
detail:
Final audit after Batch 351: lint green over 17647 rows, verified 17647, under_review 0, remaining 2353, Kuku words 125947, Batch 351 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17647.

output_excerpt:
lint 17647 rows 0 issues; usable 17647; under_review 0; remaining 2353; Kuku words 125947; export 14801/1433/1413 total 17647


batch_label: batch-352
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-10T01:22:23Z
detail:
Reread direct dictionary yaml entries for ten Rule 310 zero-count visible tree/palm targets and living grammar singular/third-person pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 310.

artifact_path:
process_logs/batch-352-zero-count-tree-palm-singular-third-nonpast-perception-after-rule309-process.md


batch_label: batch-352
phase: planning
event_type: zero-count-tree-palm-singular-third-nonpast-scope
actor: claude-main
created_at: 2026-07-10T01:22:23Z
detail:
Selected zero-count visible tree/palm singular/third-person nonpast perception after Rule 309. The batch uses newly checked targets dulmbi, jinajina, kuraykuray, luku, milbarkal, mirrbangku, mura, ngadil, nyumbil, and wankar with nyajil and opens no plant use, place-name, timber, woomera, fruit, bloom, leech, necklace, artefact, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-352-zero-count-tree-palm-singular-third-nonpast-perception-after-rule309-process.md


batch_label: batch-352
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-10T01:22:23Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'dulmbi': 0, 'jinajina': 0, 'kuraykuray': 0, 'luku': 0, 'milbarkal': 0, 'mirrbangku': 0, 'mura': 0, 'ngadil': 0, 'nyumbil': 0, 'wankar': 0}; support={'ngayu': 1311, 'yundu': 907, 'nyulu': 582, 'bula': 378, 'jana': 1083, 'yaluy': 3592, 'yinyay': 3844, 'nyajil': 3597}.

artifact_path:
process_logs/batch-352-zero-count-tree-palm-singular-third-nonpast-perception-after-rule309-process.md


batch_label: batch-352
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-10T01:22:23Z
detail:
Final 50 Rule 310 zero-count visible tree/palm singular/third-person nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-352
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_352.py
created_at: 2026-07-10T01:22:23Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no past nyajin leakage, and no place/timber/woomera/fruit/bloom/leech/necklace/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_352.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_352; print(bank_352.scan_static())"


batch_label: batch-352
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_352.py
output_excerpt: banked batch-352: 50 rows under_review; verified_before=17647; kuku_words_before=125947
created_at: 2026-07-10T01:22:23Z
detail:
Banked 50 Rule 310 rows as under_review. Verified total remains 17647; Kuku word count remains 125947.


batch_label: batch-352
phase: repair
event_type: lint-repair-target-swap
actor: claude-main
command: python3 -c <repair under_review rows from batch_scripts/bank_352.py>
output_excerpt: updated 50 under_review rows; replacements kakaji/mukukanka/murrkul
created_at: 2026-07-10T01:32:32Z
detail:
Pre-close lint caught 15 issues in the first under-review inventory: jinajina and kuraykuray triggered the unhyphenated-reduplication guard, and luku triggered the native initial-onset guard. Repaired only the 50 under_review Batch 352 rows from the corrected bank script: jinajina->kakaji, kuraykuray->mukukanka, luku->murrkul. Accepted/revised rows were not modified.


batch_label: batch-352
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-10T01:33:15Z
detail:
After banking, lint scanned 17697 rows and found 0 issues; verified total remained 17647 before close.

output_excerpt:
lint: 17697 rows scanned, 0 issues flagged; GOAL METRIC: 17647 / 20000 verified sentences (125947 Kuku words)


batch_label: batch-352
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-10T01:33:15Z
detail:
Manual five-lens review passed all 50 Rule 310 rows. Morphology checked bare zero-count tree/palm noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with place-name, timber, woomera, shore/tide ecology, fruit, bloom, leech, necklace, artefact, and source prose closed. Syntax checked five singular/third-person nonpast perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-352
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-10T01:33:15Z
detail:
Final review retained no place-name/timber/woomera/shore-tide-ecology/fruit/date-shape/sweetness/bloom/minya-jalan/leech-fauna/water-side-ecology/flower/seed/necklace/artefact/material-use/source-prose drift, no target case, productive compound, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-352
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-10T01:33:15Z
detail:
Inserted 35 Rule 310 lessons covering source checks, zero-count tree/palm scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-352
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_352.py
created_at: 2026-07-10T01:33:15Z
detail:
Closed Batch 352 / Rule 310 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17647->17697; Kuku words moved 125947->126147.

output_excerpt:
closed batch-352: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17647->17697, kuku_words 125947->126147


batch_label: batch-352
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 17697 rows; train 14843; dev 1436; synthtest 1418
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/export/
created_at: 2026-07-10T01:38:08Z
detail:
Refreshed training exports after accepting Batch 352. Export now contains 17697 verified rows: train 14843, dev 1436, synthtest 1418.


batch_label: batch-352
phase: docs
event_type: source-books-updated
actor: claude-main
artifact_path: reports/
created_at: 2026-07-10T01:38:08Z
detail:
Updated all four living source books after Batch 352: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Current state is 17697 verified, Rules 1-310, export 14843/1436/1418, next slot Rule 311 / bank_353.py / close_353.py.


batch_label: batch-352
phase: docs
event_type: live-docs-verified
actor: claude-main
command: curl -sSI https://mobtranslate.com/docs && python3 -c <urllib live docs verifier>
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T01:39:35Z
detail:
Verified live public docs after Batch 352 render: /docs redirects 301 to /docs/, index returns 200 and links the docs set, all four HTML plus four raw Markdown endpoints return 200 with Batch 352 / Rule 310 markers present, sample pages carry batch-352/17,697/example markers, and stale current Batch 351 markers are absent.

output_excerpt:
/docs HTTP/2 301 location /docs/; all docs endpoints 200; Batch 352 markers present; stale current Batch 351 markers absent


batch_label: batch-352
phase: docs
event_type: process-log-finalized
actor: claude-main
created_at: 2026-07-10T01:40:02Z
detail:
Finalized the Batch 352 process log closeout after acceptance, lint repair, export refresh, living-book updates, local render, and live docs verification.

artifact_path:
synthetic/claude-synthetic-v1-2026-07-02/process_logs/batch-352-zero-count-tree-palm-singular-third-nonpast-perception-after-rule309-process.md


batch_label: batch-352
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py && sqlite3 counts && duplicate scan && wc -l export/*.jsonl
artifact_path: synthetic/claude-synthetic-v1-2026-07-02/synthetic.db
created_at: 2026-07-10T01:40:43Z
detail:
Final audit after Batch 352: lint green over 17697 rows, verified 17697, under_review 0, remaining 2303, Kuku words 126147, Batch 352 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17697, live docs verified.

output_excerpt:
lint: 17697 rows scanned, 0 issues; usable 17697; under_review 0; remaining 2303; duplicate_surfaces 0; export train/dev/synthtest 14843/1436/1418


batch_label: batch-353
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-10T01:49:08Z
detail:
Reread direct dictionary yaml entries for ten Rule 311 visible tree/palm targets and living grammar singular/third-person pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 311.

artifact_path:
process_logs/batch-353-complementary-tree-palm-singular-third-nonpast-perception-after-rule310-process.md


batch_label: batch-353
phase: planning
event_type: complementary-tree-palm-singular-third-nonpast-scope
actor: claude-main
created_at: 2026-07-10T01:49:08Z
detail:
Selected complementary visible tree/palm singular/third-person nonpast perception after Rule 310. The batch uses targets dulmbi, kakaji, mukukanka, murrkul, milbarkal, mirrbangku, mura, ngadil, nyumbil, and wankar with nyajil and opens no plant use, place-name, timber, woomera, shore/tide ecology, fruit, edible/food, leaching, poison, bloom, leech, necklace, artefact, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-353-complementary-tree-palm-singular-third-nonpast-perception-after-rule310-process.md


batch_label: batch-353
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-10T01:49:08Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'dulmbi': 5, 'kakaji': 5, 'mukukanka': 5, 'murrkul': 5, 'milbarkal': 5, 'mirrbangku': 5, 'mura': 5, 'ngadil': 5, 'nyumbil': 5, 'wankar': 5}; support={'ngayu': 1321, 'yundu': 917, 'nyulu': 592, 'bula': 388, 'jana': 1093, 'yaluy': 3622, 'yinyay': 3864, 'nyajil': 3647}.

artifact_path:
process_logs/batch-353-complementary-tree-palm-singular-third-nonpast-perception-after-rule310-process.md


batch_label: batch-353
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-10T01:49:08Z
detail:
Final 50 Rule 311 complementary visible tree/palm singular/third-person nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-353
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_353.py
created_at: 2026-07-10T01:49:08Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, complementary bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no past nyajin leakage, and no place/timber/woomera/fruit/bloom/leech/necklace/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_353.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_353; print(bank_353.scan_static())"


batch_label: batch-353
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_353.py
output_excerpt: banked batch-353: 50 rows under_review; verified_before=17697; kuku_words_before=126147
created_at: 2026-07-10T01:49:08Z
detail:
Banked 50 Rule 311 rows as under_review. Verified total remains 17697; Kuku word count remains 126147.


batch_label: batch-353
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-10T01:52:04Z
detail:
After banking, lint scanned 17747 rows and found 0 issues; verified total remained 17697 before close.

output_excerpt:
lint: 17747 rows scanned, 0 issues flagged; GOAL METRIC: 17697 / 20000 verified sentences (126147 Kuku words)


batch_label: batch-353
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-10T01:52:04Z
detail:
Manual five-lens review passed all 50 Rule 311 rows. Morphology checked bare tree/palm noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with place-name, timber, woomera, shore/tide ecology, fruit, leaching, poison, bloom, leech, necklace, artefact, and source prose closed. Syntax checked five complementary singular/third-person nonpast perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-353
phase: review
event_type: review-detail
actor: claude-main
created_at: 2026-07-10T01:52:04Z
detail:
Final review retained no place-name/timber/woomera/shore-tide-ecology/fruit/leaching/poison/date-shape/sweetness/bloom/minya-jalan/leech-fauna/water-side-ecology/flower/seed/necklace/artefact/material-use/source-prose drift, no target case, productive compound, demonstrative case, pronoun case, perception compound, past/purposive/reduplicated perception drift, or support inflection.


batch_label: batch-353
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-10T01:52:04Z
detail:
Inserted 35 Rule 311 lessons covering source checks, complementary tree/palm scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-353
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_353.py
created_at: 2026-07-10T01:52:04Z
detail:
Closed Batch 353 / Rule 311 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17697->17747; Kuku words moved 126147->126347.

output_excerpt:
closed batch-353: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17697->17747, kuku_words 126147->126347


batch_label: batch-353
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 17747 rows; train 14886, dev 1439, synthtest 1422.
artifact_path: export/
created_at: 2026-07-10T01:52:59Z
detail:
Refreshed training export after Batch 353 close. Export now contains 17,747 accepted/revised rows: train 14,886, dev 1,439, synthtest 1,422.


batch_label: batch-353
phase: docs
event_type: source-books-updated
actor: claude-main
command: apply_patch reports/*.md
output_excerpt: reports updated with Batch 353 / Rule 311 markers and examples.
artifact_path: reports/
created_at: 2026-07-10T01:56:42Z
detail:
Updated all four living-book source markdown files for Batch 353 / Rule 311: operator guide, sample production pages, grammar cheatsheet, and dictionary errata. Current count now 17,747; export split 14,886/1,439/1,422; next handoff Rule 312 with bank_354.py and close_354.py.


batch_label: batch-353
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
output_excerpt: rendered four HTML docs and wrote index.html
artifact_path: public-docs/
created_at: 2026-07-10T01:57:14Z
detail:
Rendered public docs from updated living-book sources after Batch 353 / Rule 311. Regenerated operator-guide.html, sample-pages.html, grammar-cheatsheet.html, dictionary-errata.html, index.html, and raw markdown copies.


batch_label: batch-353
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 live-docs urllib check with browser UA
output_excerpt: /docs HEAD 301 location=/docs/; all docs GET 200 markers=ok stale=none.
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T01:59:22Z
detail:
Verified live docs after Batch 353 render: /docs redirects 301 to /docs/; /docs/ and all four HTML plus four raw markdown documents return 200 with Batch 353 / Rule 311 / 17,747 markers and no stale current Batch 352 markers.


batch_label: batch-353
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout replaced Pending with full acceptance/export/docs audit.
created_at: 2026-07-10T01:59:58Z
detail:
Finalized the Batch 353 process log closeout after acceptance, post-close lint, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-353-complementary-tree-palm-singular-third-nonpast-perception-after-rule310-process.md


batch_label: batch-353
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 counts; wc -l export/*.jsonl; live docs check
artifact_path: synthetic.db
created_at: 2026-07-10T02:00:42Z
detail:
Final audit after Batch 353: lint green over 17,747 rows, verified 17,747, under_review 0, remaining 2,253, Kuku words 126,347, Batch 353 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17,747, live docs verified.

output_excerpt:
lint green; accepted 16836 revised 911; usable 17747; train/dev/synthtest 14886/1439/1422; duplicates 0.


batch_label: batch-354
phase: source
event_type: source-readback
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:08:50Z
detail:
Reread direct dictionary yaml entries for ten Rule 312 visible tree/palm targets and living grammar non-singular pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 312.


batch_label: batch-354
phase: planning
event_type: visible-tree-palm-nonsingular-nonpast-scope
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:08:50Z
detail:
Selected visible tree/palm non-singular nonpast perception after Rule 311. The batch uses targets dulmbi, kakaji, mukukanka, murrkul, milbarkal, mirrbangku, mura, ngadil, nyumbil, and wankar with ngali, ngaliny, yubal, yurra, ngana, yaluy/yinyay, and nyajil. It opens no plant use, place-name, timber, woomera, shore/tide ecology, fruit, edible/food, leaching, poison, bloom, leech, necklace, artefact, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.


batch_label: batch-354
phase: preflight
event_type: coverage-audit
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:08:50Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'dulmbi': 10, 'kakaji': 10, 'mukukanka': 10, 'murrkul': 10, 'milbarkal': 10, 'mirrbangku': 10, 'mura': 10, 'ngadil': 10, 'nyumbil': 10, 'wankar': 10}; support={'ngali': 483, 'ngaliny': 425, 'yubal': 435, 'yurra': 420, 'ngana': 1005, 'yaluy': 3642, 'yinyay': 3894, 'nyajil': 3697}.


batch_label: batch-354
phase: preflight
event_type: duplicate-preflight
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:08:50Z
detail:
Final 50 Rule 312 visible tree/palm non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-354
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_354.py
created_at: 2026-07-10T02:08:50Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no past nyajin leakage, and no place/timber/woomera/fruit/bloom/leech/necklace/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_354.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_354; print(bank_354.scan_static())"


batch_label: batch-354
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_354.py
output_excerpt: banked batch-354: 50 rows under_review; verified_before=17747; kuku_words_before=126347
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:08:50Z
detail:
Banked 50 Rule 312 rows as under_review. Verified total remains 17747; Kuku word count remains 126347.


batch_label: batch-354
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:09:37Z
detail:
After banking, lint scanned 17797 rows and found 0 issues; verified total remained 17747 before close.

output_excerpt:
lint: 17797 rows scanned, 0 issues flagged; GOAL METRIC: 17747 / 20000 verified sentences (126347 Kuku words)


batch_label: batch-354
phase: review
event_type: five-lens-pass
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:09:37Z
detail:
Manual five-lens review passed all 50 Rule 312 rows. Morphology checked bare tree/palm noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with place-name, timber, woomera, shore/tide ecology, fruit, leaching, poison, bloom, leech, necklace, artefact, and source prose closed. Syntax checked five non-singular nonpast perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-354
phase: review
event_type: lesson-inventory
actor: claude-main
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:09:37Z
detail:
Inserted 35 Rule 312 lessons covering source checks, non-singular tree/palm scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-354
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_354.py
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:09:37Z
detail:
Closed Batch 354 / Rule 312 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17747->17797; Kuku words moved 126347->126547.

output_excerpt:
closed batch-354: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17747->17797, kuku_words 126347->126547


batch_label: batch-354
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 17797 rows; train 14929, dev 1442, synthtest 1426.
artifact_path: export/
created_at: 2026-07-10T02:10:28Z
detail:
Refreshed training export after Batch 354 close. Export now contains 17,797 accepted/revised rows: train 14,929, dev 1,442, synthtest 1,426.


batch_label: batch-354
phase: docs
event_type: source-books-updated
actor: claude-main
command: apply_patch reports/*.md
output_excerpt: reports updated with Batch 354 / Rule 312 markers and examples.
artifact_path: reports/
created_at: 2026-07-10T02:13:38Z
detail:
Updated all four living-book source markdown files for Batch 354 / Rule 312: operator guide, sample production pages, grammar cheatsheet, and dictionary errata. Current count now 17,797; export split 14,929/1,442/1,426; next handoff Rule 313 with bank_355.py and close_355.py.


batch_label: batch-354
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
output_excerpt: rendered four HTML docs and wrote index.html
artifact_path: public-docs/
created_at: 2026-07-10T02:14:09Z
detail:
Rendered public docs from updated living-book sources after Batch 354 / Rule 312. Regenerated operator-guide.html, sample-pages.html, grammar-cheatsheet.html, dictionary-errata.html, index.html, and raw markdown copies.


batch_label: batch-354
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 live-docs urllib check with browser UA
output_excerpt: /docs HEAD 301 location=/docs/; all docs GET 200 markers=ok stale=none.
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T02:14:59Z
detail:
Verified live docs after Batch 354 render: /docs redirects 301 to /docs/; /docs/ and all four HTML plus four raw markdown documents return 200 with Batch 354 / Rule 312 / 17,797 markers and no stale current Batch 353 markers.


batch_label: batch-354
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout replaced Pending with full acceptance/export/docs audit.
artifact_path: process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md
created_at: 2026-07-10T02:15:44Z
detail:
Finalized the Batch 354 process log closeout after acceptance, post-close lint, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-354-visible-tree-palm-nonsingular-nonpast-perception-after-rule311-process.md


batch_label: batch-354
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 counts; wc -l export/*.jsonl; live docs check
artifact_path: synthetic.db
created_at: 2026-07-10T02:16:22Z
detail:
Final audit after Batch 354: lint green over 17,797 rows, verified 17,797, under_review 0, remaining 2,203, Kuku words 126,547, Batch 354 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17,797, live docs verified.

output_excerpt:
lint green; accepted 16886 revised 911; usable 17797; train/dev/synthtest 14929/1442/1426; duplicates 0.


batch_label: batch-355
phase: source
event_type: source-readback
actor: claude-main
created_at: 2026-07-10T02:23:57Z
detail:
Reread direct dictionary yaml entries for ten Rule 313 visible tree/palm targets and living grammar non-singular pronoun, demonstrative, and nyaji-l/nyajil nonpast support before authoring Rule 313.

artifact_path:
process_logs/batch-355-complementary-tree-palm-nonsingular-nonpast-perception-after-rule312-process.md


batch_label: batch-355
phase: planning
event_type: complementary-tree-palm-nonsingular-nonpast-scope
actor: claude-main
created_at: 2026-07-10T02:23:57Z
detail:
Selected complementary visible tree/palm non-singular nonpast perception after Rule 312. The batch uses targets dulmbi, kakaji, mukukanka, murrkul, milbarkal, mirrbangku, mura, ngadil, nyumbil, and wankar with ngali, ngaliny, yubal, yurra, ngana, yaluy/yinyay, and nyajil. It opens no plant use, place-name, timber, woomera, shore/tide ecology, fruit, edible/food, leaching, poison, bloom, leech, necklace, artefact, case, compound, past, purposive, reduplicated perception, or support-inflection semantics.

artifact_path:
process_logs/batch-355-complementary-tree-palm-nonsingular-nonpast-perception-after-rule312-process.md


batch_label: batch-355
phase: preflight
event_type: coverage-audit
actor: claude-main
created_at: 2026-07-10T02:23:57Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'dulmbi': 15, 'kakaji': 15, 'mukukanka': 15, 'murrkul': 15, 'milbarkal': 15, 'mirrbangku': 15, 'mura': 15, 'ngadil': 15, 'nyumbil': 15, 'wankar': 15}; support={'ngali': 493, 'ngaliny': 435, 'yubal': 445, 'yurra': 430, 'ngana': 1015, 'yaluy': 3662, 'yinyay': 3924, 'nyajil': 3747}.

artifact_path:
process_logs/batch-355-complementary-tree-palm-nonsingular-nonpast-perception-after-rule312-process.md


batch_label: batch-355
phase: preflight
event_type: duplicate-preflight
actor: claude-main
created_at: 2026-07-10T02:23:57Z
detail:
Final 50 Rule 313 complementary visible tree/palm non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-355
phase: preflight
event_type: static-guard-pass
actor: claude-main
output_excerpt: issues 0
artifact_path: batch_scripts/bank_355.py
created_at: 2026-07-10T02:23:57Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, complementary bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, no past nyajin leakage, and no place/timber/woomera/fruit/bloom/leech/necklace/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_355.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_355; print(bank_355.scan_static())"


batch_label: batch-355
phase: bank
event_type: bank-success
actor: claude-main
command: python3 batch_scripts/bank_355.py
output_excerpt: banked batch-355: 50 rows under_review; verified_before=17797; kuku_words_before=126547
created_at: 2026-07-10T02:23:57Z
detail:
Banked 50 Rule 313 rows as under_review. Verified total remains 17797; Kuku word count remains 126547.


batch_label: batch-355
phase: lint
event_type: under-review-lint-green
actor: claude-main
command: python3 lint_corpus.py
created_at: 2026-07-10T02:24:31Z
detail:
After banking, lint scanned 17847 rows and found 0 issues; verified total remained 17797 before close.

output_excerpt:
lint: 17847 rows scanned, 0 issues flagged; GOAL METRIC: 17797 / 20000 verified sentences (126547 Kuku words)


batch_label: batch-355
phase: review
event_type: five-lens-pass
actor: claude-main
created_at: 2026-07-10T02:24:31Z
detail:
Manual five-lens review passed all 50 Rule 313 rows. Morphology checked bare tree/palm noun objects, five bare non-singular nominative pronoun forms, bare yaluy/yinyay, and nyajil nonpast only. Lexicon checked selected visible target senses only, with place-name, timber, woomera, shore/tide ecology, fruit, leaching, poison, bloom, leech, necklace, artefact, and source prose closed. Syntax checked five complementary non-singular nonpast perception bands. Fidelity checked literal visual nonpast reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-355
phase: review
event_type: lesson-inventory
actor: claude-main
created_at: 2026-07-10T02:24:31Z
detail:
Inserted 35 Rule 313 lessons covering source checks, complementary non-singular tree/palm scope, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-355
phase: close
event_type: close-success
actor: claude-main
command: python3 batch_scripts/close_355.py
created_at: 2026-07-10T02:24:31Z
detail:
Closed Batch 355 / Rule 313 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17797->17847; Kuku words moved 126547->126747.

output_excerpt:
closed batch-355: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17797->17847, kuku_words 126547->126747


batch_label: batch-355
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 17847 rows; train 14971, dev 1447, synthtest 1429.
artifact_path: export/
created_at: 2026-07-10T02:25:25Z
detail:
Refreshed training export after Batch 355 close. Export now contains 17,847 accepted/revised rows: train 14,971, dev 1,447, synthtest 1,429.


batch_label: batch-355
phase: docs
event_type: source-books-updated
actor: claude-main
command: apply_patch reports/*.md
output_excerpt: reports updated with Batch 355 / Rule 313 markers and examples.
artifact_path: reports/
created_at: 2026-07-10T02:28:24Z
detail:
Updated all four living-book source markdown files for Batch 355 / Rule 313: operator guide, sample production pages, grammar cheatsheet, and dictionary errata. Current count now 17,847; export split 14,971/1,447/1,429; next handoff Rule 314 with bank_356.py and close_356.py.


batch_label: batch-355
phase: docs
event_type: render-local
actor: claude-main
command: ./render-docs.sh
output_excerpt: rendered four HTML docs and wrote index.html
artifact_path: public-docs/
created_at: 2026-07-10T02:28:53Z
detail:
Rendered public docs from updated living-book sources after Batch 355 / Rule 313. Regenerated operator-guide.html, sample-pages.html, grammar-cheatsheet.html, dictionary-errata.html, index.html, and raw markdown copies.


batch_label: batch-355
phase: docs
event_type: live-docs-verified
actor: claude-main
command: python3 live-docs urllib check with browser UA
output_excerpt: /docs HEAD 301 location=/docs/; all docs GET 200 markers=ok stale=none.
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T02:30:03Z
detail:
Verified live docs after Batch 355 render: /docs redirects 301 to /docs/; /docs/ and all four HTML plus four raw markdown documents return 200 with Batch 355 / Rule 313 / 17,847 markers and no stale current Batch 354 markers.


batch_label: batch-355
phase: docs
event_type: process-log-finalized
actor: claude-main
output_excerpt: Closeout replaced Pending with full acceptance/export/docs audit.
created_at: 2026-07-10T02:30:39Z
detail:
Finalized the Batch 355 process log closeout after acceptance, post-close lint, export refresh, living-book updates, local render, and live docs verification.

command:
apply_patch process_logs/batch-355-complementary-tree-palm-nonsingular-nonpast-perception-after-rule312-process.md


batch_label: batch-355
phase: final-audit
event_type: final-audit-green
actor: claude-main
command: python3 lint_corpus.py; sqlite3 counts; wc -l export/*.jsonl; live docs check
artifact_path: synthetic.db
created_at: 2026-07-10T02:31:20Z
detail:
Final audit after Batch 355: lint green over 17,847 rows, verified 17,847, under_review 0, remaining 2,153, Kuku words 126,747, Batch 355 accepted 50, reviews 250, lessons 35, lexeme logs 18, duplicate scan empty, export line counts total 17,847, live docs verified.

output_excerpt:
lint green; accepted 16936 revised 911; usable 17847; train/dev/synthtest 14971/1447/1429; duplicates 0.


batch_label: batch-356
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:53:59Z
detail:
Reread direct dictionary yaml entries for ten Rule 314 visible tree/palm targets; Patz singular/third-person pronoun, demonstrative, nyaji-ny, and past -ny evidence; and dictionary running-form nyajin examples before authoring Rule 314.


batch_label: batch-356
phase: planning
event_type: visible-tree-palm-singular-third-past-scope
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:53:59Z
detail:
Selected visible tree/palm singular/third-person past perception after Rule 313. The batch uses targets dulmbi, kakaji, mukukanka, murrkul, milbarkal, mirrbangku, mura, ngadil, nyumbil, and wankar with ngayu, yundu, nyulu, bula, jana, yaluy/yinyay, and dictionary-attested running-form nyajin. It opens no plant use, place-name, timber, woomera, shore/tide ecology, fruit, edible/food, leaching, poison, bloom, leech, necklace, artefact, case, compound, nonpast, purposive, reduplicated perception, or support-inflection semantics.


batch_label: batch-356
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:53:59Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'dulmbi': 20, 'kakaji': 20, 'mukukanka': 20, 'murrkul': 20, 'milbarkal': 20, 'mirrbangku': 20, 'mura': 20, 'ngadil': 20, 'nyumbil': 20, 'wankar': 20}; support={'ngayu': 1331, 'yundu': 927, 'nyulu': 602, 'bula': 398, 'jana': 1103, 'yaluy': 3692, 'yinyay': 3944, 'nyajin': 1150}.


batch_label: batch-356
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:53:59Z
detail:
Final 50 Rule 314 visible tree/palm singular/third-person past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-356
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_356.py
created_at: 2026-07-10T02:53:59Z
detail:
Static guard passed: 50 explicit hand-authored rows, one target each, bare singular/third-person nominative pronoun bands, bare yaluy/yinyay, final dictionary-form nyajin, no loans, no denied Kuku forms, no nyajil/nyajiny/segmented-form leakage, and no place/timber/woomera/fruit/bloom/leech/necklace/source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_356.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_356; print(bank_356.scan_static())"


batch_label: batch-356
phase: bank
event_type: bank-success
actor: codex
command: python3 batch_scripts/bank_356.py
output_excerpt: banked batch-356: 50 rows under_review; verified_before=17847; kuku_words_before=126747
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:53:59Z
detail:
Banked 50 Rule 314 rows as under_review. Verified total remains 17847; Kuku word count remains 126747.


batch_label: batch-356
phase: review
event_type: row-readback-green
actor: codex
command: python3 field-for-field readback plus sqlite3 band audit
output_excerpt: rows 50 field_mismatches 0; five 10-row bands, 10 distinct targets each
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:22Z
detail:
SQLite readback compared all 50 Batch 356 rows field-for-field against bank_356.ROWS: sequence, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence, and under_review status all matched; five bands each contained 10 distinct targets.


batch_label: batch-356
phase: review
event_type: duplicate-exact-scan-green
actor: codex
command: sqlite3 synthetic.db exact non-rejected lower(kuku) duplicate scan
output_excerpt: 0 duplicate groups
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:22Z
detail:
Corpus-wide exact duplicate scan over every non-rejected Kuku surface returned zero duplicate groups after Batch 356 banking.


batch_label: batch-356
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:29Z
detail:
After banking, lint scanned 17897 rows and found 0 issues; verified total remained 17847 before close.

output_excerpt:
lint: 17897 rows scanned, 0 issues flagged; GOAL METRIC: 17847 / 20000 verified sentences (126747 Kuku words)


batch_label: batch-356
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:29Z
detail:
Manual five-lens review passed all 50 Rule 314 rows. Morphology checked bare tree/palm noun objects, five bare singular/third-person nominative pronoun forms, bare yaluy/yinyay, and dictionary-attested nyajin past only. Lexicon checked selected visible target senses only, with place-name, timber, woomera, shore/tide ecology, fruit, leaching, poison, bloom, leech, necklace, artefact, and source prose closed. Syntax checked five singular/third-person past-perception bands against Patz transitive-pronoun examples. Fidelity checked literal visual past reference/perception English. Register stayed plain elicitation-style.


batch_label: batch-356
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:29Z
detail:
Final review retained no place-name/timber/woomera/shore-tide-ecology/fruit/leaching/poison/date-shape/sweetness/bloom/minya-jalan/leech-fauna/water-side-ecology/flower/seed/necklace/artefact/material-use/source-prose drift, no target case, productive compound, demonstrative case, pronoun case, perception compound, nonpast/purposive/reduplicated perception drift, or support inflection. Orthography was explicitly triangulated: Patz nyaji-ny and past -ny plus dictionary running-form nyajin examples.


batch_label: batch-356
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:29Z
detail:
Inserted 35 Rule 314 lessons covering source checks, singular/third-person past tree/palm scope, orthography, coverage, lexical target senses, morphology, syntax, fidelity, register, process traps, and handoff.


batch_label: batch-356
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_356.py
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T02:55:29Z
detail:
Closed Batch 356 / Rule 314 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17847->17897; Kuku words moved 126747->126947.

output_excerpt:
closed batch-356: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17847->17897, kuku_words 126747->126947


batch_label: batch-356
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py
output_excerpt: Exported 17897 rows; train 15012, dev 1449, synthtest 1436
artifact_path: export/
created_at: 2026-07-10T02:56:22Z
detail:
Refreshed training export after Rule 314 close: 17,897 accepted/revised rows split train/dev/synthtest as 15,012 / 1,449 / 1,436.


batch_label: batch-356
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch four reports
artifact_path: reports/
created_at: 2026-07-10T02:59:08Z
detail:
Updated all four living-book sources for Batch 356 / Rule 314 at 17,897 verified: operator guide, sample production pages, mega grammar cheatsheet, and dictionary errata. Recorded Patz nyaji-ny/past -ny plus dictionary running-form nyajin evidence, all lexical exclusions, export split 15,012/1,449/1,436, and Rule 315/Batch 357 handoff.

output_excerpt:
four source books carry Batch 356 / Rule 314 / 17,897 markers; stale current Batch 355 markers absent


batch_label: batch-356
phase: docs
event_type: render-local
actor: codex
command: ./render-docs.sh
output_excerpt: rendered four HTML files and wrote index.html; local marker audit green
artifact_path: public-docs/
created_at: 2026-07-10T03:00:03Z
detail:
Rendered public-docs after Batch 356 / Rule 314. Operator, sample, grammar, and errata HTML plus raw markdown all contain 17,897 and current Batch 356 markers; index links all four HTML/MD pairs; stale current Batch 355 markers are absent.


batch_label: batch-356
phase: docs
event_type: live-docs-verified
actor: codex
command: curl redirect check plus urllib marker/staleness and SHA-256 audits
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T03:01:11Z
detail:
Verified https://mobtranslate.com/docs live with browser UA: /docs returns 301 Location /docs/; index, four HTML pages, and four raw markdown files return 200 with Batch 356 / Rule 314 / 17,897 markers and no stale current Batch 355 markers. All four live markdown files are byte-identical to local artifacts; HTML differs only by Cloudflare's 504-byte Web Analytics beacon injection.

output_excerpt:
301 /docs/; 9/9 content endpoints 200; marker checks green; 4/4 markdown exact; HTML Cloudflare beacon-only transform


batch_label: batch-356
phase: docs
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: Batch 356 closeout complete through live-docs event 3748
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T03:01:46Z
detail:
Finalized Batch 356 process log with source evidence, all 50 planned rows, guardrails, under-review and close results, five-lens rationale, export split, four-book update, local render, live endpoint/hash verification, event IDs, and Rule 315 handoff.


batch_label: batch-356
phase: final-audit
event_type: final-audit-green
actor: codex
command: final lint, PRAGMA integrity/foreign_key_check, corpus/batch/duplicate/export/docs audits
output_excerpt: GREEN: 17897 verified, 0 lint, 0 under_review, 0 duplicates, export 15012/1449/1436, remaining 2103
artifact_path: process_logs/batch-356-visible-tree-palm-singular-third-past-perception-after-rule313-process.md
created_at: 2026-07-10T03:03:09Z
detail:
Final Batch 356 audit green: SQLite integrity ok and no foreign-key findings; lint 17,897/0 issues; status 16,986 accepted + 911 revised + 0 under_review; 126,947 Kuku words; 2,103 remaining; exact duplicate groups 0; Batch 356 has 50 accepted distinct rows, 250/250 five-lens passes, 35 lessons, 18 lexeme logs; export files total exactly 17,897 lines; all eight living/rendered Markdown artifacts carry current markers; live docs already verified.


batch_label: batch-357
phase: source
event_type: source-readback
actor: codex
created_at: 2026-07-10T03:13:51Z
detail:
Reread direct dictionary yaml entries for all ten Rule 315 low-coverage visible tree/palm/mangrove targets, dictionary nyajil, and Patz pronoun, demonstrative, nonpast, and pronoun-A/bare-O evidence before authoring Rule 315.

artifact_path:
process_logs/batch-357-low-coverage-visible-tree-singular-third-nonpast-perception-after-rule314-process.md


batch_label: batch-357
phase: planning
event_type: low-coverage-visible-tree-singular-third-nonpast-scope
actor: codex
created_at: 2026-07-10T03:13:51Z
detail:
Selected six zero-use and four one-use direct-dictionary tree/palm/mangrove heads for bare singular/third-person nonpast visual perception. Explicitly closed place-name, poison/sap/blindness, fruit/seed/food, wood-goanna, country/story/personification, timber/woomera/spear/gum, material-use, case, compound, past/purposive/reduplicated perception, and support-inflection semantics.

artifact_path:
process_logs/batch-357-low-coverage-visible-tree-singular-third-nonpast-perception-after-rule314-process.md


batch_label: batch-357
phase: preflight
event_type: coverage-audit
actor: codex
created_at: 2026-07-10T03:13:51Z
detail:
Token-aware accepted/revised coverage before banking from words_used JSON: targets={'miyilabu': 0, 'ngalkarran': 0, 'wada': 0, 'wangku': 0, 'yinkunji': 0, 'yurrunji': 0, 'jajikal': 1, 'jalnji': 1, 'jinjay': 1, 'kurubarr': 1}; support={'ngayu': 1341, 'yundu': 937, 'nyulu': 612, 'bula': 408, 'jana': 1113, 'yaluy': 3722, 'yinyay': 3964, 'nyajil': 3797}.

artifact_path:
process_logs/batch-357-low-coverage-visible-tree-singular-third-nonpast-perception-after-rule314-process.md


batch_label: batch-357
phase: preflight
event_type: duplicate-preflight
actor: codex
created_at: 2026-07-10T03:13:51Z
detail:
Final 50 Rule 315 low-coverage visible tree/palm/mangrove singular/third-person nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-357
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_357.py
created_at: 2026-07-10T03:13:51Z
detail:
Static guard passed: 50 explicit hand-authored rows, exact per-sequence Kuku and English contracts, one selected target each, bare nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no source-prose/polysemy drift.

command:
python3 -m py_compile batch_scripts/bank_357.py && python3 -c "import sys; sys.path.insert(0,'batch_scripts'); import bank_357; print(bank_357.scan_static())"


batch_label: batch-357
phase: bank
event_type: bank-success
actor: codex
command: python3 batch_scripts/bank_357.py
output_excerpt: banked batch-357: 50 rows under_review; verified_before=17897; kuku_words_before=126947
created_at: 2026-07-10T03:13:51Z
detail:
Banked 50 Rule 315 rows as under_review. Verified total remains 17897; Kuku word count remains 126947.


batch_label: batch-357
phase: review
event_type: row-readback-green
actor: codex
command: python3 field-for-field SQLite readback
output_excerpt: rows 50 field_mismatches 0
created_at: 2026-07-10T03:14:27Z
detail:
SQLite readback compared all 50 Batch 357 rows field-for-field against bank_357.ROWS: sequence, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence, and under_review status all matched.


batch_label: batch-357
phase: review
event_type: duplicate-exact-scan-green
actor: codex
command: sqlite3 synthetic.db exact non-rejected lower(kuku) duplicate scan
output_excerpt: 0 duplicate groups
created_at: 2026-07-10T03:14:34Z
detail:
Corpus-wide exact duplicate scan over every non-rejected Kuku surface returned zero duplicate groups after Batch 357 banking.


batch_label: batch-357
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
created_at: 2026-07-10T03:14:41Z
detail:
After banking, lint scanned 17947 rows and found 0 issues; verified total remained 17897 before close.

output_excerpt:
lint: 17947 rows scanned, 0 issues flagged; GOAL METRIC: 17897 / 20000 verified sentences (126947 Kuku words)


batch_label: batch-357
phase: review
event_type: five-lens-pass
actor: codex
created_at: 2026-07-10T03:14:41Z
detail:
Manual five-lens review passed all 50 Rule 315 rows. Morphology checked bare target O forms, five bare nominative pronoun A forms, yaluy/yinyay, and nonpast nyajil only. Lexicon checked ten direct target senses while closing place, poison, fruit, fauna, story, material-use, and ecology prose. Syntax checked five A-O-local-V bands against Patz sensory-perception argument evidence. Fidelity checked exact subject/target/location/see English contracts. Register stayed plain elicitation-style.


batch_label: batch-357
phase: review
event_type: review-detail
actor: codex
created_at: 2026-07-10T03:14:41Z
detail:
Final review retained no Bloomfield/Ayton/Main-camp/country/story/personification, poison/sap/blindness, fruit/seed/food/colour/season, wood-goanna, timber/woomera/spear/gum/bark/cure/material-use/ecology, target/pronoun/demonstrative case, compound, past/purposive/reduplicated perception, or support-inflection drift.


batch_label: batch-357
phase: review
event_type: lesson-inventory
actor: codex
created_at: 2026-07-10T03:14:41Z
detail:
Inserted 35 Rule 315 lessons covering source checks, coverage debt, selected senses, morphology, syntax, fidelity, register, explicit-row authorship, cumulative traps, and handoff.


batch_label: batch-357
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_357.py
created_at: 2026-07-10T03:14:41Z
detail:
Closed Batch 357 / Rule 315 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17897->17947; Kuku words moved 126947->127147.

output_excerpt:
closed batch-357: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17897->17947, kuku_words 126947->127147


batch_label: batch-357
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py
output_excerpt: Exported 17947 rows; train 15053, dev 1454, synthtest 1440
artifact_path: export/
created_at: 2026-07-10T03:15:50Z
detail:
Refreshed training export after Rule 315 close: 17,947 accepted/revised rows split train/dev/synthtest as 15,053 / 1,454 / 1,440.


batch_label: batch-357
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch four reports
artifact_path: reports/
created_at: 2026-07-10T03:18:31Z
detail:
Updated all four living-book sources for Batch 357 / Rule 315 at 17,947 verified: operator guide, sample pages, grammar cheatsheet, and dictionary errata. Preserved zero/one-use coverage evidence, all target-sense exclusions, explicit-row authorship, export split 15,053/1,454/1,440, and Rule 316/Batch 358 handoff.

output_excerpt:
four source books carry Batch 357 / Rule 315 / 17,947 markers; stale current Batch 356 markers absent


batch_label: batch-357
phase: docs
event_type: render-local
actor: codex
command: ./render-docs.sh
output_excerpt: rendered four HTML files and wrote index.html; local marker audit green
artifact_path: public-docs/
created_at: 2026-07-10T03:19:19Z
detail:
Rendered public-docs after Batch 357 / Rule 315. Operator, sample, grammar, and errata HTML plus raw markdown contain 17,947 and current Batch 357 markers; index links all four HTML/MD pairs; stale current Batch 356 markers are absent.


batch_label: batch-357
phase: docs
event_type: live-docs-verified
actor: codex
command: curl redirect plus urllib status, marker, staleness, and SHA-256-equivalent byte audits
output_excerpt: 301 /docs/; 9/9 content endpoints 200; markers green; 4/4 markdown byte-identical
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T03:19:49Z
detail:
Verified https://mobtranslate.com/docs live with browser UA: /docs returns 301 Location /docs/; index, four HTML pages, and four raw markdown files return 200 with Batch 357 / Rule 315 / 17,947 markers and no stale current Batch 356 markers. All four live markdown files are byte-identical to local artifacts.


batch_label: batch-357
phase: process
event_type: ledger-write-retry
actor: codex
command: sequential retry of process_ledger.py duplicate-exact-scan-green
output_excerpt: first append 3757; concurrent peer locked; sequential retry 3758
created_at: 2026-07-10T03:20:03Z
detail:
While appending row-readback and duplicate-scan process events concurrently, SQLite accepted event 3757 and rejected the other append with database locked. The duplicate-scan event was rerun sequentially and committed as event 3758. No sentence, batch, review, lesson, lexeme, or status transaction was involved or changed.


batch_label: batch-357
phase: docs
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: Batch 357 closeout complete through process event 3769
created_at: 2026-07-10T03:20:51Z
detail:
Finalized Batch 357 process log with source and coverage evidence, 50 planned rows, guardrails, exact readback, five-lens close, export, four-book update, local/live docs verification, SQLite ledger-retry note, event IDs, and Rule 316 handoff.


batch_label: batch-357
phase: final-audit
event_type: final-audit-green
actor: codex
command: final lint, PRAGMA integrity/foreign_key_check, corpus/batch/coverage/duplicate/export/docs audits
output_excerpt: GREEN: 17947 verified, 0 lint, 0 under_review, 0 duplicates, export 15053/1454/1440, remaining 2053
created_at: 2026-07-10T03:21:44Z
detail:
Final Batch 357 audit green: SQLite integrity ok and no foreign-key findings; lint 17,947/0 issues; status 17,036 accepted + 911 revised + 0 under_review; 127,147 Kuku words; 2,053 remaining; exact duplicate groups 0; Batch 357 has 50 accepted distinct explicit rows, 250/250 five-lens passes, 35 lessons, 18 lexeme logs; six zero-use targets now have 5 uses and four one-use targets now have 6; export files total exactly 17,947 lines; all eight source/rendered Markdown artifacts carry current markers; live docs verified.


batch_label: batch-358
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:30:31Z
detail:
Reread direct dictionary yaml entries for ten Rule 316 low-coverage bird targets, dictionary nyajil, and Patz non-singular pronoun, demonstrative, nonpast, and sensory-perception A/O evidence before authoring.


batch_label: batch-358
phase: planning
event_type: low-coverage-bird-nonsingular-nonpast-scope
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:30:31Z
detail:
Selected eight zero-use and two one-use lint-safe direct-dictionary bird heads for bare non-singular nonpast visual perception. Excluded unsupported solid reduplications and closed colour, messenger/totem/moiety, call, warning/crocodile, danger, ceremonial wood, feeding, habitat, hunting, case, compound, tense, and support-inflection semantics.


batch_label: batch-358
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:30:31Z
detail:
Token-aware accepted/revised coverage before banking: targets={'dabway': 0, 'kalmnbagarr': 0, 'kurkunbay': 0, 'kurrburrubun': 0, 'kurrujuwa': 0, 'mirrki': 0, 'mirrku': 0, 'mulumu': 0, 'munungkul': 1, 'ngarkay': 1}; support={'ngali': 503, 'ngaliny': 445, 'yubal': 455, 'yurra': 440, 'ngana': 1025, 'yaluy': 3742, 'yinyay': 3994, 'nyajil': 3847}.


batch_label: batch-358
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:30:31Z
detail:
Final 50 Rule 316 bird non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-358
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_358.py
created_at: 2026-07-10T03:30:31Z
detail:
Static guard passed: 50 explicit hand-authored rows, exact per-sequence Kuku and English contracts, one selected bird each, bare non-singular nominative pronoun bands, bare yaluy/yinyay, final nyajil, no loans, no denied Kuku forms, and no commentary/behavior drift.

command:
python3 -m py_compile batch_scripts/bank_358.py && python3 -c "import sys;sys.path.insert(0,'batch_scripts');import bank_358;print(bank_358.scan_static())"


batch_label: batch-358
phase: bank
event_type: bank-success
actor: codex
command: python3 batch_scripts/bank_358.py
output_excerpt: banked batch-358: 50 rows under_review; verified_before=17947; kuku_words_before=127147
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:30:31Z
detail:
Banked 50 Rule 316 rows as under_review. Verified total remains 17947; Kuku word count remains 127147.


batch_label: batch-358
phase: review
event_type: row-readback-green
actor: codex
command: python3 field-for-field SQLite readback
output_excerpt: rows 50 field_mismatches 0
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:10Z
detail:
SQLite readback compared all 50 Batch 358 rows field-for-field against bank_358.ROWS: sequence, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence, and under_review status all matched.


batch_label: batch-358
phase: review
event_type: duplicate-exact-scan-green
actor: codex
command: sqlite3 exact non-rejected lower(kuku) duplicate scan
output_excerpt: 0 duplicate groups
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:11Z
detail:
Corpus-wide exact duplicate scan over every non-rejected Kuku surface returned zero duplicate groups after Batch 358 banking.


batch_label: batch-358
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:19Z
detail:
After banking, lint scanned 17997 rows and found 0 issues; verified total remained 17947 before close.

output_excerpt:
lint: 17997 rows scanned, 0 issues flagged; GOAL METRIC: 17947 / 20000 verified sentences (127147 Kuku words)


batch_label: batch-358
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:19Z
detail:
Manual five-lens review passed all 50 Rule 316 rows. Morphology checked bare bird O forms, five bare non-singular nominative pronoun A forms, yaluy/yinyay, and nonpast nyajil only. Lexicon checked ten direct bird senses while closing colour, totem, warning, ceremony, behavior, habitat, and hunting prose. Syntax checked five A-O-local-V bands. Fidelity checked exact subject/bird/location/see English contracts. Register stayed elicitation-style.


batch_label: batch-358
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:19Z
detail:
Final review retained no messenger/totem/moiety, call/song, stockwhip, crocodile-warning/river-bank danger, anatomy proposition, ceremonial wood, sacred/corroboree, feeding/leaves/shade/tree, grass/swamp/walking/mud/hunting/prey/habitat, case, compound, past/purposive/reduplicated perception, or support-inflection drift.


batch_label: batch-358
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:19Z
detail:
Inserted 35 Rule 316 lessons covering sources, linter restraint, coverage debt, senses, morphology, syntax, fidelity, register, explicit-row authorship, traps, and handoff.


batch_label: batch-358
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_358.py
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:31:19Z
detail:
Closed Batch 358 / Rule 316 with 50 accepted rows, 250 review passes, 35 lessons, and 18 lexeme/source-log rows. Verified sentences moved 17947->17997; Kuku words moved 127147->127347.

output_excerpt:
closed batch-358: accepted=50, reviews=250, lessons=35, lexeme_logs=18, verified 17947->17997, kuku_words 127147->127347


batch_label: batch-358
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py
output_excerpt: Exported 17997 rows; train 15098, dev 1456, synthtest 1443
artifact_path: export/
created_at: 2026-07-10T03:32:07Z
detail:
Refreshed training export after Rule 316 close: 17,997 accepted/revised rows split train/dev/synthtest as 15,098 / 1,456 / 1,443.


batch_label: batch-358
phase: docs
event_type: source-books-updated
actor: codex
command: apply_patch four reports
output_excerpt: four sources carry Batch 358 / Rule 316 / 17,997; stale current Batch 357 markers absent
artifact_path: reports/
created_at: 2026-07-10T03:34:32Z
detail:
Updated all four living-book sources for Batch 358 / Rule 316 at 17,997 verified. Preserved eight-zero/two-one coverage evidence, bird-sense exclusions, rejected solid-reduplication decision, static-guard refinement, export split 15,098/1,456/1,443, and Rule 317/Batch 359 handoff.


batch_label: batch-358
phase: docs
event_type: render-local
actor: codex
command: ./render-docs.sh
output_excerpt: rendered four HTML files and index; local marker audit green
artifact_path: public-docs/
created_at: 2026-07-10T03:35:14Z
detail:
Rendered public-docs after Batch 358 / Rule 316. Operator, sample, grammar, and errata HTML plus raw markdown contain 17,997 and current Batch 358 markers; index links all four HTML/MD pairs; stale current Batch 357 markers are absent.


batch_label: batch-358
phase: docs
event_type: live-docs-verified
actor: codex
command: curl redirect plus urllib status, marker, staleness, and byte audits
output_excerpt: 301 /docs/; 9/9 endpoints 200; markers green; 4/4 markdown byte-identical
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T03:35:46Z
detail:
Verified https://mobtranslate.com/docs live with browser UA: /docs returns 301 Location /docs/; index, four HTML pages, and four raw markdown files return 200 with Batch 358 / Rule 316 / 17,997 markers and no stale current Batch 357 markers. All four live markdown files are byte-identical to local artifacts.


batch_label: batch-358
phase: docs
event_type: process-log-finalized
actor: codex
command: apply_patch process log closeout
output_excerpt: Batch 358 closeout complete through event 3789
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:36:15Z
detail:
Finalized Batch 358 process log with source/coverage evidence, rejected solid reduplications, static-guard refinement, 50 rows, exact readback, five-lens close, export, four-book update, local/live docs verification, event IDs, and Rule 317 handoff.


batch_label: batch-358
phase: final-audit
event_type: final-audit-green
actor: codex
command: final lint, PRAGMA integrity/foreign_key_check, corpus/batch/coverage/duplicate/export/docs audits
output_excerpt: GREEN: 17997 verified, 0 lint, 0 under_review, 0 duplicates, export 15098/1456/1443, remaining 2003
artifact_path: process_logs/batch-358-low-coverage-bird-nonsingular-nonpast-perception-after-rule315-process.md
created_at: 2026-07-10T03:37:01Z
detail:
Final Batch 358 audit green: SQLite integrity ok and no foreign-key findings; lint 17,997/0 issues; status 17,086 accepted + 911 revised + 0 under_review; 127,347 Kuku words; 2,003 remaining; exact duplicates 0; Batch 358 has 50 accepted distinct explicit rows, 250/250 five-lens passes, 35 lessons, 18 lexeme logs; eight zero-use birds now have 5 uses and two one-use birds now have 6; export totals exactly 17,997; all eight source/rendered books carry current markers; live docs verified.


batch_label: batch-359
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:46:31Z
detail:
Reread all ten direct dictionary insect entries and Patz pronoun, demonstrative, past, sensory-perception A/O, plus dictionary running-form nyajin evidence before authoring Rule 317.


batch_label: batch-359
phase: planning
event_type: low-coverage-insect-singular-third-past-scope
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:46:31Z
detail:
Selected five zero-use and five one-to-three-use lint-safe creature nouns for bare singular/third-person past visual perception. Excluded unsupported solid reduplications and non-creature ant-bed candidate; closed seasonal, food, sting, sickness, habitat, behavior, case, compound, tense, and support-inflection semantics.


batch_label: batch-359
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:46:31Z
detail:
Token-aware accepted/revised coverage before banking: targets={'kalkamal': 0, 'kuran': 0, 'kurrmaja': 0, 'murma': 0, 'wurrbu': 0, 'durra': 1, 'jiljay': 1, 'karrkil': 1, 'kawa': 2, 'jabarrangkul': 3}; support={'ngayu': 1351, 'yundu': 947, 'nyulu': 622, 'bula': 418, 'jana': 1123, 'yaluy': 3772, 'yinyay': 4014, 'nyajin': 1200}.


batch_label: batch-359
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:46:31Z
detail:
Final 50 Rule 317 insect singular/third past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-359
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_359.py
created_at: 2026-07-10T03:46:31Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English contracts, one selected creature each, bare pronouns and demonstratives, final nyajin, no loans, no denied forms, and no source-prose/prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_359.py && python3 -c "import sys;sys.path.insert(0,'batch_scripts');import bank_359;print(bank_359.scan_static())"


batch_label: batch-359
phase: audit
event_type: audit-command-correction
actor: codex
command: sqlite3 PRAGMA/table audit; corrected field-for-field Python readback
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:47:59Z
detail:
The first read-only audit invocation assumed obsolete batches.slug and an implicit batch_scripts import path; it failed without mutating corpus data. Repeated against batches.label with batch_scripts explicitly on sys.path, then obtained a complete green readback.

output_excerpt:
initial: no such column b.slug; ModuleNotFoundError process_ledger; corrected audit: 50 DB rows = 50 script rows, 0 core-field diffs


batch_label: batch-359
phase: audit
event_type: row-readback-green
actor: codex
command: sqlite3 batch readback plus Python tuple comparison against bank_359.ROWS
artifact_path: batch_scripts/bank_359.py
created_at: 2026-07-10T03:48:06Z
detail:
Read back all 50 banked Rule 317 rows in sequence and compared every script-authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus bank metadata. DB and bank_359.py are field-for-field identical; all rows remain under_review.

output_excerpt:
db_rows=50 script_rows=50 core_field_diffs=0; metadata under_review/project_approved_synthetic_pending_elder_verification/codex-main=50; GREEN


batch_label: batch-359
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
command: SELECT kuku, COUNT(*) FROM sentences GROUP BY kuku HAVING COUNT(*) > 1
output_excerpt: 0 rows
artifact_path: synthetic.db
created_at: 2026-07-10T03:48:12Z
detail:
Scanned the entire 18,047-row banked corpus for exact duplicate Kuku surfaces after Batch 359 banking. No duplicate group exists.


batch_label: batch-359
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:48:51Z
detail:
Manual five-lens review passed all 50 Rule 317 rows: bare creature O morphology, nominative pronoun A, fixed local/past support, direct creature senses, exact English fidelity, and elicitation register; all source-prose and prior-row behavior remained closed.


batch_label: batch-359
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:48:51Z
detail:
No seasonal/egg event, edibility/food, colour, sting/bite/sickness, nest/habitat, life cycle, fishing, rain prediction, behavior, social teaching, case, compound, nonpast/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-359
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:48:51Z
detail:
Inserted 35 Rule 317 lessons covering source, exclusions, coverage, senses, morphology, syntax, fidelity, register, explicit authorship, traps, handoff.


batch_label: batch-359
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_359.py
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:48:51Z
detail:
Closed Batch 359 / Rule 317: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 17997->18047; Kuku words 127347->127547.

output_excerpt:
closed batch-359 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 17997->18047 words 127347->127547


batch_label: batch-359
phase: documentation
event_type: source-books-updated
actor: codex
output_excerpt: four source books current at Batch 359 / Rule 317 / 18,047; next bank_360.py and close_360.py
artifact_path: reports/
created_at: 2026-07-10T03:53:43Z
detail:
Updated all four canonical Markdown books to Batch 359 / Rule 317 and 18,047 verified sentences. Added the full source basis, five frames, target and support inventories, semantic exclusions, rejected candidates, English moth guard refinement, process evidence, Rule 318 handoff, and cumulative trap marker dn.


batch_label: batch-359
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh; sha256sum source/public Markdown pairs; current/stale marker rg
output_excerpt: 4 HTML rendered; 4 Markdown SHA-256 pairs identical; stale-current query 0 rows
artifact_path: public-docs/
created_at: 2026-07-10T03:54:25Z
detail:
Rendered index plus all four self-contained HTML books and copied all four raw Markdown books. Local marker audit found Batch 359 / Rule 317 / 18,047 and Rule 318 handoff throughout; stale current Batch 358 markers were absent. Each rendered Markdown copy is byte-identical to its canonical report source.


batch_label: batch-359
phase: documentation
event_type: live-docs-verified
actor: codex
output_excerpt: /docs 301 /docs/; 9 routes 200; 4/4 HTML current; 4/4 stale-current absent; 4/4 Markdown IDENTICAL
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T03:55:30Z
detail:
Verified https://mobtranslate.com/docs/ live with a browser user agent. /docs returns 301 to /docs/; index, four HTML books, and four raw Markdown books return 200. All normal HTML URLs carry Batch 359 / Rule 317 / 18,047 markers and no stale current Batch 358 marker; index links both formats; all four normal live Markdown bodies are SHA-256 identical to local rendered copies. The first sample-page marker probe falsely failed because Pandoc wrapped Rule 317 across a newline; whitespace-normalized repetition passed. Cache-Control is public max-age=300 must-revalidate and CF reports DYNAMIC.

command:
curl browser-UA status, normalized marker, index-link, and SHA-256 audits against https://mobtranslate.com/docs/


batch_label: batch-359
phase: final
event_type: final-audit-green
actor: codex
artifact_path: synthetic.db
created_at: 2026-07-10T03:56:53Z
detail:
Final Batch 359 audit passed: whole-corpus lint 18,047 rows/0 issues; 17,136 accepted plus 911 revised; 127,547 Kuku words; 1,953 remaining; zero under_review/rejected and zero exact Kuku duplicate groups. Batch has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs. Target coverage is 5/5/5/5/5/6/6/6/7/8 as planned. Train/dev/synthtest line counts are 15,144/1,460/1,443 = 18,047. Four source/public Markdown pairs are byte-identical and current. SQLite integrity_check is ok and foreign_key_check returned no rows.

command:
lint_corpus.py; SQLite count/duplicate/batch/coverage/integrity/foreign-key audit; wc export JSONL; cmp source/public Markdown

output_excerpt:
18047 verified; 127547 words; 1953 remaining; lint 0; dup 0; integrity ok; FK 0; exports 18047; 4/4 MD pairs identical


batch_label: batch-359
phase: documentation
event_type: process-log-finalized
actor: codex
output_excerpt: Closeout finalized; handoff 18,047 / 20,000 with 1,953 remaining
artifact_path: process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md
created_at: 2026-07-10T03:57:28Z
detail:
Replaced the Batch 359 process dossier's pending closeout with the complete reproducible record: guard refinement, banking, failed read-only audit assumptions and correction, field readback, duplicate/lint checks, five-lens review, closure, export, four-book update, render, live verification, final integrity metrics, and process event IDs 3792-3811.

command:
apply_patch process_logs/batch-359-low-coverage-insect-singular-third-past-perception-after-rule316-process.md


batch_label: batch-360
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:09:03Z
detail:
Reread all ten direct dictionary fish entries, checked every target against Patz (only ngiwa occurs, as ngiwa-nda salt-water eel), and reread Patz pronoun, demonstrative, nonpast, sensory-perception A/O, plus dictionary running-form nyajil evidence before authoring Rule 318.


batch_label: batch-360
phase: planning
event_type: low-coverage-fish-nonsingular-nonpast-scope
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:09:03Z
detail:
Selected five zero-use, three one-use, one two-use, and one three-use lint-safe fish nouns for bare non-singular nonpast visual perception. Excluded Nyungkul-only candidates and linter-invalid spellings; treated three reduplicated and one compound dictionary heads as indivisible lexemes; closed dialect, homograph, story/place, habitat, capture, food/taboo, behavior, case, new word-formation, tense, and support-inflection semantics.


batch_label: batch-360
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:09:03Z
detail:
Token-aware accepted/revised coverage before banking: targets={'kundurr-kundurr': 0, 'kurruba': 0, 'mangkurr-mangkurr': 0, 'murrabal': 0, 'ngiwa': 0, 'dijarr': 1, 'dukul-barangkal': 1, 'jalil-jalil': 1, 'kalu': 2, 'mawul': 3}; support={'ngali': 513, 'ngaliny': 455, 'yubal': 465, 'yurra': 450, 'ngana': 1035, 'yaluy': 3792, 'yinyay': 4044, 'nyajil': 3897}.


batch_label: batch-360
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:09:03Z
detail:
Final 50 Rule 318 fish non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-360
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_360.py
created_at: 2026-07-10T04:09:03Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English contracts, one selected fish head each, bare non-singular pronouns and Yalanji demonstratives, final nyajil, no loans, no denied forms, and no source-prose/prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_360.py && python3 -c "import sys;sys.path.insert(0,'batch_scripts');import bank_360;print(bank_360.scan_static())"


batch_label: batch-360
phase: audit
event_type: row-readback-green
actor: codex
command: sqlite3 batch readback plus Python tuple comparison against bank_360.ROWS
artifact_path: batch_scripts/bank_360.py
created_at: 2026-07-10T04:09:56Z
detail:
Read back all 50 banked Rule 318 rows in sequence and compared every script-authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus bank metadata. DB and bank_360.py are field-for-field identical; all rows remain under_review.

output_excerpt:
db_rows=50 script_rows=50 core_field_diffs=0; metadata under_review/project_approved_synthetic_pending_elder_verification/codex-main=50; GREEN


batch_label: batch-360
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: 0 rows
artifact_path: synthetic.db
created_at: 2026-07-10T04:10:04Z
detail:
Scanned the entire 18,097-row banked corpus by normalized exact Kuku surface after Batch 360 banking. No duplicate group exists.

command:
SELECT lower(trim(kuku)),COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*)>1


batch_label: batch-360
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:10:12Z
detail:
Manual five-lens review passed all 50 Rule 318 rows: bare fish O morphology, nominative non-singular pronoun A, fixed Yalanji local/nonpast support, direct fish senses, exact English fidelity, and elicitation register; dialect, homograph, story/place, source-prose, and prior-row behavior remained closed.


batch_label: batch-360
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:10:12Z
detail:
No dialect alternative, homograph, place/snake-story site, comparison/distribution, habitat, capture/fishing, cooking/eating, food/taboo, tide, behavior, body-property, case, new compound/reduplication, past/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-360
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:10:12Z
detail:
Inserted 35 Rule 318 lessons covering source, exclusions, coverage, senses, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-360
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_360.py
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:10:12Z
detail:
Closed Batch 360 / Rule 318: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18047->18097; Kuku words 127547->127747.

output_excerpt:
closed batch-360 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18047->18097 words 127547->127747


batch_label: batch-360
phase: documentation
event_type: source-books-updated
actor: codex
command: apply_patch four canonical reports
output_excerpt: four source books current at Batch 360 / Rule 318 / 18,097; next bank_361.py and close_361.py
artifact_path: reports/
created_at: 2026-07-10T04:13:51Z
detail:
Updated all four canonical Markdown books to Batch 360 / Rule 318 and 18,097 verified sentences. Added direct dictionary and Patz evidence, five frames, target/support inventories, dialect and linter exclusions, lexicalized reduplication/compound boundary, semantic closures, process evidence, Rule 319 handoff, and cumulative trap marker do.


batch_label: batch-360
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh; SHA-256/cmp source-public pairs; current/stale marker rg
output_excerpt: 4 HTML rendered; 4 Markdown pairs identical; stale-current query 0 rows
artifact_path: public-docs/
created_at: 2026-07-10T04:14:44Z
detail:
Rendered index plus all four self-contained HTML books and copied all four raw Markdown books. Local marker audit found Batch 360 / Rule 318 / 18,097 and Rule 319 handoff throughout; stale current Batch 359 markers were absent. Each rendered Markdown copy is byte-identical to its canonical report source.


batch_label: batch-360
phase: documentation
event_type: live-docs-verified
actor: codex
output_excerpt: /docs 301 /docs/; 9 routes 200; 4/4 HTML current; 4/4 stale-current absent; 4/4 Markdown IDENTICAL
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T04:15:15Z
detail:
Verified https://mobtranslate.com/docs/ live with a browser user agent. /docs returns 301 to /docs/; index, four HTML books, and four raw Markdown books return 200. All normal HTML URLs carry Batch 360 / Rule 318 / 18,097 markers and no stale current Batch 359 marker; index links both formats; all four normal live Markdown bodies are SHA-256 identical to local rendered copies. Cache-Control is public max-age=300 must-revalidate and CF reports DYNAMIC.

command:
curl browser-UA redirect, status, normalized marker, index-link, and SHA-256 audits against https://mobtranslate.com/docs/


batch_label: batch-360
phase: final
event_type: final-audit-green
actor: codex
artifact_path: synthetic.db
created_at: 2026-07-10T04:16:00Z
detail:
Final Batch 360 audit passed: whole-corpus lint 18,097 rows/0 issues; 17,186 accepted plus 911 revised; 127,747 Kuku words; 1,903 remaining; zero under_review/rejected and zero normalized exact Kuku duplicate groups. Batch has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs. Target coverage is 5/5/5/5/5/6/6/6/7/8 as planned. Train/dev/synthtest line counts are 15,183/1,467/1,447 = 18,097. Four source/public Markdown pairs are byte-identical and current. SQLite integrity_check is ok and foreign_key_check returned no rows.

command:
lint_corpus.py; SQLite count/duplicate/batch/coverage/integrity/foreign-key audit; wc export JSONL; cmp source/public Markdown

output_excerpt:
18097 verified; 127747 words; 1903 remaining; lint 0; dup 0; integrity ok; FK 0; exports 18097; 4/4 MD pairs identical


batch_label: batch-360
phase: documentation
event_type: process-log-finalized
actor: codex
output_excerpt: Closeout finalized; handoff 18,097 / 20,000 with 1,903 remaining
artifact_path: process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md
created_at: 2026-07-10T04:16:39Z
detail:
Replaced the Batch 360 process dossier's pending closeout with the complete reproducible record: structured candidate selection, dialect/linter exclusions, explicit-row inventory, banking, field readback, duplicate/lint checks, five-lens review, lexicalized-word boundary, closure, export, four-book update, render, live verification, final integrity metrics, and process event IDs 3813-3831.

command:
apply_patch process_logs/batch-360-low-coverage-fish-nonsingular-nonpast-perception-after-rule317-process.md


batch_label: batch-361
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:25:35Z
detail:
Reread all ten direct dictionary reptile entries, checked every target against Patz (none occurs as a lexical target), and reread Patz pronoun, demonstrative, past, sensory-perception A/O, plus dictionary running-form nyajin evidence before authoring Rule 319.


batch_label: batch-361
phase: planning
event_type: low-coverage-reptile-singular-third-past-scope
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:25:35Z
detail:
Selected ten zero-to-five-use lint-safe reptile nouns for bare singular/third-person past visual perception. Reduced English to basic creature labels; treated bilbil-bilbil as an indivisible dictionary head and noun jabil separately from the kick homograph; closed mythology, story, colour, size, habitat, species ambiguity, poison/danger, behavior, case, new word formation, tense, and support-inflection semantics.


batch_label: batch-361
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:25:35Z
detail:
Token-aware accepted/revised coverage before banking: targets={'jalbil': 0, 'kalkarrumbarr': 0, 'kurmba-kurmba': 0, 'jimalili': 1, 'yuray': 1, 'bakay': 2, 'kungkun': 2, 'bilbil-bilbil': 3, 'bajalji': 4, 'jabil': 5}; support={'ngayu': 1361, 'yundu': 957, 'nyulu': 632, 'bula': 428, 'jana': 1133, 'yaluy': 3822, 'yinyay': 4064, 'nyajin': 1250}. Jabil's five token rows comprise four verb-sense uses and one noun-sense use.


batch_label: batch-361
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:25:35Z
detail:
Final 50 Rule 319 reptile singular/third past surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-361
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_361.py
created_at: 2026-07-10T04:25:35Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English contracts, one selected reptile head each, bare pronouns and Yalanji demonstratives, final nyajin, no loans, no denied forms, and no source-prose/prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_361.py && python3 -c "import sys;sys.path.insert(0,'batch_scripts');import bank_361;print(bank_361.scan_static())"


batch_label: batch-361
phase: audit
event_type: row-readback-green
actor: codex
command: sqlite3 batch readback plus Python tuple comparison against bank_361.ROWS
artifact_path: batch_scripts/bank_361.py
created_at: 2026-07-10T04:26:21Z
detail:
Read back all 50 banked Rule 319 rows in sequence and compared every script-authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus bank metadata. DB and bank_361.py are field-for-field identical; all rows remain under_review.

output_excerpt:
db_rows=50 script_rows=50 core_field_diffs=0; metadata under_review/project_approved_synthetic_pending_elder_verification/codex-main=50; GREEN


batch_label: batch-361
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: 0 rows
artifact_path: synthetic.db
created_at: 2026-07-10T04:26:31Z
detail:
Scanned the entire 18,147-row banked corpus by normalized exact Kuku surface after Batch 361 banking. No duplicate group exists.

command:
SELECT lower(trim(kuku)),COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*)>1


batch_label: batch-361
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:26:37Z
detail:
Manual five-lens review passed all 50 Rule 319 rows: bare reptile O morphology, nominative pronoun A, fixed Yalanji local/past support, conservative creature senses, exact English fidelity, and elicitation register; mythology, properties, habitat, species ambiguity, danger/poison, homograph, source-prose, and prior-row behavior remained closed.


batch_label: batch-361
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:26:37Z
detail:
No colour/size/habitat, mythological person/story/legend, kinship/marriage, island/place, firestick teaching, species resolution, poison/danger, chasing lore, hunting/capture, eating/food, sound/feeding, kick-verb, case, new compound/reduplication, nonpast/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-361
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:26:37Z
detail:
Inserted 35 Rule 319 lessons covering source, exclusions, coverage/sense debt, lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-361
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_361.py
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:26:37Z
detail:
Closed Batch 361 / Rule 319: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18097->18147; Kuku words 127747->127947.

output_excerpt:
closed batch-361 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18097->18147 words 127747->127947


batch_label: batch-361
phase: documentation
event_type: source-books-updated
actor: codex
command: apply_patch four canonical reports
output_excerpt: four source books current at Batch 361 / Rule 319 / 18,147; next bank_362.py and close_362.py
artifact_path: reports/
created_at: 2026-07-10T04:29:59Z
detail:
Updated all four canonical Markdown books to Batch 361 / Rule 319 and 18,147 verified sentences. Added direct dictionary/Patz evidence, five frames, target/support inventories, conservative-label policy, jabil token-versus-sense audit, lexicalized-reduplication boundary, semantic closures, Rule 320 handoff, and cumulative trap marker dp.


batch_label: batch-361
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh; SHA-256/cmp source-public pairs; current/stale marker rg
output_excerpt: 4 HTML rendered; 4 Markdown pairs identical; stale-current query 0 rows
artifact_path: public-docs/
created_at: 2026-07-10T04:30:46Z
detail:
Rendered index plus all four self-contained HTML books and copied all four raw Markdown books. Local marker audit found Batch 361 / Rule 319 / 18,147 and Rule 320 handoff throughout; stale current Batch 360 markers were absent. Each rendered Markdown copy is byte-identical to its canonical report source.


batch_label: batch-361
phase: documentation
event_type: live-docs-verified
actor: codex
output_excerpt: /docs 301 /docs/; 9 routes 200; 4/4 HTML current; 4/4 stale-current absent; 4/4 Markdown IDENTICAL
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T04:31:18Z
detail:
Verified https://mobtranslate.com/docs/ live with a browser user agent. /docs returns 301 to /docs/; index, four HTML books, and four raw Markdown books return 200. All normal HTML URLs carry Batch 361 / Rule 319 / 18,147 markers and no stale current Batch 360 marker; index links both formats; all four normal live Markdown bodies are SHA-256 identical to local rendered copies. Cache-Control is public max-age=300 must-revalidate and CF reports DYNAMIC.

command:
curl browser-UA redirect, status, normalized marker, index-link, and SHA-256 audits against https://mobtranslate.com/docs/


batch_label: batch-361
phase: audit
event_type: sense-audit-query-correction
actor: codex
command: SQLite classify jabil token rows by analysis LIKE lizard versus kick
output_excerpt: noun-lizard=6; verb-kick=4; total=10
artifact_path: synthetic.db
created_at: 2026-07-10T04:32:18Z
detail:
The first final jabil sense query matched only analysis text containing literal jabil.lizard and returned five, missing the older noun row glossed scrub.lizard. No corpus data changed. Reclassified all ten rows whose words_used contains jabil by semantic analysis: six noun-lizard rows and four verb-kick rows.


batch_label: batch-361
phase: final
event_type: final-audit-green
actor: codex
artifact_path: synthetic.db
created_at: 2026-07-10T04:32:31Z
detail:
Final Batch 361 audit passed: whole-corpus lint 18,147 rows/0 issues; 17,236 accepted plus 911 revised; 127,947 Kuku words; 1,853 remaining; zero under_review/rejected and zero normalized exact Kuku duplicate groups. Batch has 50 accepted rows, 250 reviews, 35 lessons, 18 lexeme logs. Target token coverage is 5/5/5/6/6/7/7/8/9/10 as planned; corrected jabil semantic classification is six noun-lizard and four verb-kick rows. Train/dev/synthtest line counts are 15,224/1,472/1,451 = 18,147. Four source/public Markdown pairs are byte-identical and current. SQLite integrity_check is ok and foreign_key_check returned no rows.

command:
lint_corpus.py; SQLite count/duplicate/batch/coverage/sense/integrity/foreign-key audit; wc export JSONL; cmp source/public Markdown

output_excerpt:
18147 verified; 127947 words; 1853 remaining; lint 0; dup 0; jabil noun/verb 6/4; integrity ok; FK 0; exports 18147; 4/4 MD pairs identical


batch_label: batch-361
phase: documentation
event_type: process-log-finalized
actor: codex
output_excerpt: Closeout finalized; handoff 18,147 / 20,000 with 1,853 remaining
artifact_path: process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md
created_at: 2026-07-10T04:33:12Z
detail:
Replaced the Batch 361 process dossier's pending closeout with the complete reproducible record: structured candidate/sense selection, conservative labels, explicit-row inventory, banking, field readback, duplicate/lint checks, five-lens review, lexicalized-form and jabil homograph boundaries, closure, export, four-book update, render, live verification, corrected sense-query audit, final integrity metrics, and process event IDs 3833-3852.

command:
apply_patch process_logs/batch-361-low-coverage-reptile-singular-third-past-perception-after-rule318-process.md


batch_label: batch-362
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:41:32Z
detail:
Reread all ten direct dictionary flora entries, checked every target against Patz (none occurs as a lexical target), and reread Patz non-singular pronoun, demonstrative, nonpast, sensory-perception A/O, plus dictionary running-form nyajil evidence before authoring Rule 320.


batch_label: batch-362
phase: planning
event_type: zero-use-flora-nonsingular-nonpast-scope
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:41:32Z
detail:
Selected ten zero-use lint-safe flora nouns for bare non-singular nonpast visual perception. Locked bikarrakal to fruit and kakarr to grass; treated dukul-dukul as an indivisible dictionary head; closed grub/bait, blanket/year, edibility/food/preparation, habitat, use, property, taxonomy, case, new word formation, tense, and support-inflection semantics.


batch_label: batch-362
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:41:32Z
detail:
Token-aware accepted/revised coverage before banking: targets={'bikarrakal': 0, 'dikirr': 0, 'dukul-dukul': 0, 'kakarr': 0, 'kalkurr': 0, 'marrku': 0, 'milmarr': 0, 'warrabuka': 0, 'wubali': 0, 'wulku': 0}; support={'ngali': 523, 'ngaliny': 465, 'yubal': 475, 'yurra': 460, 'ngana': 1045, 'yaluy': 3842, 'yinyay': 4094, 'nyajil': 3947}.


batch_label: batch-362
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:41:32Z
detail:
Final 50 Rule 320 flora non-singular nonpast surfaces returned no accepted, revised, or under-review collisions.


batch_label: batch-362
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: issues 0
artifact_path: batch_scripts/bank_362.py
created_at: 2026-07-10T04:41:32Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English contracts, one selected flora head each, bare non-singular pronouns and Yalanji demonstratives, final nyajil, no loans, no denied forms, and no source-prose drift.

command:
python3 -m py_compile batch_scripts/bank_362.py && python3 -c "import sys;sys.path.insert(0,'batch_scripts');import bank_362;print(bank_362.scan_static())"


batch_label: batch-362
phase: audit
event_type: row-readback-green
actor: codex
command: sqlite3 batch readback plus Python tuple comparison against bank_362.ROWS
artifact_path: batch_scripts/bank_362.py
created_at: 2026-07-10T04:42:13Z
detail:
Read back all 50 banked Rule 320 rows in sequence and compared every script-authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus bank metadata. DB and bank_362.py are field-for-field identical; all rows remain under_review.


batch_label: batch-362
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
output_excerpt: 0 rows
artifact_path: synthetic.db
created_at: 2026-07-10T04:42:21Z
detail:
Scanned the entire 18,197-row banked corpus by normalized exact Kuku surface after Batch 362 banking. No duplicate group exists.

command:
SELECT lower(trim(kuku)),COUNT(*) FROM sentences WHERE status!='rejected' GROUP BY lower(trim(kuku)) HAVING COUNT(*)>1


batch_label: batch-362
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:42:30Z
detail:
Manual five-lens review passed all 50 Rule 320 rows: bare flora O morphology, nominative non-singular pronoun A, fixed Yalanji local/nonpast support, conservative plant senses, exact English fidelity, and elicitation register; homographs, food/preparation, habitat, properties, taxonomy, use, source-prose, and event content remained closed.


batch_label: batch-362
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:42:30Z
detail:
No grub/bait, tree, cooking/edibility/food, collection/preparation, aquatic/beach habitat, leaf/seed/property, oven/covering/material use, blanket/year/counting, wild/native/cherry/subtype/tuber taxonomy, case, new compound/reduplication, past/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-362
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:42:30Z
detail:
Inserted 35 Rule 320 lessons covering source, zero-use coverage, polysemy/lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-362
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_362.py
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:42:30Z
detail:
Closed Batch 362 / Rule 320: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18147->18197; Kuku words 127947->128147.

output_excerpt:
closed batch-362 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18147->18197 words 127947->128147


batch_label: batch-362
phase: documentation
event_type: source-books-updated
actor: codex
command: apply_patch four canonical reports
output_excerpt: four source books current at Batch 362 / Rule 320 / 18,197; next bank_363.py and close_363.py
artifact_path: reports/
created_at: 2026-07-10T04:45:50Z
detail:
Updated all four canonical Markdown books to Batch 362 / Rule 320 and 18,197 verified sentences. Added direct dictionary/Patz evidence, five frames, zero-use target/support inventories, bikarrakal/kakarr polysemy locks, dukul-dukul lexicalized-form boundary, semantic closures, Rule 321 handoff, and cumulative trap marker dq.


batch_label: batch-362
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh plus cmp/sha256sum/rg local audit
artifact_path: public-docs/
created_at: 2026-07-10T04:48:15Z
detail:
Rendered the documentation index and all four self-contained HTML pages after Batch 362. Canonical and public Markdown copies are byte-identical; all Markdown and HTML carry Batch 362 / Rule 320 / 18,197 current markers; the operator handoff points to Rule 321 with bank_363.py and close_363.py; no stale Batch 361 current marker remains.

output_excerpt:
rendered 4 HTML + 4 raw Markdown + index; four canonical/public SHA-256 pairs identical; marker audit green


batch_label: batch-362
phase: documentation
event_type: live-docs-verified
actor: codex
command: curl browser-UA endpoint/header/body audit plus cmp/sha256sum/rg
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T04:49:08Z
detail:
Verified https://mobtranslate.com/docs/ after Batch 362 with a browser user agent. /docs redirects 301 to /docs/; the index, four HTML documents, and four raw Markdown documents all return 200 with public max-age=300 must-revalidate; all four HTML documents carry Batch 362 / Rule 320 / 18,197 markers; all four live Markdown files are byte-identical to canonical reports; the index links both rendered and raw forms.

output_excerpt:
301 redirect; 9 endpoints 200; 4 live Markdown hashes exact; 4 HTML marker checks green; CF status DYNAMIC


batch_label: batch-362
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py plus read-only SQLite/export/cmp audit
artifact_path: synthetic.db
created_at: 2026-07-10T04:51:03Z
detail:
Final read-only audit passed after Batch 362: lint scanned 18,197 accepted/revised rows with zero issues; 0 pending; 128,147 Kuku words; Batch 362 has 50 accepted rows, 250/250 five-lens passes, 35 lessons, and 18 lexeme logs; every target has token-aware coverage 5; case-folded exact Kuku duplicates are 0 (six broader punctuation-stripped groups are legitimate statement/question/exclamation contrasts); SQLite integrity is ok with 0 foreign-key violations; exports total 18,197 (15,267 train, 1,476 dev, 1,454 synthtest); all four canonical/public Markdown pairs remain byte-identical.

output_excerpt:
18197/20000; 0 lint; 0 pending; 0 exact duplicates; integrity ok; FK 0; exports 18197; docs parity green


batch_label: batch-362
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch Batch 362 process log closeout
artifact_path: process_logs/batch-362-zero-use-flora-nonsingular-nonpast-perception-after-rule319-process.md
created_at: 2026-07-10T04:51:41Z
detail:
Finalized the Batch 362 process dossier with the complete source, authorship, banking, field-readback, duplicate, lint, five-lens review, lesson, lexeme, close, export, living-book, render, live-verification, and integrity audit record. Documented the distinction between zero case-folded exact duplicates and six legitimate punctuation-contrast groups.

output_excerpt:
closeout finalized; no pending execution marker remains; events 3854-3873 cover the full batch lifecycle


batch_label: batch-363
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:05:03Z
detail:
Reread all ten selected dictionary bird entries; exact-searched every selected head in Patz (none occurs lexically); reread Patz nominative pronouns, Yalanji local demonstratives, past -ny, sensory-perception A/O syntax, and dictionary running-form nyajin evidence before authoring Rule 321.


batch_label: batch-363
phase: planning
event_type: candidate-audit
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:05:03Z
detail:
Structured dictionary-to-corpus audit found 12 zero-use bird-domain heads. Rejected solid bidubidu, binjurrbinjurr, dibirrdibirr, and jukujuku rather than weakening the global reduplication guard; rejected dakwurr-dakwun and walu-dalbaji because totem/moiety and place/story pressure remained avoidable; selected six clean zero-use heads plus four direct low-use controls.


batch_label: batch-363
phase: planning
event_type: zero-low-bird-singular-third-past-scope
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:05:03Z
detail:
Locked ten exact dictionary bird heads to bare visible reference in five sourced singular/third-person past-perception frames. Duplicate-entry heads use only their populated record; muya remains taxonomically unresolved; julurr-julurr remains the source-local moomoo bird; no source-prose, variant-equivalence, case, event, or support-inflection claim is opened.


batch_label: batch-363
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:05:03Z
detail:
Token-aware accepted/revised coverage before banking: targets={'binjurr-binjurr': 0, 'bujarr-bujarr': 0, 'dakwul-dakwul': 0, 'dibirr-dibirr': 0, 'julurr-julurr': 0, 'muya': 0, 'juril-juril': 2, 'dawa-dawa': 3, 'bulnja': 4, 'jinabiju': 4}; support={'ngayu': 1371, 'yundu': 967, 'nyulu': 642, 'bula': 438, 'jana': 1143, 'yaluy': 3872, 'yinyay': 4114, 'nyajin': 1300}.


batch_label: batch-363
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:05:03Z
detail:
All 50 Rule 321 exact Kuku surfaces are internally unique and returned no accepted, revised, or under-review corpus collisions.


batch_label: batch-363
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: 50 explicit rows; scan_static issues 0; 50 linter probes issues 0; collisions 0
artifact_path: batch_scripts/bank_363.py
created_at: 2026-07-10T05:05:03Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English/analysis/evidence/confidence contracts, one selected bird head each, bare singular/third-person pronouns and Yalanji demonstratives, final nyajin, no loans, no denied variants, and no source-prose or prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_363.py batch_scripts/close_363.py && explicit-row/lesson/lexeme AST inventory && scan_static/lint probes


batch_label: batch-363
phase: audit
event_type: row-readback-green
actor: codex
command: Python SQLite field-for-field comparator against batch_scripts/bank_363.py
output_excerpt: db_rows=50; script_rows=50; field_diffs=0; metadata_exact=True
artifact_path: batch_scripts/bank_363.py
created_at: 2026-07-10T05:06:06Z
detail:
Read back all 50 banked Rule 321 rows in sequence and compared every authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus status, rights_status, and author against bank_363.py. All 50 rows and all fields matched exactly. The complete 5x10 matrix was visually inspected before review.


batch_label: batch-363
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
command: SQLite GROUP BY lower(trim(kuku)) HAVING count(*)>1
output_excerpt: casefolded_exact_duplicate_groups=0; batch_rows=50; unique_surfaces=50
artifact_path: synthetic.db
created_at: 2026-07-10T05:06:13Z
detail:
Scanned all 18,247 non-rejected rows by case-folded, whitespace-trimmed exact Kuku surface after Batch 363 banking. No exact duplicate group exists; all 50 Batch 363 surfaces are distinct. Punctuation remains linguistically significant and was not stripped.


batch_label: batch-363
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
output_excerpt: lint: 18247 rows scanned, 0 issues; GOAL 18197/20000 (128147 words)
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:06:29Z
detail:
After banking, whole-corpus lint scanned 18247 rows and found 0 issues; verified remained 18197 before close.


batch_label: batch-363
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:06:29Z
detail:
Manual five-lens review passed all 50 Rule 321 rows: bare bird O morphology, nominative pronoun A, fixed Yalanji local/past support, exact dictionary heads and conservative labels, literal English fidelity, and elicitation register; all variants, source prose, and prior-row events remained closed.


batch_label: batch-363
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:06:29Z
detail:
No solid-variant equivalence, productive reduplication, species overresolution, color/anatomy, song/call/display, omen/totem/moiety, story/place, habitat/ecology, food/hunting, prior-row event, target case, nonpast/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-363
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:06:29Z
detail:
Inserted 35 Rule 321 lessons covering source, Patz absence, candidate exclusions, coverage, lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-363
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_363.py
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:06:29Z
detail:
Closed Batch 363 / Rule 321: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18197->18247; Kuku words 128147->128347.

output_excerpt:
closed batch-363 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18197->18247 words 128147->128347


batch_label: batch-363
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl && manifest readback
output_excerpt: Exported 18247 rows: train=15302 dev=1482 synthtest=1463
artifact_path: export/
created_at: 2026-07-10T05:07:23Z
detail:
Regenerated all training exports from the 18,247 accepted/revised-row corpus after Rule 321 closure. Manifest and line-count readback agree: train 15,302, dev 1,482, synthtest 1,463, total 18,247.


batch_label: batch-363
phase: documentation
event_type: source-books-updated
actor: codex
command: apply_patch four canonical reports plus marker audit
artifact_path: reports/
created_at: 2026-07-10T05:10:48Z
detail:
Updated all four canonical Markdown books to Batch 363 / Rule 321 and 18,247 verified sentences. Added full dictionary/Patz source locations, negative Patz target-search evidence, structured candidate exclusions, exact orthographic and taxonomic boundaries, five frames, coverage before/after, review/process evidence, and Rule 322 handoff with bank_364.py and close_364.py.

output_excerpt:
four source books current at Batch 363 / Rule 321 / 18,247; next Rule 322, bank_364.py, close_364.py


batch_label: batch-363
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh plus cmp/sha256sum/rg local audit
artifact_path: public-docs/
created_at: 2026-07-10T05:11:42Z
detail:
Rendered the documentation index and all four self-contained HTML pages after Batch 363. Canonical and public Markdown copies are byte-identical; all four Markdown and HTML books carry Batch 363 / Rule 321 / 18,247 markers; the operator handoff points to Rule 322 with bank_364.py and close_364.py; no stale Batch 362 current marker remains.

output_excerpt:
rendered 4 HTML + 4 raw Markdown + index; four canonical/public SHA-256 pairs identical; marker audit green


batch_label: batch-363
phase: documentation
event_type: live-docs-verified
actor: codex
command: curl browser-UA endpoint/header/body audit plus cmp/sha256sum/rg -U
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T05:12:57Z
detail:
Verified https://mobtranslate.com/docs/ after Batch 363 with a browser user agent. /docs redirects 301 to /docs/; the index, four HTML documents, and four raw Markdown documents all return 200 with public max-age=300 must-revalidate; all four HTML books carry whitespace-normalized Batch 363 / Rule 321 / 18,247 markers; all four live Markdown files are byte-identical to canonical reports; the index links both rendered and raw forms; the operator handoff exposes Rule 322, bank_364.py, and close_364.py. The HTML marker check is whitespace-tolerant because Pandoc may wrap adjacent words across source lines.

output_excerpt:
301 redirect; 9 endpoints 200; 4 live Markdown hashes exact; 4 HTML marker checks green; handoff green


batch_label: batch-363
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py plus compile, read-only SQLite/export/manifest/cmp audit
artifact_path: synthetic.db
created_at: 2026-07-10T05:13:33Z
detail:
Final read-only audit passed after Batch 363: lint scanned 18,247 accepted/revised rows with zero issues; 0 pending; 128,347 Kuku words; Batch 363 has 50 accepted rows, 250/250 five-lens passes, 35 lessons, and 18 lexeme logs; target coverage is six heads at 5 plus juril-juril 7, dawa-dawa 8, bulnja 9, jinabiju 9; case-folded exact Kuku duplicates are 0 (six broader punctuation-stripped groups remain legitimate statement/question/exclamation contrasts); SQLite integrity is ok with 0 foreign-key violations; exports total 18,247 (15,302 train, 1,482 dev, 1,463 synthtest); all four canonical/public Markdown pairs remain byte-identical.

output_excerpt:
18247/20000; remaining 1753; 0 lint; 0 pending; 0 exact duplicates; integrity ok; FK 0; exports/docs parity green


batch_label: batch-363
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch Batch 363 process log closeout
artifact_path: process_logs/batch-363-zero-low-bird-singular-third-past-perception-after-rule320-process.md
created_at: 2026-07-10T05:14:20Z
detail:
Finalized the Batch 363 process dossier with the complete source, negative Patz search, structured candidate audit, authorship, banking, field-readback, duplicate, lint, five-lens review, lesson, lexeme, non-destructive close, export, living-book, render, live-verification, and integrity audit record. Documented the whitespace-aware HTML assertion and exact-versus-punctuation duplicate distinction.

output_excerpt:
closeout finalized; no pending execution marker remains; events 3874-3894 cover the full batch lifecycle


batch_label: batch-364
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:26:30Z
detail:
Reread all ten selected dictionary anatomy/body-surface entries; exact-searched every target in Patz (waral occurs once in derived possessed form, the other nine do not occur); reread Patz noun semantics, bare/contextually possessed body-part examples, inalienable possession, non-singular nominatives, Yalanji local demonstratives, nonpast, sensory-perception A/O, and dictionary running-form nyajil before authoring Rule 322.


batch_label: batch-364
phase: planning
event_type: candidate-audit
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:26:30Z
detail:
Structured dictionary-to-corpus audit found 31 zero-use body-part-domain heads. Selected ten exact noun-typed, lint-safe, visually referable heads. Excluded type-mislabeled ngarran and wulbar, dialect-only and homograph-heavy heads, unresolved kurrburrbun/kuburrubun near-variants, and witchcraft/place-heavy candidates. Previously deferred medical, animal-source, compound, and scar heads are admitted only for narrow entity reference with all source-prose semantics closed.


batch_label: batch-364
phase: planning
event_type: zero-anatomy-nonsingular-nonpast-scope
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:26:30Z
detail:
Locked ten zero-use dictionary anatomy/body-surface nouns to bare visible reference in five sourced non-singular nonpast-perception frames. Bare O does not assert a possessor; diburr-miyil and mungka-dirka remain indivisible dictionary compounds; murrka is scar only; waral is stomach only; no medical, ritual, use, property, event, case, or support claim is opened.


batch_label: batch-364
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:26:30Z
detail:
Token-aware accepted/revised coverage before banking: targets={'dalkari': 0, 'diburr-miyil': 0, 'jadalangka': 0, 'mijan': 0, 'mungka-dirka': 0, 'murrka': 0, 'nyirribulu': 0, 'waral': 0, 'wubun': 0, 'yinkan': 0}; support={'ngali': 533, 'ngaliny': 475, 'yubal': 485, 'yurra': 470, 'ngana': 1055, 'yaluy': 3892, 'yinyay': 4144, 'nyajil': 3997}.


batch_label: batch-364
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:26:30Z
detail:
All 50 Rule 322 exact Kuku surfaces are internally unique and returned no accepted, revised, or under-review corpus collisions.


batch_label: batch-364
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: 50 explicit rows; scan_static issues 0; 50 linter probes issues 0; collisions 0
artifact_path: batch_scripts/bank_364.py
created_at: 2026-07-10T05:26:30Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English/analysis/evidence/confidence contracts, one selected anatomy head each, bare non-singular pronouns and Yalanji demonstratives, final nyajil, no loans, no denied forms, and no possession, medical, ritual, use, property, event, compound-decomposition, or prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_364.py batch_scripts/close_364.py && explicit-row/lesson/lexeme AST inventory && scan_static/lint probes


batch_label: batch-364
phase: audit
event_type: row-readback-green
actor: codex
command: Python SQLite field-for-field comparator against batch_scripts/bank_364.py
output_excerpt: db_rows=50; script_rows=50; field_diffs=0; metadata_exact=True
artifact_path: batch_scripts/bank_364.py
created_at: 2026-07-10T05:27:26Z
detail:
Read back all 50 banked Rule 322 rows in sequence and compared every authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus status, rights_status, and author against bank_364.py. All 50 rows and all fields matched exactly. The complete 5x10 anatomy matrix was visually inspected before review.


batch_label: batch-364
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
command: SQLite GROUP BY lower(trim(kuku)) HAVING count(*)>1
output_excerpt: casefolded_exact_duplicate_groups=0; batch_rows=50; unique_surfaces=50
artifact_path: synthetic.db
created_at: 2026-07-10T05:27:37Z
detail:
Scanned all 18,297 non-rejected rows by case-folded, whitespace-trimmed exact Kuku surface after Batch 364 banking. No exact duplicate group exists; all 50 Batch 364 surfaces are distinct. Punctuation remains linguistically significant and was not stripped.


batch_label: batch-364
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
output_excerpt: lint: 18297 rows scanned, 0 issues; GOAL 18247/20000 (128347 words)
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:27:44Z
detail:
After banking, whole-corpus lint scanned 18297 rows and found 0 issues; verified remained 18247 before close.


batch_label: batch-364
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:27:44Z
detail:
Manual five-lens review passed all 50 Rule 322 rows: bare anatomy O morphology without possessor assertion, nominative non-singular pronoun A, fixed Yalanji local/nonpast support, exact dictionary heads and conservative labels, literal English fidelity, and elicitation register; all medical, ritual, animal-source, compound-analysis, use, property, and event semantics remained closed.


batch_label: batch-364
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:27:44Z
detail:
No possession/whole-part apposition, compound decomposition, person/animal attribution beyond lexical labels, pain/illness/medicine/surgery, injury/scab/initiation/ritual, butchery/food/hunting, clothing/material use, colour/texture/property, prior-row event, target case, past/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-364
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:27:44Z
detail:
Inserted 35 Rule 322 lessons covering source, target occurrence/absence, possession boundary, candidate exclusions, coverage, lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-364
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_364.py
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:27:44Z
detail:
Closed Batch 364 / Rule 322: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18247->18297; Kuku words 128347->128547.

output_excerpt:
closed batch-364 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18247->18297 words 128347->128547


batch_label: batch-364
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl && manifest readback
output_excerpt: Exported 18297 rows: train=15343 dev=1485 synthtest=1469
artifact_path: export/
created_at: 2026-07-10T05:28:36Z
detail:
Regenerated all training exports from the 18,297 accepted/revised-row corpus after Rule 322 closure. Manifest and line-count readback agree: train 15,343, dev 1,485, synthtest 1,469, total 18,297.


batch_label: batch-364
phase: documentation
event_type: source-books-updated
actor: codex
command: apply_patch four canonical reports plus marker audit
artifact_path: reports/
created_at: 2026-07-10T05:32:01Z
detail:
Updated all four canonical Markdown books to Batch 364 / Rule 322 and 18,297 verified sentences. Added full dictionary/Patz locations, positive/negative target-search evidence, body-part noun and inalienable-possession boundary, candidate exclusions, exact compound and semantic decisions, five frames, coverage before/after, review/process evidence, and Rule 323 handoff with bank_365.py and close_365.py.

output_excerpt:
four source books current at Batch 364 / Rule 322 / 18,297; next Rule 323, bank_365.py, close_365.py


batch_label: batch-364
phase: documentation
event_type: render-local
actor: codex
command: ./render-docs.sh plus cmp/sha256sum/rg -U local audit
artifact_path: public-docs/
created_at: 2026-07-10T05:32:52Z
detail:
Rendered the documentation index and all four self-contained HTML pages after Batch 364. Canonical and public Markdown copies are byte-identical; all four Markdown and HTML books carry Batch 364 / Rule 322 / 18,297 markers; the operator handoff points to Rule 323 with bank_365.py and close_365.py; no stale Batch 363 current marker remains.

output_excerpt:
rendered 4 HTML + 4 raw Markdown + index; four canonical/public SHA-256 pairs identical; marker audit green


batch_label: batch-364
phase: documentation
event_type: live-docs-verified
actor: codex
command: curl browser-UA endpoint/header/body audit plus cmp/sha256sum/rg -U
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T05:33:24Z
detail:
Verified https://mobtranslate.com/docs/ after Batch 364 with a browser user agent. /docs redirects 301 to /docs/; the index, four HTML documents, and four raw Markdown documents all return 200 with public max-age=300 must-revalidate; all four HTML books carry whitespace-normalized Batch 364 / Rule 322 / 18,297 markers; all four live Markdown files are byte-identical to canonical reports; the index links both rendered and raw forms; the operator handoff exposes Rule 323, bank_365.py, and close_365.py.

output_excerpt:
301 redirect; 9 endpoints 200; 4 live Markdown hashes exact; 4 HTML marker checks green; handoff green


batch_label: batch-364
phase: audit
event_type: final-audit-green
actor: codex
command: python3 lint_corpus.py plus compile, read-only SQLite/export/manifest/cmp audit
artifact_path: synthetic.db
created_at: 2026-07-10T05:34:00Z
detail:
Final read-only audit passed after Batch 364: lint scanned 18,297 accepted/revised rows with zero issues; 0 pending; 128,547 Kuku words; Batch 364 has 50 accepted rows, 250/250 five-lens passes, 35 lessons, and 18 lexeme logs; every target has token-aware coverage 5; case-folded exact Kuku duplicates are 0 (six broader punctuation-stripped groups remain legitimate statement/question/exclamation contrasts); SQLite integrity is ok with 0 foreign-key violations; exports total 18,297 (15,343 train, 1,485 dev, 1,469 synthtest); all four canonical/public Markdown pairs remain byte-identical.

output_excerpt:
18297/20000; remaining 1703; 0 lint; 0 pending; 0 exact duplicates; integrity ok; FK 0; exports/docs parity green


batch_label: batch-364
phase: documentation
event_type: process-log-finalized
actor: codex
command: apply_patch Batch 364 process log closeout
artifact_path: process_logs/batch-364-zero-use-anatomy-nonsingular-nonpast-perception-after-rule321-process.md
created_at: 2026-07-10T05:34:45Z
detail:
Finalized the Batch 364 process dossier with the complete dictionary/Patz occurrence audit, body-part noun and possession boundary, structured candidate audit, authorship, banking, field-readback, duplicate, lint, five-lens review, lesson, lexeme, non-destructive close, export, living-book, render, live-verification, and integrity record.

output_excerpt:
closeout finalized; no pending execution marker remains; events 3895-3915 cover the full batch lifecycle


batch_label: batch-365
phase: source
event_type: source-readback
actor: codex
created_at: 2026-07-10T05:45:38Z
detail:
Reread all ten selected dictionary human-reference entries; exact-searched every target in Patz (maral-maral occurs independently, the other nine do not); reread Patz human noun status, bare human perception-object examples, nominative pronouns, Yalanji local demonstratives, past -ny, perception A/O, and dictionary running-form nyajin before authoring Rule 323.

artifact_path:
process_logs/batch-365-zero-use-human-reference-singular-third-past-perception-after-rule322-process.md


batch_label: batch-365
phase: planning
event_type: candidate-audit
actor: codex
created_at: 2026-07-10T05:45:38Z
detail:
Structured dictionary-to-corpus audit found 22 zero-use human-generic-classifier heads plus zero-use age heads. Selected ten direct noun-typed, lint-safe, socially neutral or positive human labels. Excluded colonial/racial caste labels, loans/post-contact ethnonyms and occupations, sickness, adultery, child-spirit/prematurity ambiguity, policing labels, and other avoidable coercive or stigmatizing categories.

artifact_path:
process_logs/batch-365-zero-use-human-reference-singular-third-past-perception-after-rule322-process.md


batch_label: batch-365
phase: planning
event_type: zero-human-singular-third-past-scope
actor: codex
created_at: 2026-07-10T05:45:38Z
detail:
Locked ten zero-use dictionary human heads to bare reference in five sourced singular/third-person past-perception frames. Kalbali is the noun tall-man sense; kira is baby girl, not kira-kira ant; attested plural/collective heads remain indivisible; no location, social activity, possession, event, productive morphology, case, or support claim is opened.

artifact_path:
process_logs/batch-365-zero-use-human-reference-singular-third-past-perception-after-rule322-process.md


batch_label: batch-365
phase: preflight
event_type: coverage-audit
actor: codex
created_at: 2026-07-10T05:45:38Z
detail:
Token-aware accepted/revised coverage before banking: targets={'baliji': 0, 'kalbali': 0, 'kanjal': 0, 'kaykay-kaykay': 0, 'kira': 0, 'maral-maral': 0, 'marri-marri': 0, 'walmbaji': 0, 'walmbi-walmbiji': 0, 'yarrkay-yarrka': 0}; support={'ngayu': 1381, 'yundu': 977, 'nyulu': 652, 'bula': 448, 'jana': 1153, 'yaluy': 3922, 'yinyay': 4164, 'nyajin': 1350}.


batch_label: batch-365
phase: preflight
event_type: duplicate-preflight
actor: codex
created_at: 2026-07-10T05:45:38Z
detail:
All 50 Rule 323 exact Kuku surfaces are internally unique and returned no accepted, revised, or under-review corpus collisions.


batch_label: batch-365
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: 50 explicit rows; scan_static issues 0; 50 linter probes issues 0; collisions 0
artifact_path: batch_scripts/bank_365.py
created_at: 2026-07-10T05:45:38Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English/analysis/evidence/confidence contracts, one selected human head each, bare singular/third pronouns and Yalanji demonstratives, final nyajin, no loans, no denied forms, and no location, adjective, social-event, possession, fight/restraint, body-action, class/gang, productive-reduplication, or prior-row drift.

command:
python3 -m py_compile batch_scripts/bank_365.py batch_scripts/close_365.py && explicit-row/lesson/lexeme AST inventory && scan_static/lint probes


batch_label: batch-365
phase: audit
event_type: row-readback-green
actor: codex
command: Python SQLite field-for-field comparator against batch_scripts/bank_365.py
output_excerpt: db_rows=50; script_rows=50; field_diffs=0; metadata_exact=True
artifact_path: batch_scripts/bank_365.py
created_at: 2026-07-10T05:46:37Z
detail:
Read back all 50 banked Rule 323 rows in sequence and compared every authored core field (seq, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence) plus status, rights_status, and author against bank_365.py. All 50 rows and all fields matched exactly. The complete 5x10 human-reference matrix was visually inspected before review.


batch_label: batch-365
phase: audit
event_type: duplicate-exact-scan-green
actor: codex
command: SQLite GROUP BY lower(trim(kuku)) HAVING count(*)>1
output_excerpt: casefolded_exact_duplicate_groups=0; batch_rows=50; unique_surfaces=50
artifact_path: synthetic.db
created_at: 2026-07-10T05:46:48Z
detail:
Scanned all 18,347 non-rejected rows by case-folded, whitespace-trimmed exact Kuku surface after Batch 365 banking. No exact duplicate group exists; all 50 Batch 365 surfaces are distinct. Punctuation remains linguistically significant and was not stripped.


batch_label: batch-365
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
output_excerpt: lint: 18347 rows scanned, 0 issues; GOAL 18297/20000 (128547 words)
created_at: 2026-07-10T05:46:55Z
detail:
After banking, whole-corpus lint scanned 18347 rows and found 0 issues; verified remained 18297 before close.


batch_label: batch-365
phase: review
event_type: five-lens-pass
actor: codex
created_at: 2026-07-10T05:46:55Z
detail:
Manual five-lens review passed all 50 Rule 323 rows: bare human O morphology, nominative singular/third pronoun A, fixed Yalanji local/past support, exact dictionary human heads and conservative labels, literal English fidelity, and neutral elicitation register; all location, property, social activity, possession, conflict, body-action, class/gang, and event semantics remained closed.


batch_label: batch-365
phase: review
event_type: review-detail
actor: codex
created_at: 2026-07-10T05:46:55Z
detail:
No open-country belonging/location, adjective comparison/degree, companionship activity, parentage/school/play, generic female or ant homophone, Patz bathing/gathering, age authority/frailty, fight/restraint/body contact, left-side/handed action, class/gang, productive reduplication, target case, nonpast/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-365
phase: review
event_type: lesson-inventory
actor: codex
created_at: 2026-07-10T05:46:55Z
detail:
Inserted 35 Rule 323 lessons covering source, target occurrence/absence, human O syntax, ethical candidate exclusions, coverage, lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-365
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_365.py
created_at: 2026-07-10T05:46:55Z
detail:
Closed Batch 365 / Rule 323: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18297->18347; Kuku words 128547->128747.

output_excerpt:
closed batch-365 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18297->18347 words 128547->128747


batch_label: batch-365
phase: export
event_type: export-refresh
actor: codex
command: python3 export_training.py && wc -l export/*.jsonl && manifest readback
output_excerpt: Exported 18347 rows: train=15383 dev=1489 synthtest=1475
artifact_path: export/
created_at: 2026-07-10T05:47:49Z
detail:
Regenerated all training exports from the 18,347 accepted/revised-row corpus after Rule 323 closure. Manifest and line-count readback agree: train 15,383, dev 1,489, synthtest 1,475, total 18,347.


batch_label: batch-365
phase: documentation
event_type: source-books-updated
actor: claude-main
command: rg Batch365/Rule323/18,347 and next-script markers across four canonical Markdown books
artifact_path: reports/
created_at: 2026-07-10T05:53:23Z
detail:
Updated and marker-audited all four canonical living source books for Batch 365 / Rule 323 at 18,347 verified sentences; operator handoff advances to Rule 324 with bank_366.py and close_366.py.

output_excerpt:
operator, sample pages, mega grammar, and dictionary errata current; no stale Batch 364 current-build marker


batch_label: batch-365
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh plus cmp/sha256/whitespace-normalized HTML marker audit
output_excerpt: 4/4 MD parity; 4/4 HTML current; handoff/index/stale-marker checks green
artifact_path: public-docs/
created_at: 2026-07-10T05:54:32Z
detail:
Rendered all four Batch 365 docs and index; canonical/public Markdown pairs are byte-identical, all four HTML pages normalize to Batch 365 / Rule 323 / 18,347, operator handoff names Rule 324 and bank_366.py/close_366.py, and index links both HTML and Markdown forms.


batch_label: batch-365
phase: documentation
event_type: live-docs-verified
actor: claude-main
command: curl browser-UA redirect/status/cache/parity/current-marker/index/handoff audit
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T05:55:37Z
detail:
Verified mobtranslate.com/docs live with browser UA: /docs is 301 to /docs/; index plus four HTML and four Markdown documents return 200 with max-age=300; each live Markdown file is byte-identical to local render; all HTML pages carry Batch 365 / Rule 323 / 18,347; index and Rule 324 operator handoff are current.

output_excerpt:
301 correct; 9/9 endpoints 200+TTL; 4/4 MD byte parity; 4/4 HTML current; live index and handoff green


batch_label: batch-365
phase: final-audit
event_type: final-audit-green
actor: claude-main
created_at: 2026-07-10T06:00:06Z
detail:
Final read-only audit passed after Batch 365: lint scanned 18,347 accepted/revised rows with zero issues; 0 pending; 128,747 Kuku surface words; Batch 365 has 50 accepted rows, 250/250 five-lens passes, 35 lessons, and 18 lexeme logs; every target has token-aware coverage 5; case-folded exact Kuku duplicates are 0 (six broader punctuation-stripped groups remain legitimate statement/question/exclamation contrasts); SQLite integrity is ok with 0 foreign-key violations; exports total 18,347 (15,383 train, 1,489 dev, 1,475 synthtest); all four canonical/public Markdown pairs remain byte-identical and live docs were verified.

command:
lint + read-only SQLite metrics/coverage/duplicates/integrity/FK + export manifest/line counts + docs parity

output_excerpt:
18347/20000; remaining 1653; 0 lint; 0 pending; 0 exact duplicates; integrity ok; FK 0; exports/docs/live parity green


batch_label: batch-365
phase: documentation
event_type: process-log-finalized
actor: claude-main
command: apply_patch process log closeout
output_excerpt: closeout complete through final-audit event 3935; handoff 18,347 with 1,653 remaining
created_at: 2026-07-10T06:00:33Z
detail:
Replaced Batch 365 process-log pending closeout with the complete source/static/bank/readback/lint/five-lens/close/export/book/render/live/final-audit evidence chain and Rule 324 handoff.


batch_label: batch-366
phase: source
event_type: source-readback
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:15:36Z
detail:
Reread all ten selected dictionary flora entries; exact-searched every target in Patz (binainyji occurs independently, the other nine do not); reread Patz flora noun status, non-singular nominative pronouns, Yalanji local demonstratives, past -ny, perception A/O syntax, and dictionary running-form nyajin before authoring Rule 324.


batch_label: batch-366
phase: planning
event_type: candidate-audit
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:15:36Z
detail:
Structured dictionary-to-corpus audit compared zero/low-use noun pools across semantic domains. Rejected contradictory/undefined entries, Nyungkul-only forms, place names, post-contact and hazardous food/drink heads, culturally sensitive or stigmatizing human/spirit labels, weapon/euphemism ambiguity, coercive implements, and flora entries with unresolved sense/dialect drift. Selected ten direct, lint-safe flora nouns with stable visible readings and coverage 0-2.


batch_label: batch-366
phase: planning
event_type: low-flora-nonsingular-past-scope
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:15:36Z
detail:
Locked three zero-use, two one-use, and five two-use dictionary flora heads to bare reference in five sourced non-singular past-perception frames. Bajarr remains double-r fern leaves; binainyji remains the Patz fig-like fruit; jumul-jumul and jika-birra remain exact whole heads; kalbawurr remains separate from kulbawurr; no source use, event, property, case, or productive morphology is opened.


batch_label: batch-366
phase: preflight
event_type: coverage-audit
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:15:36Z
detail:
Token-aware accepted/revised coverage before banking: targets={'bajarr': 2, 'bikarrakul': 2, 'binainyji': 1, 'jakalkulu': 2, 'jumul-jumul': 1, 'jika-birra': 0, 'kalbawurr': 0, 'makaji': 0, 'mawu': 2, 'wakumba': 2}; support={'ngali': 543, 'ngaliny': 485, 'yubal': 495, 'yurra': 480, 'ngana': 1065, 'yaluy': 3942, 'yinyay': 4194, 'nyajin': 1400}.


batch_label: batch-366
phase: preflight
event_type: duplicate-preflight
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:15:36Z
detail:
All 50 Rule 324 exact Kuku surfaces are internally unique and returned no accepted, revised, or under-review corpus collisions.


batch_label: batch-366
phase: preflight
event_type: static-guard-pass
actor: codex
output_excerpt: 50 explicit rows; scan_static issues 0; 50 linter probes issues 0; collisions 0
artifact_path: batch_scripts/bank_366.py
created_at: 2026-07-10T06:15:36Z
detail:
Static guard passed: 50 explicit rows, exact Kuku/English/analysis/evidence/confidence contracts, one selected flora head each, bare non-singular nominative pronouns and Yalanji demonstratives, final nyajin, no loans, no denied forms, and no alternate-sense, source-use, food, poison, shelter, clothing, material, productive-morphology, case, or support drift.

command:
python3 -m py_compile batch_scripts/bank_366.py batch_scripts/close_366.py && explicit-row/lesson/lexeme AST inventory && scan_static/lint probes


batch_label: batch-366
phase: audit
event_type: row-readback-green
actor: claude-main
command: import bank_366.py and compare ROWS against ordered SQLite batch rows
output_excerpt: 50 DB rows = 50 script rows; 0 field diffs; metadata exact; 50 under_review; verified 18347
artifact_path: batch_scripts/bank_366.py
created_at: 2026-07-10T06:16:30Z
detail:
Field-for-field SQLite readback matched all 50 authored Rule 324 rows for sequence, English, Kuku, analysis, frame, tier, words_used, loans_used, evidence, confidence, status, rights status, and author; batch metadata is exact; all 50 remain under_review and verified remains 18,347.


batch_label: batch-366
phase: audit
event_type: duplicate-exact-scan-green
actor: claude-main
command: SQLite GROUP BY lower(kuku) exact scan plus punctuation-stripped diagnostic
output_excerpt: 0 exact duplicate groups; 6 punctuation-stripped contrast groups
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:16:45Z
detail:
Whole-corpus case-folded exact Kuku scan over all 18,397 non-rejected rows found zero duplicate groups after banking Rule 324. The broader punctuation-stripped diagnostic remains at six legitimate historical statement/question/exclamation contrasts.


batch_label: batch-366
phase: lint
event_type: under-review-lint-green
actor: codex
command: python3 lint_corpus.py
output_excerpt: lint: 18397 rows scanned, 0 issues; GOAL 18347/20000 (128747 words)
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:17:23Z
detail:
After banking, whole-corpus lint scanned 18397 rows and found 0 issues; verified remained 18347 before close.


batch_label: batch-366
phase: review
event_type: five-lens-pass
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:17:23Z
detail:
Manual five-lens review passed all 50 Rule 324 rows: bare flora O morphology, nominative non-singular pronoun A, fixed Yalanji local/past support, exact dictionary flora heads and conservative labels, literal English fidelity, and neutral elicitation register; all alternate-sense, source-use, property, food, poison, shelter, clothing, material, location, and event semantics remained closed.


batch_label: batch-366
phase: review
event_type: review-detail
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:17:23Z
detail:
No bajar/bajarr drift, bikarrakul fruit/cooking, binainyji minimal-pair confusion, stump cause/use, jumul productive reduplication/season, jika-birra decomposition/tobacco use, kalbawurr poison/spear use or kulbawurr substitution, makaji food/medicine, mawu weaving or mawar substitution, wakumba branch/property, target case, nonpast/purposive/reduplicated perception, or support-inflection drift remained.


batch_label: batch-366
phase: review
event_type: lesson-inventory
actor: codex
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:17:23Z
detail:
Inserted 35 Rule 324 lessons covering source, target occurrence/absence, flora O syntax, candidate exclusions, coverage, lexical boundaries, morphology, syntax, fidelity, register, explicit authorship, traps, and handoff.


batch_label: batch-366
phase: close
event_type: close-success
actor: codex
command: python3 batch_scripts/close_366.py
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:17:23Z
detail:
Closed Batch 366 / Rule 324: 50 accepted, 250 reviews, 35 lessons, 18 lexeme logs; verified 18347->18397; Kuku words 128747->128947.

output_excerpt:
closed batch-366 accepted=50 reviews=250 lessons=35 lexeme_logs=18 verified 18347->18397 words 128747->128947


batch_label: batch-366
phase: export
event_type: export-refresh
actor: claude-main
command: python3 export_training.py
output_excerpt: Exported 18397 rows: train 15422, dev 1494, synthtest 1481
artifact_path: export/MANIFEST.json
created_at: 2026-07-10T06:18:02Z
detail:
Refreshed deterministic training export after accepting Batch 366: 18,397 total rows; 15,422 train, 1,494 dev, 1,481 synthtest; manifest and JSONL outputs regenerated.


batch_label: batch-366
phase: documentation
event_type: source-books-updated
actor: claude-main
command: rg Batch366/Rule324/18,397 and next-script markers across four canonical Markdown books
artifact_path: reports/
created_at: 2026-07-10T06:21:21Z
detail:
Updated and marker-audited all four canonical living source books for Batch 366 / Rule 324 at 18,397 verified sentences; operator handoff advances to Rule 325 with bank_367.py and close_367.py and carries Rule 324 traps forward.

output_excerpt:
operator, sample pages, mega grammar, and dictionary errata current; no stale Batch 365 current-build marker


batch_label: batch-366
phase: documentation
event_type: render-local
actor: claude-main
command: ./render-docs.sh plus cmp/sha256/whitespace-normalized HTML marker audit
output_excerpt: 4/4 MD parity; 4/4 HTML current; handoff/index/stale-marker checks green
artifact_path: public-docs/
created_at: 2026-07-10T06:22:06Z
detail:
Rendered all four Batch 366 docs and index; canonical/public Markdown pairs are byte-identical, all four HTML pages normalize to Batch 366 / Rule 324 / 18,397, operator handoff names Rule 325 and bank_367.py/close_367.py, and index links both HTML and Markdown forms.


batch_label: batch-366
phase: documentation
event_type: live-docs-verified
actor: claude-main
command: curl browser-UA redirect/status/cache/parity/current-marker/index/handoff audit
artifact_path: https://mobtranslate.com/docs/
created_at: 2026-07-10T06:22:35Z
detail:
Verified mobtranslate.com/docs live with browser UA: /docs is 301 to /docs/; index plus four HTML and four Markdown documents return 200 with max-age=300; each live Markdown file is byte-identical to local render; all HTML pages carry Batch 366 / Rule 324 / 18,397; index and Rule 325 operator handoff are current.

output_excerpt:
301 correct; 9/9 endpoints 200+TTL; 4/4 MD byte parity; 4/4 HTML current; live index and handoff green


batch_label: batch-366
phase: final-audit
event_type: final-audit-green
actor: claude-main
artifact_path: process_logs/batch-366-low-coverage-flora-nonsingular-past-perception-after-rule323-process.md
created_at: 2026-07-10T06:23:45Z
detail:
Final read-only audit passed after Batch 366: lint scanned 18,397 accepted/revised rows with zero issues; 0 pending; 128,947 Kuku surface words; Batch 366 has 50 accepted rows, 250/250 five-lens passes, 35 lessons, and 18 lexeme logs; target coverage is 5-7 as planned; case-folded exact Kuku duplicates are 0 (six broader punctuation-stripped groups remain legitimate statement/question/exclamation contrasts); SQLite integrity is ok with 0 foreign-key violations; exports total 18,397 (15,422 train, 1,494 dev, 1,481 synthtest); all four canonical/public Markdown pairs remain byte-identical and live docs were verified.

command:
lint + read-only SQLite metrics/coverage/duplicates/integrity/FK + export manifest/line counts + docs parity

output_excerpt:
18397/20000; remaining 1603; 0 lint; 0 pending; 0 exact duplicates; integrity ok; FK 0; exports/docs/live parity green


