summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.tasks/tasks.jsonl1
-rw-r--r--Omni/Agent/DESIGN.md7
2 files changed, 7 insertions, 1 deletions
diff --git a/.tasks/tasks.jsonl b/.tasks/tasks.jsonl
index 75bf17c..ee2748d 100644
--- a/.tasks/tasks.jsonl
+++ b/.tasks/tasks.jsonl
@@ -152,3 +152,4 @@
{"taskCreatedAt":"2025-11-21T02:39:55.225849981Z","taskDependencies":[{"depId":"t-rWa5yilwM.1","depType":"Blocks"}],"taskId":"t-rWa5yilwM.2","taskNamespace":"Omni/Agent.hs","taskParent":"t-rWa5yilwM","taskPriority":"P2","taskStatus":"Open","taskTitle":"Implement Omni.Agent.Worker loop logic","taskType":"WorkTask","taskUpdatedAt":"2025-11-21T02:39:55.225849981Z"}
{"taskCreatedAt":"2025-11-21T02:39:58.185671478Z","taskDependencies":[],"taskId":"t-rWa5yilwM.3","taskNamespace":"Omni/Agent.hs","taskParent":"t-rWa5yilwM","taskPriority":"P2","taskStatus":"Open","taskTitle":"Implement Omni.Agent.Log module with Aeson parsing","taskType":"WorkTask","taskUpdatedAt":"2025-11-21T02:39:58.185671478Z"}
{"taskCreatedAt":"2025-11-21T02:40:01.165180998Z","taskDependencies":[{"depId":"t-rWa5yilwM.2","depType":"Blocks"}],"taskId":"t-rWa5yilwM.4","taskNamespace":"Omni/Agent.hs","taskParent":"t-rWa5yilwM","taskPriority":"P2","taskStatus":"Open","taskTitle":"Implement Omni.Agent.CLI entry point","taskType":"WorkTask","taskUpdatedAt":"2025-11-21T02:40:01.165180998Z"}
+{"taskCreatedAt":"2025-11-21T02:49:51.7176629Z","taskDependencies":[{"depId":"t-rWa5yilwM.3","depType":"Blocks"}],"taskId":"t-rWa5yilwM.5","taskNamespace":"Omni/Agent.hs","taskParent":"t-rWa5yilwM","taskPriority":"P2","taskStatus":"Open","taskTitle":"Implement enhanced 2-line status logging","taskType":"WorkTask","taskUpdatedAt":"2025-11-21T02:49:51.7176629Z"}
diff --git a/Omni/Agent/DESIGN.md b/Omni/Agent/DESIGN.md
index bbdbe15..eb30ecb 100644
--- a/Omni/Agent/DESIGN.md
+++ b/Omni/Agent/DESIGN.md
@@ -73,7 +73,12 @@ The Haskell implementation should replicate the logic of `start-worker.sh` but w
### 4.3 Logging
- Continue writing raw Amp logs to `_/llm/amp.log` in the worker directory.
- `agent log` reads this file and applies the filtering logic (currently in `monitor-worker.sh` jq script) using Haskell (Aeson).
-- **Requirement:** Output must include timestamps for every event. Extract the `timestamp` field from the JSON log and format it (e.g., `[HH:MM:ss] 🤖 THOUGHT: ...`).
+- **UI Design**:
+ - **Two-line Status**: The CLI should maintain two reserved lines at the bottom (or top) of the output for each worker:
+ - **Line 1 (Meta)**: `[Worker: omni-worker-1] Task: t-123 | Files: 3 | Credits: $0.45 | Time: 05:23`
+ - **Line 2 (Activity)**: `[14:05:22] 🤖 Thinking...` (updates in place)
+ - **Completion**: When a task finishes, print a summary line (e.g., `[✓] Task t-123 completed in 12m 30s`) and a hard line break before starting the next loop.
+ - **History**: Previous log lines (tool outputs, thoughts) scroll up above these two status lines.
### 4.4 Harvesting
- Iterate over `.tasks/workers/` or `git worktree list`.