Skip to content

Add Indonesian — affixal voice/derivation engine (Beta) - #157

Merged
v4nn4 merged 2 commits into
mainfrom
rf/zulu-engine
Aug 24, 2026
Merged

v4nn4 merged 2 commits into
mainfrom
rf/zulu-engine

Conversation

@v4nn4

@v4nn4 v4nn4 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Indonesian (~270M speakers), single-oracle Beta. meN- active with nasal assimilation + p/t/k/s onset-deletion (tulis→menulis), di- passive, ter- stative, ber- middle, memper-/diper- and ber-ke-…-an circumfixes, -kan/-i/-lah/-nya/-ku/-mu. Gate: 11707/11707 forms (100%), 2663/2663 lemmas (100%), 99.97% rule-derived. Built by a subagent in an isolated worktree, independently re-verified (gate + 353 tests + clippy + fmt + python/wasm; no process/net/unsafe). Full registration done.

🤖 Generated with Claude Code

v4nn4 and others added 2 commits August 24, 2026 17:08
Indonesian cites verbs by the bare root; UniMorph exposes a voice/derivation
matrix rather than tense/agreement. The engine builds forms productively: meN-
active with nasal assimilation and p/t/k/s onset-deletion before a vowel
(tulis→menulis, pukul→memukul, kirim→mengirim), di- passive, ter- stative,
ber- middle (ajar→belajar), the memper-/diper- and ber-ke-…-an circumfixes,
and the -kan/-i/-lah/-kah/-nya/-ku/-mu suffixes and clitics. Only 3 irregular
ber-peN- nominalisations need the mined-override layer.

Beta tier (single oracle, UniMorph — kaikki Indonesian lacks aligned voice
cells). Golden gate: forms 11707/11707 (100.00%), lemma coverage 2663/2663
(100.00%), 99.97% rule-derived. Built by a subagent in an isolated worktree;
independently re-verified here (gate, 348 lib tests, clippy, fmt, python + wasm
all green; no process/net/unsafe in the engine).

Registration: Lang::Ind, from_code id/ind/indonesian, Conjugation + build
dispatch, reverse index (root list as parts.tsv), a 3-group serde Table
(active/passive/derived), PyO3 + wasm, Cargo includes, correctness.py, CI gate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Zulu builds the verb from a subject-concord prefix + TAM + root + final vowel.
The engine models it productively: four concord series (plain / subjunctive /
participial a→e fronting / remote-past -a- fusion) over person and 14 noun
classes, a single glue() coalescence (ngi+enza→ngenza, uku+enza→ukwenza),
final-vowel fronting -a→-e for the subjunctive, and monosyllabic/vowel-initial
flags driving the yi-/y- imperative. parts.tsv carries 4 i-augment root remaps
(iza→za …); overrides.tsv is empty — every scored form is rule-driven.

Verified against the two-oracle intersection (UniMorph ∩ kaikki, macrons
stripped so RMT;PST aligns). Golden gate: forms 1484/1484 (100.00%), lemma
coverage 135/135 (100.00%). The same engine reproduces 97.9% of the full 20k
UniMorph paradigm single-oracle. Built by a subagent in an isolated worktree,
re-verified here (gate, 353 lib tests, clippy, fmt, python + wasm; no
process/net/unsafe in the engine).

Registration: Lang::Zul, from_code zu/zul/zulu/isizulu, Conjugation + build,
reverse index, a 9-group serde Table, PyO3 + wasm, Cargo includes,
correctness.py, CI two-oracle gate. Stacked on rf/indonesian-engine.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@v4nn4
v4nn4 enabled auto-merge (squash) August 24, 2026 20:07
@v4nn4
v4nn4 merged commit 2ab5f26 into main Aug 24, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant