Skip to content

Add Zulu — Bantu agglutinative engine (Verified) - #158

Closed
v4nn4 wants to merge 1 commit into
rf/indonesian-enginefrom
rf/zulu-engine
Closed

v4nn4 wants to merge 1 commit into
rf/indonesian-enginefrom
rf/zulu-engine

Conversation

@v4nn4

@v4nn4 v4nn4 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Zulu, two-oracle Verified (UniMorph ∩ kaikki, macrons stripped). Subject-concord + TAM + root + final-vowel, modeled productively (4 concord series over person + 14 noun classes, glue() coalescence, -a→-e subjunctive fronting). overrides.tsv empty — every scored form rule-driven; reproduces 97.9% of the full 20k UniMorph paradigm single-oracle. Gate: 1484/1484 forms (100%), 135/135 lemmas (100%). Re-verified (gate + 353 tests + clippy + fmt + python/wasm; no process/net/unsafe).

Stacked on rf/indonesian-engine — merge that first.

🤖 Generated with Claude Code

* Add Indonesian — affixal voice/derivation engine (Beta)

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>

* Add Zulu — Bantu agglutinative engine (Verified)

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>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@v4nn4

v4nn4 commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator Author

Content already on main — the stacked squash-merge of #157 landed both Indonesian and Zulu together (the rebase onto the new main correctly detected the Zulu patch as already upstream). Closing as redundant; Zulu is on main and green.

@v4nn4 v4nn4 closed this Aug 24, 2026
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