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 /Omni/Agent | |
| parent | aebb26fcf7ff9869b1039cdbac8811f83b346f9d (diff) | |
docs(agent): update logging design with 2-line status UI
Diffstat (limited to 'Omni/Agent')
| -rw-r--r-- | Omni/Agent/DESIGN.md | 7 |
1 files changed, 6 insertions, 1 deletions
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`. |
