F040: Task-Decision Graph
Status: Proposed Priority: Medium Inspired by: Beads (steveyegge/beads) - dependency-aware graph issue tracker for AI agents
Problem
Section titled “Problem”CSTP records decisions but has no concept of executable tasks. Agents decide “use approach X” but there’s no structured way to track the work breakdown, execution status, or link outcomes back to the originating decision. This gap means:
- Decisions float disconnected from their implementation
- No way to ask “what work did this decision generate?”
- Outcome reviews require manual correlation between decisions and completed work
Solution
Section titled “Solution”Add a task layer to CSTP where decisions can spawn trackable tasks with dependencies, forming a decision-task-outcome loop.
Core Concepts
Section titled “Core Concepts”- Decision → Tasks: A decision can spawn one or more tasks
- Task Dependencies: Tasks can block, relate to, or supersede other tasks
- Hierarchical IDs: Tasks use dot-notation (dec-a3f8.1, dec-a3f8.1.1) for epic/task/subtask hierarchy
- Outcome Loop: Task completion triggers decision outcome review
Data Model
Section titled “Data Model”class Task: id: str # Hash-based, e.g. "task-a3f8" decision_id: str # Parent decision title: str status: TaskStatus # pending, in_progress, done, blocked assignee: str | None # Agent ID dependencies: list[TaskLink] # blocks, relates_to, supersedes subtasks: list[str] # Child task IDs created_at: datetime completed_at: datetime | Nonecstp.createTask - Create task linked to a decisioncstp.updateTask - Update task statuscstp.listTasks - List tasks (by decision, status, assignee)cstp.getTaskGraph - Get dependency graph for a decisionPhases
Section titled “Phases”- P1: Task CRUD + decision linking
- P2: Dependency graph with blocking detection
- P3: Hierarchical subtasks
- P4: Auto-trigger outcome review on task completion
Integration Points
Section titled “Integration Points”- F027 (Decision Quality): Tasks provide concrete evidence for outcome reviews
- F028 (Reasoning Capture): Thoughts can reference specific tasks
- F030 (Circuit Breakers): Task failure patterns can trip breakers
- F038 (Federation): Tasks can be assigned to remote agents