| Age | Commit message (Collapse) | Author |
|
Re-introduces MVar locking in Task Core to prevent race conditions
during Read-Modify-Write cycles (e.g. ID generation). Updates tests
to use isolated SQLite databases instead of the production DB or
JSONL files. Removes legacy test artifacts.
Amp-Thread-ID:
https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d
Co-authored-by: Amp <amp@ampcode.com>
|
|
I have successfully integrated the existing `Omni/Task` functionality
into `jr`.
The `Omni/Jr.hs` file already had the logic to forward `task`
commands to `Omni/Task.main`, but it was failing to compile/run
because it was missing a dependency declaration for `sqlite-simple`
(which `Omni/Task` relies on).
I added the missing dependency to `Omni/Jr.hs`: ```haskell -- :
dep sqlite-simple ```
I verified the fix by running: 1. `Omni/Ide/run.sh Omni/Jr.hs task
list` - Verified it lists tasks correctly. 2. `Omni/Ide/run.sh
Omni/Jr.hs task create "Test Task via Jr"` - Verified it creates tasks.
3. `Omni/Ide/run.sh Omni/Jr.hs task show <id>` - Verified it shows
task details. 4. `Omni/Ide/run.sh Omni/Jr.hs task -h` - Verified
it shows `task` specific help. 5. `Omni/Ide/run.sh Omni/Jr.hs task
test` - Verified it runs the `Omni/Task` test suite. 6. `bild --test
Omni/Jr.hs` - Verified `Omni/Jr.hs` itself builds and passes its
own tests.
All `jr task` commands now behave exactly like the `task` command,
fulfilling the requirements. The existing `Omni/Task` logic is
fully reused.
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
The task was to update `Omni/Task/Core.hs` to exclude tasks with
`taskType == Epic` from the `task ready` command.
I have: 1. Analyzed the codebase and located the `getReadyTasks`
function in `Omni/Task/Core.hs`. 2. Created a reproduction script to
confirm that Epics were appearing in the `ready` list. 3. Modified
`Omni/Task/Core.hs` to add `taskType task /= Epic` condition in
`getReadyTasks`. 4. Added a unit test in `Omni/Task.hs` to verify
that Epics are excluded from ready tasks. 5. Ran tests using `bild
--test Omni/Task.hs` and verified they pass. 6. Ran `lint Omni/Task.hs
Omni/Task/Core.hs` to ensure code quality.
The changes are verified and ready.
```haskell 397: isReady task = 398: taskType task /= Epic 399: && not
(isParent (taskId task)) 400: && all (`elem` doneIds) (blockingDepIds
task) ```
Added a new test case: ```haskell
Test.unit "ready tasks exclude epics" <| do
epic <- createTask "Epic task" Epic Nothing Nothing P2 []
Nothing ready <- getReadyTasks (taskId epic `notElem` map
taskId ready) Test.@?= True,
```
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Refactored `AGENTS.md` to be a concise cheat sheet by:
1. Moving detailed examples of "Forbidden Patterns" and "Bug
Discovery" to `Omni/Task/README.md`. 2. Moving "Coding Conventions"
(Always include tests, No TODOs, Fast typechecking) to `README.md`. 3.
Removing "About Omnirepo" and "Source Layout" sections from `AGENTS.md`
as they are duplicative of `README.md`. 4. Condensing `AGENTS.md`
to contain only Critical Rules, a short Session Checklist/Cheat
Sheet, and pointers to the detailed READMEs (`Omni/Task/README.md`,
`Omni/Bild/README.md`, `Omni/Ide/README.md`, `README.md`).
Verified that detailed documentation exists in the respective
namespaces and passed linting.
|
|
I have successfully refactored `AGENTS.md` to be more concise by
moving detailed documentation to separate README files in their
respective namespaces.
**Changes made:** 1. **Created `Omni/Task/README.md`**: Contains
the detailed "Task Manager for AI Agents" documentation. 2.
**Created `Omni/Bild/README.md`**: Contains the "Bild" build tool
documentation and instructions for adding new dependencies. 3.
**Created `Omni/Ide/README.md`**: Contains the "Development Tools"
(run.sh, lint, etc.) and "Git Workflow" documentation. 4. **Updated
`AGENTS.md`**:
* Retained critical rules ("Important Rules for AI Agents"),
"About Omnirepo", and "Coding Conventions". * Replaced the
moved sections with a "Documentation" section containing links
to the new README files. * Used relative paths for links to
ensure portability.
**Verification:** * Ran `bild --test Omni/Task.hs` and `bild --test
Omni/Bild.hs` to ensure no regressions were introduced in the touched
namespaces.
The codebase is now cleaner with documentation distributed near
the code it describes, and `AGENTS.md` is now a focused entry point
for agents.
|
|
https: //ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483
Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID:
https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483
|
|
|