summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.tasks/tasks.jsonl6
-rw-r--r--Omni/Task.hs7
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