tix-tracker 0.10.0

A terminal issue tracker: markdown + YAML frontmatter issues with a kanban TUI and CLI
Documentation
//! Per-issue time tracking (mission `per-issue-time-tracking-01M3C9A4`).
//!
//! Effort recorded against an issue: a [`TimeEntry`] holds a stable id, whole
//! minutes of actual work, an optional `YYYY-MM-DD` calendar date, an author, an
//! optional note and whatever unknown metadata the file carries. Current entries
//! live in the issue's own frontmatter (`time_entries`), mutations live in the
//! append-only History, and nothing here introduces a database, a hosted service,
//! a second body section or a second issue store (C-001).
//!
//! # What this module is not
//!
//! It is not a timer: there is no start/stop state, no clock read, no timezone
//! conversion and no overlap rule (C-002, C-009). It does not convert or
//! reinterpret the issue's free-form `estimate`, and no operation here changes an
//! issue's status or ownership (C-005, C-008).
//!
//! # Ownership of this root
//!
//! This file is WP01's and is **frozen** after it: all six children are declared
//! here, and each later package fills in its own child file rather than declaring
//! one (T046). Without that split this single file would be owned by three lanes
//! at once. [`entry`] carries the value model and its validation;
//! [`service`], [`aggregate`], [`filters`], [`diagnostics`] and [`portable`] are
//! declared by WP01 as compile-clean stubs for WP02, WP03 and WP07.
//!
//! [`crate::capacity`] is the same shape: one root owned by the package that
//! created it, with the later packages adding behavior beside it.

pub mod aggregate;
pub mod diagnostics;
pub mod entry;
pub mod filters;
pub mod portable;
pub mod service;

pub use entry::{
    TIME_ENTRY_FRONTMATTER_KEY, TIME_ENTRY_KNOWN_FIELDS, TimeEntry, TimeEntryError,
    TimeEntryExtensions,
};