1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
//! Task domain models, parsing, update helpers, and repository ports.
//!
//! This module implements the core logic for Ito's task tracking system, which supports
//! two formats:
//! - **Enhanced**: Structured markdown with waves, dependencies, and metadata.
//! - **Checkbox**: Legacy simple checklist format.
//!
//! Key components:
//! - [`TaskRepository`](crate::tasks::TaskRepository): Port for accessing task data (implemented by core).
//! - [`parse_tasks_tracking_file`](crate::tasks::parse_tasks_tracking_file): Normalizes markdown into [`TasksParseResult`](crate::tasks::TasksParseResult).
//! - [`compute_ready_and_blocked`](crate::tasks::compute_ready_and_blocked): Determines which tasks are actionable based on waves/deps.
//! - [`update_enhanced_task_status`](crate::tasks::update_enhanced_task_status): Modifies markdown content to reflect status changes.
/// Compute ready vs blocked tasks for a parsed tracking file.
pub use compute_ready_and_blocked;
/// Task mutation result types and port.
pub use ;
/// Detect whether a `tasks.md` file is enhanced or checkbox format.
pub use detect_tasks_format;
/// Generate the enhanced `tasks.md` template for a change.
pub use enhanced_tasks_template;
/// Returns true when a tracking filename is safe as a single path segment.
pub use is_safe_tracking_filename;
/// Parse task tracking markdown into a normalized representation.
pub use parse_tasks_tracking_file;
/// Build a tasks path with fallback behavior for invalid ids.
pub use tasks_path;
/// Build a tasks path only when the change id is a safe path segment.
pub use tasks_path_checked;
/// Build a tracking file path when change id + filename are safe.
pub use tracking_path_checked;
/// Repository port for loading and querying task data.
pub use TaskRepository;
/// Update checkbox-format task status markers.
pub use update_checkbox_task_status;
/// Update enhanced-format task status and metadata.
pub use update_enhanced_task_status;
/// Parsed task tracking result.
pub use TasksParseResult;
/// Parsed wave metadata from enhanced format.
pub use WaveInfo;
/// Common task domain types.
pub use ;