Parse and mutate taskmark-spec markdown.
┌─────────────────────────────────────────────────┐
│ Public API (__init__.py) │
│ loads() / load() / update() │
└─────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
▼ ▼
┌───────────────────────┐ ┌─────────────────────────┐
│ _parser.py │ │ _loader.py │
│ Lark parser + xform │ │ Multi-file link loader │
└───────────────────────┘ └─────────────────────────┘
│ │
└───────────┬───────────┘
▼
┌─────────────────────────────────────────────────┐
│ _resolver.py │
│ InheritanceResolver (context stack) │
└─────────────────────────────────────────────────┘
│
┌───────────┴───────────┐
▼ ▼
┌───────────────────────┐ ┌─────────────────────────┐
│ _mutator.py │ │ _writer.py │
│ Task mutation │ │ File writing │
└───────────────────────┘ └─────────────────────────┘
│
▼
┌─────────────────────────────────────────────────┐
│ _types.py │
│ Task, TaskStore, TaskChanges │
└─────────────────────────────────────────────────┘
| Module | Purpose |
|---|---|
__init__.py |
Public API |
_parser.py |
Lark parser + frontmatter extraction |
_transformer.py |
Parse tree → objects |
_resolver.py |
Inheritance resolution |
_loader.py |
Multi-file loading |
_mutator.py |
Task mutation logic |
_recurrence.py |
Recurrence pattern calculation |
_dates.py |
Pendulum date utilities |
_writer.py |
File writing |
_types.py |
Type definitions |
grammar.lark |
Lark grammar |
| File | Purpose |
|---|---|
| types.md | Task, TaskStore, mutation types |
| behavior.md | Parse/mutate operations |
| grammar.md | Lark grammar, terminals |
| inheritance.md | Heading/subtask inheritance |