todoapp-core 0.5.0

Domain core of tda (task manager for humans and AI agents): entities, capabilities, and ports. No I/O deps.
Documentation

todoapp-core

The domain core of tda: entities, capabilities, and the ports (traits) that adapters implement. No I/O, no runtime, no framework dependencies — this crate compiles without touching a filesystem, a network, or an async runtime executor.

  • Task = a stable identity (id + timestamps) plus a set of capabilities (Status, Notes, Schedule, Estimate, Tags, Assignment, Recurrence, IssueRef, Attachments, Archived, TimeLog) — composition instead of a fixed field list. See tda-spec.md §3.
  • The decider pattern: decide (capability-keyed guards, first denial wins) → Events → apply (capability-keyed state changes). See tda-spec.md §5a.
  • Ports (ComponentStore, TaskEntityStore, …) are defined here and implemented by adapters (todoapp-store-mem, todoapp-store-turso).

This crate sits at the bottom of the dependency rule: adapters → app → core. Nothing above may leak into it.

This is a library crate — it has no binary of its own. To install and run tda, get todoapp-cli (cargo install todoapp-cli). Full docs at the project repo.