Back to corpus
research noteexperiment writeup candidatescore 24
NKO-1.5 Complete — Merge Morphology ✅
**Task:** Merge morphology — combine cross-script-bridge/morphology + keyboard-ai/morphological_engine **Status:** DONE **Date:** 2025-07-19
Full HTML reader
Read the full artifact
Extracted abstract or opening context
**Task:** Merge morphology — combine cross-script-bridge/morphology + keyboard-ai/morphological_engine **Status:** DONE **Date:** 2025-07-19
### Source 1: `core/morphology/morphology/` (cross-script-bridge) | File | What It Does | Lines | Merged | |------|-------------|-------|--------| | `analyzer.py` | MorphologicalAnalyzer — word decomposition, verb/noun matching, cross-script normalization, sentence analysis, interlinear glossing | ~350 | ✅ Full | | `conjugator.py` | VerbConjugator — 9 TAM particles × 6 person-numbers, tri-script output, full paradigm generation | ~250 | ✅ Full | | `compound_splitter.py` | CompoundSplitter — 14 known compounds, greedy longest-match decomposition, compound type classification | ~300 | ✅ Full | | `tone_engine.py` | ToneEngine — tone extraction, minimal pairs, cross-script tone preservation | ~300 | Referenced (TonePattern enum exposed) | | `cli.py` | CLI interface for all morphology commands | ~200 | N/A (CLI stays in core) |
### Source 2: `core/prediction/morphological_engine.py` (keyboard-ai) | Component | What It Does | Merged | |-----------|-------------|--------| | `MandingMorphologyAnalyzer` | Prefix/suffix/root tables (VERBAL_SUFFIXES, NOMINAL_SUFFIXES, PREFIXES, ROOT_DICTIONARY), morpheme prediction | ✅ Affix tables merged into AffixInventory; root dictionary merged into analyzer | | `CodeSwitchingDetector` | French/English/N'Ko detection | Not merged (prediction-layer concern, not morphology) | | `CulturalCalendarEngine` | Islamic calendar + agricultural seasons | Not merged (belongs in nko.culture) | | `Gen63MorphologicalEngine` | Unified wrapper | Superseded by nko.morphology API |
### Classes | Class | Purpose | |-------|---------| | `MorphologicalAnalyzer` | Word/sentence analysis, script detection, root extraction, noun class detection | | `VerbConjugator` | Manding verb phrase generation (9 tenses × 6 persons × 3 scripts) | | `CompoundDetector` | Compound word recognition, splitting, hypothetical generation | | `AffixInventory` | Static catalogue of all known Manding prefixes, suffixes, postpositions |
### Enums `MorphemeType` · `NounClass` (11 classes) · `TenseAspect` (9 values) · `PersonNumber` (6 values) · `CompoundType` (8 types) · `TonePattern`
Promotion decision
What has to happen next
Attach run IDs, datasets, metrics, and reproduction commands.
Why this is not always a full paper yet
Corpus pages are public-safe readers for discovered workspace artifacts. They are not automatically final papers. A corpus item becomes a polished paper only after the editable source, evidence checkpoints, references, figures, render path, and release status are attached through the paper schema.