diff options
Diffstat (limited to 'Omni/Task')
| -rw-r--r-- | Omni/Task/Core.hs | 7 | ||||
| -rw-r--r-- | Omni/Task/README.md | 19 |
2 files changed, 23 insertions, 3 deletions
diff --git a/Omni/Task/Core.hs b/Omni/Task/Core.hs index bab1912..c548f6c 100644 --- a/Omni/Task/Core.hs +++ b/Omni/Task/Core.hs @@ -39,7 +39,7 @@ data Task = Task } deriving (Show, Eq, Generic) -data TaskType = Epic | WorkTask +data TaskType = Epic | WorkTask | HumanTask deriving (Show, Eq, Generic) data Status = Open | InProgress | Review | Done @@ -397,6 +397,7 @@ getReadyTasks = do isReady task = not (isParent (taskId task)) && all (`elem` doneIds) (blockingDepIds task) + && taskType task /= HumanTask pure <| filter isReady openTasks -- Get dependency tree for a task (returns tasks) @@ -514,7 +515,7 @@ showTaskTree maybeId = do let total = length children completed = length <| filter (\t -> taskStatus t == Done) children in "[" <> T.pack (show completed) <> "/" <> T.pack (show total) <> "]" - WorkTask -> case taskStatus task of + _ -> case taskStatus task of Open -> "[ ]" InProgress -> "[~]" Review -> "[?]" @@ -522,7 +523,7 @@ showTaskTree maybeId = do coloredStatusStr = case taskType task of Epic -> magenta statusStr - WorkTask -> case taskStatus task of + _ -> case taskStatus task of Open -> bold statusStr InProgress -> yellow statusStr Review -> magenta statusStr diff --git a/Omni/Task/README.md b/Omni/Task/README.md new file mode 100644 index 0000000..c989251 --- /dev/null +++ b/Omni/Task/README.md @@ -0,0 +1,19 @@ +# Omni/Task + +The Task Manager system for the Omnirepo. + +## Task Types + +- `Epic`: A container for related tasks. +- `WorkTask`: A standard unit of work (default). +- `HumanTask`: A task specifically for human operators. These are excluded from the `task ready` queue used by agents. + +## Usage + +```bash +# Create a human task +task create "Manual review required" --type=human + +# List all human tasks +task list --type=human +``` |
