Add a grammar curator over a structured lessons input #7
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority/Critical
Priority/High
Priority/Low
Priority/Medium
Reviewed/Confirmed
Reviewed/Duplicate
Reviewed/Invalid
Reviewed/Won't Fix
Status/Abandoned
Status/Blocked
Status/Need More Info
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
project-halkyon/halkyon-curator!7
Loading…
Reference in a new issue
No description provided.
Delete branch "refs/pull/7/head"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Scaffolds the Grammar pillar (roadmap §6) the way the JMdict path works:
the curator owns the transform, the content lives in an external file
the user supplies. Each lesson becomes a rich-text note plus its derived
front/back flashcards — the "note-plus-derived-flashcards" pattern.
grammar_lessons.dart: the documented input format (JSON) + parserwith validating FormatExceptions. A lessons file has a title /
license / attribution and a list of lessons, each with a title, a
body, optional tags, and derived {front, back} cards.
grammar_curator.dart:GrammarLessonSet→ one studyset where everylesson lands as a note (its body) alongside its cards; a lesson's tags
become studyset-scoped
contenttags attached to that lesson's cards.halkyon_archive.dart: emit-sideArchiveNote+noteslist, byte-compatible with halkyon-learn's reader (the import side landed in
learn's "Carry notes in the Halkyon archive").
bin/grammar.dart:dart run halkyon_curator:grammar --input lessons.json --output grammar.halkyon [--title ...].example/grammar_lessons.sample.json: a runnable two-lesson template(は particle, です copula) that documents the format and is asserted
valid by the tests.
Body text is plain (paragraph-per-line) for now; richer markup is left
out of the format so it can be added without a breaking change. 12 tests
(parser validation + curator output + sample validity); analyzer clean;
CLI verified end-to-end (sample → 2 notes / 4 cards / 3 tags).
Signed-off-by: Tizian 「ティツィアーン」 raisondetredev@pm.me