diff options
| -rw-r--r-- | .tasks/tasks.jsonl | 6 | ||||
| -rw-r--r-- | Omni/Task.hs | 7 |
2 files changed, 9 insertions, 4 deletions
diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl index b21a30c..d43d37a 100644 --- a/.tasks/tasks.jsonl +++ b/.tasks/tasks.jsonl @@ -1,3 +1,3 @@ -{"taskCreatedAt":"2025-11-08T21:32:06.413563418Z","taskDependencies":[],"taskId":"t-1mCEVHb","taskNamespace":null,"taskProject":"test-project","taskStatus":"Open","taskTitle":"Test task","taskUpdatedAt":"2025-11-08T21:32:06.413563418Z"} -{"taskCreatedAt":"2025-11-08T21:32:06.422110058Z","taskDependencies":[],"taskId":"t-1mCEXV2","taskNamespace":null,"taskProject":"test","taskStatus":"Open","taskTitle":"First task","taskUpdatedAt":"2025-11-08T21:32:06.422110058Z"} -{"taskCreatedAt":"2025-11-08T21:32:06.430185244Z","taskDependencies":["t-1mCEXV2"],"taskId":"t-1mCF01a","taskNamespace":null,"taskProject":"test","taskStatus":"Open","taskTitle":"Blocked task","taskUpdatedAt":"2025-11-08T21:32:06.430185244Z"} +{"taskCreatedAt":"2025-11-08T21:41:26.038817033Z","taskDependencies":[],"taskId":"t-1nex3MX","taskNamespace":null,"taskProject":"test-project","taskStatus":"Open","taskTitle":"Test task","taskUpdatedAt":"2025-11-08T21:41:26.038817033Z"} +{"taskCreatedAt":"2025-11-08T21:41:26.048075145Z","taskDependencies":[],"taskId":"t-1nex6ch","taskNamespace":null,"taskProject":"test","taskStatus":"Open","taskTitle":"First task","taskUpdatedAt":"2025-11-08T21:41:26.048075145Z"} +{"taskCreatedAt":"2025-11-08T21:41:26.057905215Z","taskDependencies":["t-1nex6ch"],"taskId":"t-1nex8KQ","taskNamespace":null,"taskProject":"test","taskStatus":"Open","taskTitle":"Blocked task","taskUpdatedAt":"2025-11-08T21:41:26.057905215Z"} diff --git a/Omni/Task.hs b/Omni/Task.hs index 808e73f..2f3ec6f 100644 --- a/Omni/Task.hs +++ b/Omni/Task.hs @@ -9,6 +9,7 @@ module Omni.Task where import Alpha import qualified Data.Text as T import qualified Omni.Cli as Cli +import qualified Omni.Namespace as Namespace import Omni.Task.Core import qualified Omni.Test as Test import System.Directory (doesFileExist, removeFile) @@ -80,7 +81,11 @@ move args Just depStr -> pure <| T.splitOn "," (T.pack depStr) namespace <- case Cli.getArg args (Cli.longOption "namespace") of Nothing -> pure Nothing - Just ns -> pure <| Just (T.pack ns) + Just ns -> do + -- Validate it's a proper namespace by parsing it + let validNs = Namespace.fromHaskellModule ns + nsPath = T.pack <| Namespace.toPath validNs + pure <| Just nsPath task <- createTask title project namespace deps putStrLn <| "Created task: " <> T.unpack (taskId task) | args `Cli.has` Cli.command "list" = do |
