- Pure Lisp implementation (no Emacs subprocess)
- Read org files via ingest-ast
- Write back preserving structure (#+begin_src blocks)
- Add headlines with auto-generated IDs
- Set properties on headlines
- Set TODO states (TODO → DONE)
- Cognitive tools: :org-read, :org-write, :org-add-headline, :org-set-property, :org-set-todo
This enables self-editing on org files without breaking tangling.