summaryrefslogtreecommitdiff
path: root/Omni/Agent/Worker.hs
AgeCommit message (Collapse)Author
2025-11-26Improve worker prompt and fix output interleavingBen Sima
- More explicit prompt: MUST run bild --test, fix hlint issues - Add workerQuiet flag to disable ANSI status bar in loop mode - Loop mode uses simple putText, manual jr work keeps status bar
2025-11-26Handle no-changes case: mark task Done instead of ReviewBen Sima
When amp completes but makes no changes, the task is already done. Mark it Done directly instead of Review (which would fail to find a commit).
2025-11-26Improve jr loop logging and fix review race conditionBen Sima
- Reorder loop to check pending reviews before starting new work - Loop no longer exits on missing commit (skips instead) - Add [loop], [review], [worker] prefixes to all log messages - Worker leaves task in InProgress on amp failure (avoids retry loop)
2025-11-26Use task title as commit subject, amp output as bodyBen Sima
Fixes gitlint failures by using the pre-validated task title as the commit subject line, while preserving amp's output in the body for review context. Body lines are truncated to 72 chars for compliance.
2025-11-26Fix worker: only set Review after commit succeedsBen Sima
If commit fails (lint hooks, etc), save retry context and reopen task for another attempt. After 3 failures, mark for human intervention. Task-Id: t-1o2g8gugkr1
2025-11-26Simplify worker to use lint --fixBen Sima
Task-Id: t-1o2g8gugkr1
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-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-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-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-24Remove git actions from workerBen Sima
2025-11-24fix(worker): remove unnecessary reset to worker branchBen Sima
2025-11-24Allow worker to take a specific task to work onBen Sima
2025-11-24Display credits correctly and don't loop agentBen Sima
2025-11-24Restore AGENTS.md instructions to workerBen Sima
2025-11-22fix: fix compilation and lint errorsBen Sima
Amp-Thread-ID: https://ampcode.com/threads/T-ca3b086b-5a85-422a-b13d-256784c04221 Co-authored-by: Amp <amp@ampcode.com>
2025-11-22task: complete t-1o2bxd11zv9 (Merge)Ben Sima
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
2025-11-22feat: implement t-1o2bxd11zv9Ben Sima
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.
2025-11-22Fix: Add LambdaCase extension and fix imports, and update tasksBen Sima
2025-11-22Merge task t-rWclFp3vN: Improve Worker status bar activity formattingBen Sima
2025-11-22feat: capture amp summary and forbid commitOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-ec034efc-0ef1-43df-8abe-b0cda0f9115b Co-authored-by: Amp <amp@ampcode.com>
2025-11-22feat: include AGENTS.md in worker promptOmni Worker
2025-11-22task: claim t-rWclFp3vNOmni Worker
2025-11-22fix: divide amp credits by 100 to display dollarsOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-5a2ca80d-5cba-409f-a262-6b5c652c257d Co-authored-by: Amp <amp@ampcode.com>
2025-11-22fix: read amp log from start and use totalCredits for accuracyOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-5a2ca80d-5cba-409f-a262-6b5c652c257d Co-authored-by: Amp <amp@ampcode.com>
2025-11-22fix: parse correct json fields from amp logsOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-5a2ca80d-5cba-409f-a262-6b5c652c257d Co-authored-by: Amp <amp@ampcode.com>
2025-11-22feat: stream amp logs to worker status barOmni Worker
2025-11-22fix(agent): fix updateTaskStatus signatureOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-22fix(agent): update updateTaskStatus callsOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-21feat(agent): add 2-line status monitoring UIOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-21fix(agent): check for existing branch before creatingOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-21style: fix lintingOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-21feat(agent): implement smart base branch selectionOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-79499d9e-f4f4-40de-893c-524c32a45483 Co-authored-by: Amp <amp@ampcode.com>
2025-11-21task: t-rWa5yilwM.2 done (Omni.Agent.Worker)Omni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-7109f8d0-feb4-4a24-bc4b-37743227e2cb Co-authored-by: Amp <amp@ampcode.com>
2025-11-21feat: implement Omni.Agent.Worker loop logicOmni Worker
Amp-Thread-ID: https://ampcode.com/threads/T-4f2905ef-a042-4880-b146-f6809ce83751 Co-authored-by: Amp <amp@ampcode.com>