diff options
| author | Ben Sima <ben@bsima.me> | 2025-11-20 21:49:54 -0500 |
|---|---|---|
| committer | Ben Sima <ben@bsima.me> | 2025-11-20 21:49:54 -0500 |
| commit | 2352f71a0c3f56d237027741a5c9a6a67de6f1de (patch) | |
| tree | 96ca05f5c6279948236865240ddca933521b26ee | |
| parent | aebb26fcf7ff9869b1039cdbac8811f83b346f9d (diff) | |
docs(agent): update logging design with 2-line status UI
| -rw-r--r-- | .tasks/tasks.jsonl | 1 | ||||
| -rw-r--r-- | Omni/Agent/DESIGN.md | 7 |
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`. |
