# Inkhaven 1.3.18 — The ConLang Suite: morphology depth & a developer's guide

_With RFC LANG-1 complete (1.3.17), this release deepens the one area that still
had a clear functional ceiling — **morphology** — and ships a complete,
beginner-friendly **book** about the whole suite. No new dependencies. Reference:
[CONLANG.md](../CONLANG.md)._

## Morphology depth

Until now a word changed shape only by gluing prefixes and suffixes to its edges.
1.3.18 adds the rest of how the world's languages actually mark grammar.

- **Non-concatenative morphology.** A morpheme can now be an **infix** (inserted
  inside the root — `sulat` → `s-um-ulat`, anchored before or after the first
  vowel), a **circumfix** (wrapping the root — `form: "ge_t"` → *ge* + stem +
  *t*), an **ablaut** process (`process: "ablaut"` with SPE `rules`, swapping a
  sound inside the stem — `sing` → `sang`), or **reduplication**
  (`process: "reduplication"`, mode `full` / `initial_cv` / `initial_syllable` /
  `final_syllable` — `kata` → `kakata`). All are written as ordinary morphemes
  and used in paradigm cells just like affixes, with allophony applying across
  every new seam.

- **Affix precedence.** An optional `precedence` on a morpheme controls how close
  it sits to the root when several stack (`0` = any, `1` = root-adjacent, `2` =
  the next slot out, …) — so the case suffix can always hug the root and the
  number suffix sit outside it, regardless of the order a cell lists them.

- **Agreement (concord).** A new `agreement` block declares that a dependent part
  of speech copies grammatical features from its head — an adjective agreeing
  with its noun, a verb with its subject. **`inkhaven language agree <lang>
  --word mira --pos adjective --features "number=pl"`** inflects the dependent to
  match (`mira` → `mirai`, glossed `bright-PL`).

## A reference grammar that groups by category

The grammar book now reads each morpheme's `category` and `value` (case, number,
tense, …) and groups affixes by category, showing each one's kind (prefix /
suffix / infix / circumfix / ablaut / reduplication) and value — instead of a
flat list. Agreement rules get their own section, and the AI study guide and
tutorial explain the new processes when a language uses them.

## A developer's guide: *Developing a Constructed Language with Inkhaven*

A new ~120-page book, [`Book/CONLANG_DEVELOPMENT/`](../../Book/CONLANG_DEVELOPMENT/),
teaches the entire ConLang Suite from zero — for a reader who knows neither
linguistics nor Inkhaven. Every linguistic term is defined where it first
appears; the book starts from installing the tool and walks the whole process
(phonology → lexicon → grammar → diachronics → writing systems → producing the
books) one pillar at a time, ending with a complete worked walkthrough. It is
typeset in the *Book of Inkhaven* style and compiles with a bare `typst compile`.
A full command reference, a configuration-block reference, and a glossary of
every term are included as appendices.

## Design notes

- **Backward compatible.** Existing paradigms behave identically — `precedence`
  defaults to "any", and the new affix types and processes are opt-in.
- **Deterministic core.** Infix / circumfix / ablaut / reduplication, precedence
  ordering, and agreement are all pure, unit-tested functions; ablaut reuses the
  allophony rewrite engine and agreement reuses paradigm generation.

Tests 1490 → 1498. **Zero new dependencies.** Full reference:
[CONLANG.md](../CONLANG.md).
