summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-26Fix auto-review to use full namespace pathBen Sima
Task-Id: t-1o2g8gugkr1
2025-11-26Add task detail view with status formBen Sima
Task-Id: t-1o2g8gugkr1.3 Amp-Thread-ID: https://ampcode.com/threads/T-dc8aefa0-840e-412d-bc09-9c446be48117 Co-authored-by: Amp <amp@ampcode.com>
2025-11-26Simplify worker to use lint --fixBen Sima
Task-Id: t-1o2g8gugkr1
2025-11-26Add task list view with mobile-friendly cardsBen Sima
Task-Id: t-1o2g8gugkr1.2
2025-11-26Clean commit message subject for gitlint complianceBen Sima
- Remove trailing punctuation from subject line - Truncate to 72 chars max - Capitalize first letter Task-Id: t-1o2g8gugkr1
2025-11-26Fix worker to run formatters before commitBen Sima
- Run ormolu --mode inplace on changed .hs files - Run hlint --refactor to auto-fix lint issues - Use tryCommit that returns Either instead of panicking - Prevents commit hook failures from hlint violations Task-Id: t-1o2g8gugkr1
2025-11-26Add jr loop command for autonomous work+review cycleBen Sima
- jr review [<task-id>] [--auto]: auto-accepts if tests pass - jr review (no args): picks first task in Review status - jr loop [--delay=N]: runs work->review loop continuously - Auto-review runs bild --test on task namespace Task-Id: t-1o2g8gugkr1
2025-11-26Add jr web command with Servant skeletonBen Sima
Task-Id: t-1o2g8gugkr1.1
2025-11-25jr: implement Gerrit-style conflict handlingBen Sima
- Add RetryContext to track failed attempts (merge conflicts, rejections) - jr review checks for clean cherry-pick before showing diff - If conflict detected, kicks back to coder with context - Worker prompt includes retry context (attempt count, conflict files, reason) - After 3 failed attempts, marks task for human intervention Task-Id: t-1o2g8gudqlx
2025-11-25worker: format commit messages for gitlint complianceBen Sima
Split amp output into subject/body with blank line separator. Task-Id: t-1jbp4l5o Amp-Thread-ID: https://ampcode.com/threads/T-7d88c849-530f-4703-9f90-cbc86d608e3c Co-authored-by: Amp <amp@ampcode.com>
2025-11-25task: use sqids for uniform-length IDsBen Sima
8-char lowercase IDs using sqids with sequential counter. Task-Id: t-1o2g8gu9y2z Amp-Thread-ID: https://ampcode.com/threads/T-7d88c849-530f-4703-9f90-cbc86d608e3c Co-authored-by: Amp <amp@ampcode.com>
2025-11-25fix(agent): show elapsed duration instead of wall clock timeBen Sima
Task-Id: t-1o2g8gu6p8o
2025-11-25fix(jr): review command git show argsBen Sima
Task-Id: t-1o2g8gu6p8o
2025-11-25feat: implement t-1o2eyi9ipb2Ben Sima
The `task sync` command is now implemented and working. It: 1. Exports tasks to `.tasks/tasks.jsonl` 2. Checks if there are any git changes 3. If there are changes, stages and commits them locally with message "task: sync task database" 4. If no changes, prints "No task changes to sync."
2025-11-25task: sync task databaseBen Sima
2025-11-25jr: add review command, --try-opus, Task-Id trailerBen Sima
- jr review <task-id>: show diff, accept/reject/skip - Worker uses --try-opus for better code quality - Commit messages use Task-Id: trailer (Gerrit-style) Task-Id: t-1o2g8gu6p8o
2025-11-24fix(task): ensure thread safety and isolate testsBen Sima
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>
2025-11-24deprecate(agent): move functionality to jrBen Sima
Moves the 'agent start' and 'agent merge-driver' commands to 'jr work' and 'jr merge-driver' respectively. Deletes Omni/Agent.hs as it is no longer the entry point. Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24fix(agent): round credits to 2 decimal places and use totalCreditsBen Sima
Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24agent: add note about legacy merge driver logicBen Sima
Adds a comment to the merge driver logic in Omni/Agent.hs acknowledging that it may be obsolete given the removal of git-tracked tasks.jsonl, but keeping it for now to avoid breaking potential legacy rebase scenarios. Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24feat: implement t-1o2egbj8o0n.3Ben Sima
I have implemented the `jr work` command in `Omni/Jr.hs`. **Changes:** 1. **Modified `Omni/Jr.hs`**: * Added necessary imports (`Omni.Agent.Core`, `Omni.Agent.Worker`, `System.Directory`, `System.FilePath`, `Data.Text`). * Updated the Docopt usage to include `jr work [<task-id>]`. * Implemented the `work` command handler in the `move` function to initialize a `Worker` and call `Worker.start`, mirroring the logic in `Omni/Agent.hs`. * Added unit tests to verify parsing of the `work` command with and without a task ID. **Verification:** * Ran `bild --test Omni/Jr.hs` which passed, confirming the code compiles and tests pass. * Ran `lint Omni/Jr.hs` which passed. * Verified `_/bin/jr --help` shows the new command. I am now ready to exit.
2025-11-24Remove harvest command and documentationBen Sima
The 'harvest' functionality was tied to git-synced JSONL task files, which have been replaced by a local SQLite database. This commit removes the command from the CLI and updates documentation to reflect the new workflow. Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24feat: implement t-1o2egbj8o0n.2Ben Sima
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.
2025-11-24agent: restore git commit with amp outputBen Sima
Re-enables git commits in the worker, using the captured output from 'amp' as the commit message. Also updates 'Omni/Agent.hs' to handle the API change in TaskCore.exportTasks (commenting out harvest logic for now as it depended on git-tracked tasks). Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24task: migrate storage from jsonl to sqliteBen Sima
Removes .tasks/tasks.jsonl and replaces it with a local SQLite database (.tasks/tasks.db). Adds --db flag to CLI. Removes sync command. Amp-Thread-ID: https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d Co-authored-by: Amp <amp@ampcode.com>
2025-11-24task: sync databaseBen Sima
2025-11-24task: sync databaseBen Sima
2025-11-24Remove git actions from workerBen Sima
2025-11-24task: sync databaseBen Sima
2025-11-24feat: implement t-1o2eh11fsj1Ben Sima
2025-11-24fix(worker): remove unnecessary reset to worker branchBen Sima
2025-11-24task: claim t-1o2eh11fsj1Ben Sima
2025-11-24Allow worker to take a specific task to work onBen Sima
2025-11-24PlanningBen Sima
2025-11-24feat: implement t-1o2egbj8o0n.1Ben Sima
2025-11-24feat(jr): Create Omni/Jr.hs main entry pointBen Sima
Amp-Thread-ID: https://ampcode.com/threads/T-663b6704-a8b0-4983-a62f-0ef00c61410c Co-authored-by: Amp <amp@ampcode.com>
2025-11-24task: sync databaseBen Sima
2025-11-24task: claim t-1o2egbj8o0n.1Ben Sima
2025-11-24Plan out jrBen Sima
2025-11-24Display credits correctly and don't loop agentBen Sima
2025-11-24task: complete t-1o2cbyi23klBen Sima
Amp-Thread-ID: https://ampcode.com/threads/T-81b7cfa9-30ce-4646-b9ad-f9b2deaaf854 Co-authored-by: Amp <amp@ampcode.com>
2025-11-24Fix lint formattingBen Sima
2025-11-24Simplify agent commandBen Sima
I think the cd'ing and stuff was messing with the direnv assumptions.
2025-11-24Restore AGENTS.md instructions to workerBen Sima
2025-11-24Remove zombie fileBen Sima
2025-11-24Update tasksBen Sima
2025-11-22task: harvest updates from workersBen Sima
2025-11-22task: sync databaseBen Sima
2025-11-22task: sync databaseBen Sima
2025-11-22Merge branch 'task/t-1o2cbf1fzh2' into liveBen Sima