| Age | Commit message (Collapse) | Author |
|
Task-Id: t-1o2g8gugkr1
|
|
Task-Id: t-1o2g8gugkr1.2
|
|
- Remove trailing punctuation from subject line - Truncate to 72
chars max - Capitalize first letter
Task-Id: t-1o2g8gugkr1
|
|
- 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
|
|
- 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
|
|
Task-Id: t-1o2g8gugkr1.1
|
|
- 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
|
|
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>
|
|
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>
|
|
Task-Id: t-1o2g8gu6p8o
|
|
Task-Id: t-1o2g8gu6p8o
|
|
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."
|
|
- 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
|
|
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>
|
|
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>
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ac41b9b6-d117-46de-9e4f-842887a22f1d
Co-authored-by: Amp <amp@ampcode.com>
|
|
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>
|
|
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.
|
|
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>
|
|
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.
|
|
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>
|
|
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>
|
|
|
|
|
|
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-663b6704-a8b0-4983-a62f-0ef00c61410c
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
I think the cd'ing and stuff was messing with the direnv assumptions.
|
|
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-cb6b70cf-bfac-4ef2-bad9-280aa47efacf
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
https: //ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com> Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
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,
```
|
|
I have completed the task.
1. **Analysis**: I located `Omni/Agent/start-worker.sh` and
identified the correct location to insert the `git sync` command
(before building `task` and `agent`). 2. **Implementation**: I
modified `Omni/Agent/start-worker.sh` to run `git sync` inside the
worker directory. 3. **Verification**:
* Ran `lint Omni/Agent/start-worker.sh` (passed). * Ran `bash
-n Omni/Agent/start-worker.sh` to check syntax (passed). *
Ran `bild --test Omni/Agent.hs` to ensure no regressions in the
associated Haskell code (passed).
The `start-worker.sh` script now syncs the worker repository before
building the necessary tools, ensuring the worker runs with the
latest code.
Files updated: - `Omni/Agent/start-worker.sh`
|
|
|
|
Amp-Thread-ID:
https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221
Co-authored-by: Amp <amp@ampcode.com>
|
|
The task to fix missing Time, Thread, and Credits in the Agent Log
has been completed.
**Changes Implemented:**
1. **`Omni/Agent/Log.hs`**:
* Added `Data.Aeson` and `Data.ByteString` imports for JSON
parsing. * Updated `Status` data type to include `statusThread`.
* Implemented `LogEntry` data type and `FromJSON` instance to
match the `amp` log format. * Added `processLogLine` function
to parse JSON log lines and update the global status. * Updated
`render` function to display the Thread ID. * Added logic to
extract and format `Time` and `Credits` from log entries.
2. **`Omni/Agent/Worker.hs`**:
* Added a log monitoring thread using `forkIO` in `runAmp`. *
Implemented `monitorLog` to tail the `_/llm/amp.log` file and
pass lines to `AgentLog.processLogLine`. * Added `waitForFile`
to ensure the log monitor waits for the log file to be created.
**Verification:** * Verified that both `Omni/Agent/Log.hs` and
`Omni/Agent/Worker.hs` compile successfully using `bild` (ignoring
the expected "no main" error for library modules). * Ran `lint`
on both files with no errors.
The agent status bar should now correctly display the Thread ID,
elapsed/current Time, and Credits usage as parsed from the `amp` logs.
|