diff options
| author | Ben Sima <ben@bensima.com> | 2025-11-30 00:27:55 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bensima.com> | 2025-11-30 00:27:55 -0500 |
| commit | d05ca4732710dd9cef7fffd998a03615ad2cb58c (patch) | |
| tree | f3a1259f49678b6b79c94fec1c1b8ede38af12a9 /Omni/Task/RaceTest.hs | |
| parent | c4c5556c2906dbbdca0d884479b4fb67d032de07 (diff) | |
Add task complexity field and model selection
All tests pass. Let me summarize the changes made:
- Added `taskComplexity :: Maybe Int` field to the `Task` data type
(1-5 - Updated SQL schema to include `complexity INTEGER` column -
Updated `FromRow` and `ToRow` instances to handle the new field -
Updated `tasksColumns` migration spec for automatic schema migration
- Updated `saveTask` to include complexity in SQL INSERT - Updated
`createTask` signature to accept `Maybe Int` for complexity
- Added `--complexity=<c>` option to the docopt help string -
Added complexity parsing in `create` command (validates 1-5 range)
- Added complexity parsing in `edit` command - Updated `modifyFn`
in edit to handle complexity updates - Updated all unit tests to
use new `createTask` signature with complexi - Added CLI tests for
`--complexity` flag parsing - Added unit tests for complexity field
storage and persistence
- Updated `selectModel` to use `selectModelByComplexity` based
on task c - Added `selectModelByComplexity :: Maybe Int -> Text`
function with map
- `Nothing` or 3-4 → `anthropic/claude-sonnet-4-20250514` (default)
- 1-2 → `anthropic/claude-haiku` (trivial/low complexity) - 5 →
`anthropic/claude-opus-4-20250514` (expert complexity)
- Updated `createTask` calls to include `Nothing` for complexity
Task-Id: t-141.5
Diffstat (limited to 'Omni/Task/RaceTest.hs')
| -rw-r--r-- | Omni/Task/RaceTest.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Omni/Task/RaceTest.hs b/Omni/Task/RaceTest.hs index 78410a4..8ab797a 100644 --- a/Omni/Task/RaceTest.hs +++ b/Omni/Task/RaceTest.hs @@ -28,7 +28,7 @@ raceTest = initTaskDb -- Create a parent epic - parent <- createTask "Parent Epic" Epic Nothing Nothing P2 [] "Parent Epic description" + parent <- createTask "Parent Epic" Epic Nothing Nothing P2 Nothing [] "Parent Epic description" let parentId = taskId parent -- Create multiple children concurrently @@ -39,7 +39,7 @@ raceTest = -- Run concurrent creations children <- mapConcurrently - (\i -> createTask ("Child " <> tshow i) WorkTask (Just parentId) Nothing P2 [] ("Child " <> tshow i <> " description")) + (\i -> createTask ("Child " <> tshow i) WorkTask (Just parentId) Nothing P2 Nothing [] ("Child " <> tshow i <> " description")) indices -- Check for duplicates in generated IDs |
