Files
Hankan/data/irregulars.json
MechaCat02 b80deb2f6f chore: scaffold, CI, and the export bundle verbatim
The export bundle is the input to this port, not a sketch: the curriculum,
the tutor prompt and the five logic modules are finished and tested. They
land here byte-identical and stay that way.

  diff -r export/data data && diff -r export/lib lib
  diff -r export/prompt prompt && diff export/validate.mjs validate.mjs

data/, lib/, prompt/ and validate.mjs sit at the repo root so validate.mjs
runs verbatim with no path edits. All four are excluded from lint and
formatting — they are not ours to restyle. Types for lib/ live alongside in
types/ rather than as sibling .d.ts files, so the verbatim check stays a
plain directory diff.

CI runs the curriculum gate first, before anything else can pass:

  node validate.mjs   PASS — 0 blocking, 0 advisory

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-08 19:11:40 +02:00

149 lines
2.7 KiB
JSON

{
"classes": [
{
"k": "ㅡ",
"n": "ㅡ drops",
"p": "A stem ending in ㅡ loses it. The 아/어 choice then follows the vowel BEFORE it.",
"ex": [
[
"크다",
"커"
],
[
"바쁘다",
"바빠"
],
[
"슬프다",
"슬퍼"
],
[
"쓰다",
"써"
]
]
},
{
"k": "ㅂ",
"n": "ㅂ → 우",
"p": "A ㅂ batchim turns into 우, which fuses with the ending: 워. Almost all are adjectives.",
"ex": [
[
"덥다",
"더워"
],
[
"어렵다",
"어려워"
],
[
"무섭다",
"무서워"
],
[
"쉽다",
"쉬워"
]
]
},
{
"k": "ㄷ",
"n": "ㄷ → ㄹ",
"p": "A ㄷ batchim becomes ㄹ before a vowel. 받다 and 닫다 are regular — they do not change.",
"ex": [
[
"듣다",
"들어"
],
[
"걷다",
"걸어"
],
[
"묻다",
"물어"
]
]
},
{
"k": "르",
"n": "르 doubles ㄹ",
"p": "The 르 drops its ㅡ and an extra ㄹ lands on the previous syllable.",
"ex": [
[
"모르다",
"몰라"
],
[
"부르다",
"불러"
],
[
"다르다",
"달라"
],
[
"빠르다",
"빨라"
]
]
},
{
"k": "ㅅ",
"n": "ㅅ drops",
"p": "A ㅅ batchim disappears before a vowel, and no contraction follows. 웃다 and 씻다 are regular.",
"ex": [
[
"낫다",
"나아"
],
[
"짓다",
"지어"
],
[
"붓다",
"부어"
]
]
},
{
"k": "ㅎ",
"n": "ㅎ drops, vowel shifts",
"p": "Colour adjectives and 그렇다-type words: the ㅎ goes and the vowel becomes ㅐ.",
"ex": [
[
"그렇다",
"그래"
],
[
"빨갛다",
"빨개"
],
[
"어떻다",
"어때"
]
]
},
{
"k": "ㄹ",
"n": "ㄹ drops before ㄴ ㅂ ㅅ",
"p": "The 아/어 form is regular; the ㄹ only vanishes before certain endings.",
"ex": [
[
"살다",
"살아 · 사는"
],
[
"알다",
"알아 · 아는"
],
[
"멀다",
"멀어 · 먼"
]
]
}
]
}