Expand description
Task models and task list parsing. 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: Port for accessing task data (implemented by core).parse_tasks_tracking_file: Normalizes markdown intoTasksParseResult.compute_ready_and_blocked: Determines which tasks are actionable based on waves/deps.update_enhanced_task_status: Modifies markdown content to reflect status changes.
Structs§
- Progress
Info - Common task domain types. Summary counts computed from the parsed tasks.
- Task
Diagnostic - Common task domain types. A parse-time diagnostic emitted while reading a tasks file.
- Task
Item - Common task domain types. A normalized task entry parsed from a tasks tracking file.
- Tasks
Parse Result - Parsed task tracking result.
Output of parsing a
tasks.mdfile. - Wave
Info - Parsed wave metadata from enhanced format. Wave metadata parsed from enhanced tasks files.
Enums§
- Diagnostic
Level - Common task domain types. Diagnostic severity.
- Task
Kind - Common task domain types. Task classification.
- Task
Status - Common task domain types. Status values supported by Ito task tracking.
- Tasks
Format - Common task domain types.
The detected format of a
tasks.mdfile.
Traits§
- Task
Repository - Repository port for loading and querying task data. Port for accessing task data.
Functions§
- compute_
ready_ and_ blocked - Compute ready vs blocked tasks for a parsed tracking file. Compute ready tasks and blocked tasks (with reasons) from a parsed tasks file.
- detect_
tasks_ format - Detect whether a
tasks.mdfile is enhanced or checkbox format. Detects whether task tracking contents use the enhanced wave-based format or the legacy checkbox format. - enhanced_
tasks_ template - Generate the enhanced
tasks.mdtemplate for a change. Generate the default template for an enhanced-formattasks.md. - is_
safe_ tracking_ filename - Returns true when a tracking filename is safe as a single path segment.
Return
truewhentracking_fileis safe as a single filename. - parse_
tasks_ tracking_ file - Parse task tracking markdown into a normalized representation.
Parse a
tasks.mdtracking file into a normalized representation. - tasks_
path - Build a tasks path with fallback behavior for invalid ids.
Path to
{ito_path}/changes/{change_id}/tasks.md. - tasks_
path_ checked - Build a tasks path only when the change id is a safe path segment.
Path to
{ito_path}/changes/{change_id}/tasks.mdwhenchange_idis safe. - tracking_
path_ checked - Build a tracking file path when change id + filename are safe.
Path to
{ito_path}/changes/{change_id}/{tracking_file}when both inputs are safe. - update_
checkbox_ task_ status - Update checkbox-format task status markers. Update the status marker of a checkbox-formatted task in the given file contents.
- update_
enhanced_ task_ status - Update enhanced-format task status and metadata. Update the status and “Updated At” metadata of an enhanced-format task block.