From 2352f71a0c3f56d237027741a5c9a6a67de6f1de Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Thu, 20 Nov 2025 21:49:54 -0500 Subject: docs(agent): update logging design with 2-line status UI --- Omni/Agent/DESIGN.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'Omni/Agent/DESIGN.md') 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`. -- cgit v1.2.3