diff --git a/README.md b/README.md index 87a057f..8faa534 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,8 @@ Organize related tasks into named groups across working directories. Launch `claude`, `codex`, `grok`, or `omp` from the Agent page (`n`, then `Tab`). Rerun the task or reload a saved session to resume the conversation. +![`fleetcom` Agent page](docs/img/agent.png) + ## Operational model Managing several long-lived commands across terminal panes is pesky, especially when you need to reconnect later. With `fleetcom`: diff --git a/docs/img/README.md b/docs/img/README.md index 6b43adc..c5feb02 100644 --- a/docs/img/README.md +++ b/docs/img/README.md @@ -9,8 +9,9 @@ Display it with `cat` to reproduce the live layout in a terminal. | `quickpeek.ansi` | grouped by state, peek open over a finished run | | `groups.ansi` | grouped by custom group: five directories in one section, and one directory represented in two sections | | `controls.ansi` | the `?` overlay over the dir-grouped dashboard | +| `agent.ansi` | the spawn prompt's Agent page (`n`, then `Tab`) over the dir-grouped dashboard, every supported agent installed | -The same 21 tasks are rendered in all four frames. Capture `attach.png` from +The same 21 tasks are rendered in all five frames. Capture `attach.png` from a live session while attached. The fixture is `write_readme_screenshot_fixtures` in `src/app_readme_tests.rs`. Edit the @@ -30,6 +31,7 @@ clear; cat docs/img/home.ansi; read -rsk 1; printf '\033[?25h' clear; cat docs/img/quickpeek.ansi; read -rsk 1; printf '\033[?25h' clear; cat docs/img/groups.ansi; read -rsk 1; printf '\033[?25h' clear; cat docs/img/controls.ansi; read -rsk 1; printf '\033[?25h' +clear; cat docs/img/agent.ansi; read -rsk 1; printf '\033[?25h' ``` `read` pauses until a keypress, leaving the frame on screen without further output. @@ -38,10 +40,22 @@ restores the hidden cursor. The flags are zsh's; use `read -rs -n1` in bash, or `read -r` in either shell to wait for Enter. -The cursor is placed on the terminal's last row, outside centered overlays. -Without this placement after `render_peek`, the cursor would be left inside -the peek box during `read`. +The cursor is placed on the terminal's last row, outside centered overlays, +then hidden. Without this placement after `render_peek`, the cursor would be +left inside the peek box during `read`; without hiding it, the Agent page's +filter caret would leave a visible cursor cell in the parked position. Use a terminal at least 107Γ—30, the frame size. Run `clear` first: only the frame's rows are painted, leaving stale scrollback visible beneath them in a taller window. + +## Compressing + +A window capture is a 32-bit RGBA PNG of about 550 KB with color-profile and +EXIF chunks. Quantize it to a 256-color palette and strip the metadata: + +```sh +pngquant --force --ext .png --strip 256 docs/img/.png +``` + +The result is about 200 KB and matches the committed files' format. diff --git a/docs/img/agent.ansi b/docs/img/agent.ansi new file mode 100644 index 0000000..8c99ceb --- /dev/null +++ b/docs/img/agent.ansi @@ -0,0 +1 @@ +]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom Β· 12/21   ~/Documents/Code/Rust/fleetcom β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ● Summary Refine Fable 5.1 (high) Β· Inferring… Β· thinking with high effort 5m ● Grok Language Grok 4.7 (xhigh) Β· Responding… 12m ✻ Codex Language GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m ~  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βˆ™ python >>> 41m βœ“ brew update && brew upgra… Already up-to-date. 13m ~/Documents/Code/Apple/turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m ~/Documents/Code/Rust/crabapple  βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m ~/Documents/Code/Rust/crabstep  βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m ~/Documents/Code/Rust/imessage-exporter  ✻ claude Opus 5.5 (high) Β· Review GitHub issue 780 6m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m ~/Documents/Code/Rust/Logria  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s ❯ n run Β· @ dir Β· / find Β· s sort  enter run Β· tab agents (4) Β· esc [?25l ❯ ~/Documents/Code/Apple/turret β–Έ agent:  β–Έ claude  codex  grok  omp  ↑↓ pick Β· enter launch Β· tab command Β· esc [?25h[?2026l[?25l \ No newline at end of file diff --git a/docs/img/agent.png b/docs/img/agent.png new file mode 100644 index 0000000..7cdcba4 Binary files /dev/null and b/docs/img/agent.png differ diff --git a/docs/img/controls.ansi b/docs/img/controls.ansi index ac61159..a9544b5 100644 --- a/docs/img/controls.ansi +++ b/docs/img/controls.ansi @@ -1 +1 @@ -]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom Β· 4/21   ~/Documents/Code/Rust/fleetcom β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ✻ Summary Refine Inferring… Β· thinking with high effort 5m ✻ Grok Language Grok 4.5 (xhigh) Β· Responding… 12m ✻ Codex Language gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m ~  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βˆ™ python >>> 41m βœ“ brew update && brew upgra… Already up-to-date. 13m ~/Documents/Code/Apple/turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m ~/Documents/Code/Rust/crabapple  βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m ~/Documents/Code/Rust/crabstep  βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m ~/Documents/Code/Rust/imessage-exporter  ✻ claude Review GitHub issue 780 6m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m ~/Documents/Code/Rust/Logria  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25lβ”Œβ”€ controls ──────────────────────────────────────────────┐β”‚ Navigate β”‚β”‚ ↑↓ / kj move selection / find a task β”‚β”‚ Tab ⇧Tab jump section M next tagged β”‚β”‚ Act β”‚β”‚ enter attach r rerun finished β”‚β”‚ space peek X kill or remove β”‚β”‚ Organize β”‚β”‚ m tag in use R rename β”‚β”‚ ] flagship s cycle grouping β”‚β”‚ g assign group β”‚β”‚ Create β”‚β”‚ n run here @ run in a dir β”‚β”‚ Session β”‚β”‚ w save session o load session β”‚β”‚ Leave β”‚β”‚ q detach Q quit and kill β”‚β”‚ Attached β”‚β”‚ Ctrl-\ background Ctrl-] flagship / back β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ? esc close [?2026l \ No newline at end of file +]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom Β· 4/21   ~/Documents/Code/Rust/fleetcom β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ● Summary Refine Fable 5.1 (high) Β· Inferring… Β· thinking with high effort 5m ● Grok Language Grok 4.7 (xhigh) Β· Responding… 12m ✻ Codex Language GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m ~  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βˆ™ python >>> 41m βœ“ brew update && brew upgra… Already up-to-date. 13m ~/Documents/Code/Apple/turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m ~/Documents/Code/Rust/crabapple  βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m ~/Documents/Code/Rust/crabstep  βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m ~/Documents/Code/Rust/imessage-exporter  ✻ claude Opus 5.5 (high) Β· Review GitHub issue 780 6m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m ~/Documents/Code/Rust/Logria  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25lβ”Œβ”€ controls ──────────────────────────────────────────────┐β”‚ Navigate β”‚β”‚ ↑↓ / kj move selection / find a task β”‚β”‚ Tab ⇧Tab jump section M next tagged β”‚β”‚ Act β”‚β”‚ enter attach r rerun finished β”‚β”‚ space peek X kill or remove β”‚β”‚ Organize β”‚β”‚ m tag in use R rename β”‚β”‚ ] flagship s cycle grouping β”‚β”‚ g assign group β”‚β”‚ Create β”‚β”‚ n run here @ run in a dir β”‚β”‚ Session β”‚β”‚ w save session o load session β”‚β”‚ Leave β”‚β”‚ q detach Q quit and kill β”‚β”‚ Attached β”‚β”‚ Ctrl-\ background Ctrl-] flagship / back β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ? esc close [?2026l[?25l \ No newline at end of file diff --git a/docs/img/controls.png b/docs/img/controls.png index e8c5f9e..4261f9b 100644 Binary files a/docs/img/controls.png and b/docs/img/controls.png differ diff --git a/docs/img/groups.ansi b/docs/img/groups.ansi index 4a87bb5..7a5fe28 100644 --- a/docs/img/groups.ansi +++ b/docs/img/groups.ansi @@ -1 +1 @@ -]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom   dashboard β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ✻ Summary Refine Inferring… Β· thinking with high effort 5m ✻ Grok Language Grok 4.5 (xhigh) Β· Responding… 12m ✻ Codex Language gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m desktop  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βœ“ brew update && brew upgra… Already up-to-date. 13m tests  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s βˆ™ cargo doc --open Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s 26m βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m βœ“ cargo test test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtere… 31m turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m Unassigned  βˆ™ python >>> 41m ✻ claude Review GitHub issue 780 6m ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25l[?2026l \ No newline at end of file +]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom   dashboard β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ● Summary Refine Fable 5.1 (high) Β· Inferring… Β· thinking with high effort 5m ● Grok Language Grok 4.7 (xhigh) Β· Responding… 12m ✻ Codex Language GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m desktop  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βœ“ brew update && brew upgra… Already up-to-date. 13m tests  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s βˆ™ cargo doc --open Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s 26m βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m βœ“ cargo test test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtere… 31m turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m Unassigned  βˆ™ python >>> 41m ✻ claude Opus 5.5 (high) Β· Review GitHub issue 780 6m ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25l[?2026l[?25l \ No newline at end of file diff --git a/docs/img/groups.png b/docs/img/groups.png index 8566150..2bbe8f5 100644 Binary files a/docs/img/groups.png and b/docs/img/groups.png differ diff --git a/docs/img/home.ansi b/docs/img/home.ansi index bea2246..6dbb6a0 100644 --- a/docs/img/home.ansi +++ b/docs/img/home.ansi @@ -1 +1 @@ -]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom Β· 4/21   ~/Documents/Code/Rust/fleetcom β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ✻ Summary Refine Inferring… Β· thinking with high effort 5m ✻ Grok Language Grok 4.5 (xhigh) Β· Responding… 12m ✻ Codex Language gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m ~  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βˆ™ python >>> 41m βœ“ brew update && brew upgra… Already up-to-date. 13m ~/Documents/Code/Apple/turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m ~/Documents/Code/Rust/crabapple  βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m ~/Documents/Code/Rust/crabstep  βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m ~/Documents/Code/Rust/imessage-exporter  ✻ claude Review GitHub issue 780 6m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m ~/Documents/Code/Rust/Logria  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25l[?2026l \ No newline at end of file +]0;fleetcom[?2026h[?25l fleetcom 12 running Β· 2 idle Β· 7 done by state Β· dir Β· custom Β· 4/21   ~/Documents/Code/Rust/fleetcom β—† ✻ Dashboard Refine Scope small fixes for dashboard and CLI 2mβ—† ● Summary Refine Fable 5.1 (high) Β· Inferring… Β· thinking with high effort 5m ● Grok Language Grok 4.7 (xhigh) Β· Responding… 12m ✻ Codex Language GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.5… 18m ✻ Codex Review GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.4… 24m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 12s βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 3m ~  ✻ claude agents 2 awaiting input Β· claude agents 1hβš‘ ✻ Zellij Desktop Β¦ Utility 2h βˆ™ python >>> 41m βœ“ brew update && brew upgra… Already up-to-date. 13m ~/Documents/Code/Apple/turret  ✻ Game Infra Review Turret Game Codebase Organization and Ex… - grok 8m ✻ Missile Nerf Tuning missile damage falloff 33m ✻ EMP Nerf EMP arc balance pass 35m ~/Documents/Code/Rust/crabapple  βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 17m ~/Documents/Code/Rust/crabstep  βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 21m ~/Documents/Code/Rust/imessage-exporter  ✻ claude Opus 5.5 (high) Β· Review GitHub issue 780 6m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 19m ~/Documents/Code/Rust/Logria  ✻ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 45s ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25l[?2026l[?25l \ No newline at end of file diff --git a/docs/img/home.png b/docs/img/home.png index 7c3b0f4..da52043 100644 Binary files a/docs/img/home.png and b/docs/img/home.png differ diff --git a/docs/img/quickpeek.ansi b/docs/img/quickpeek.ansi index 18bdbd8..f2b29b2 100644 --- a/docs/img/quickpeek.ansi +++ b/docs/img/quickpeek.ansi @@ -1 +1 @@ -]0;fleetcom[?2026h[?25l fleetcom 1 running Β· 13 idle Β· 7 done by state Β· dir Β· custom   In use β—† βˆ™ Dashboard Refine Scope small fixes for dashboard and CLI 32sβ—† βˆ™ Summary Refine Review fleetcom preview design document 13s Running βš‘ ✻ Zellij Desktop Β¦ Utility 20m Idle  βˆ™ claude agents 2 awaiting input Β· claude agents 1m βˆ™ python >>> 20m βˆ™ Game Infra Review Turret Game Codebase Organization and Ex… - grok 1m βˆ™ Missile Nerf Tuning missile damage falloff 1m βˆ™ EMP Nerf EMP arc balance pass 1m βˆ™ Grok Language Grok 4.5 (xhigh) Β· Responding… 1m βˆ™ Codex Language gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.53… 1m βˆ™ Codex Review gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.41… 1m βˆ™ claude Review GitHub issue 780 1m βˆ™ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 2m βˆ™ cargo doc --open Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s 28m Completed  βœ“ brew update && brew upgra… Already up-to-date. 15m βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 19m βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 20m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 20m βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 21m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 20m βœ“ cargo test test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtere… 20m  ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25lβ”Œβ”€ cargo test ─────────────────────────────────────────────────────────────────┐β”‚test util::sanitizers::tests::test_length_clean ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_clean ... ok β”‚β”‚test util::sanitizers::tests::test_length_dirty ... ok β”‚β”‚test util::sanitizers::tests::test_length_wide_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_clean ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_dirty ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_wide_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_control_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_trim ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_invalid_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_long ... ok β”‚β”‚ β”‚β”‚test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out;…│β”‚ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ space/esc close Β· enter attach Β· preview: floor (frozen) [?2026l \ No newline at end of file +]0;fleetcom[?2026h[?25l fleetcom 1 running Β· 13 idle Β· 7 done by state Β· dir Β· custom   In use β—† βˆ™ Dashboard Refine Scope small fixes for dashboard and CLI 32sβ—† βˆ™ Summary Refine Fable 5.1 (high) Β· Review fleetcom preview design document 13s Running βš‘ ✻ Zellij Desktop Β¦ Utility 20m Idle  βˆ™ claude agents 2 awaiting input Β· claude agents 1m βˆ™ python >>> 20m βˆ™ Game Infra Review Turret Game Codebase Organization and Ex… - grok 1m βˆ™ Missile Nerf Tuning missile damage falloff 1m βˆ™ EMP Nerf EMP arc balance pass 1m βˆ™ Grok Language Grok 4.7 (xhigh) Β· Responding… 1m βˆ™ Codex Language GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.53… 1m βˆ™ Codex Review GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.41… 1m βˆ™ claude Opus 5.5 (high) Β· Review GitHub issue 780 1m βˆ™ cargo watch -x test [Running 'cargo test'] test result: ok. 223 passed; 0 failed 2m βˆ™ cargo doc --open Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s 28m Completed  βœ“ brew update && brew upgra… Already up-to-date. 15m βœ“ cargo test all doctests ran in 0.39s; merged doctests compilation took 0.38s 19m βœ“ cargo test all doctests ran in 0.83s; merged doctests compilation took 0.81s 20m βœ“ cargo test test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered … 20m βœ— cargo clippy error: could not compile `fleetcom` (lib test) due to 1 previous error 21m βœ“ cargo test all doctests ran in 1.99s; merged doctests compilation took 1.95s 20m βœ“ cargo test test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtere… 20m  ❯ n run Β· @ dir Β· / find Β· s sort  ↑↓ select Β· enter attach Β· space peek Β· ? controls Β· Ctrl-] flagship [?25lβ”Œβ”€ cargo test ─────────────────────────────────────────────────────────────────┐β”‚test util::sanitizers::tests::test_length_clean ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_clean ... ok β”‚β”‚test util::sanitizers::tests::test_length_dirty ... ok β”‚β”‚test util::sanitizers::tests::test_length_wide_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_clean ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_dirty ... ok β”‚β”‚test util::sanitizers::tests::test_row_length_wide_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_control_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_trim ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_invalid_chars ... ok β”‚β”‚test util::sanitizers::tests::test_sanitize_filename_long ... ok β”‚β”‚ β”‚β”‚test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out;…│β”‚ β”‚β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ space/esc close Β· enter attach Β· preview: floor (frozen) [?2026l[?25l \ No newline at end of file diff --git a/docs/img/quickpeek.png b/docs/img/quickpeek.png index a9761ce..a2f9f02 100644 Binary files a/docs/img/quickpeek.png and b/docs/img/quickpeek.png differ diff --git a/src/app_readme_tests.rs b/src/app_readme_tests.rs index afe5d04..d51bc55 100644 --- a/src/app_readme_tests.rs +++ b/src/app_readme_tests.rs @@ -48,6 +48,14 @@ fn anchor(text: &str, rule: &'static str) -> Preview { } } +/// Live anchor preview whose rule reports an active turn so the row displays `●` +fn working(text: &str, rule: &'static str) -> Preview { + Preview { + working: true, + ..anchor(text, rule) + } +} + /// Live window-title preview. fn title(text: &str) -> Preview { Preview { @@ -150,7 +158,10 @@ fn live_fleet(dirs: &Dirs) -> Vec { group: Some("dashboard".to_string()), name: Some("Summary Refine".to_string()), lifecycle: Lifecycle::Active, - preview: anchor("Inferring… Β· thinking with high effort", "claude:spinner"), + preview: working( + "Fable 5.1 (high) Β· Inferring… Β· thinking with high effort", + "claude:spinner", + ), started_ago: mins(5), quiet_ago: Some(secs(8)), finished_ago: None, @@ -165,7 +176,7 @@ fn live_fleet(dirs: &Dirs) -> Vec { group: Some("dashboard".to_string()), name: Some("Grok Language".to_string()), lifecycle: Lifecycle::Active, - preview: anchor("Grok 4.5 (xhigh) Β· Responding…", "grok:spinner"), + preview: working("Grok 4.7 (xhigh) Β· Responding…", "grok:spinner"), started_ago: mins(12), quiet_ago: Some(secs(4)), finished_ago: None, @@ -315,9 +326,9 @@ fn live_fleet(dirs: &Dirs) -> Vec { group: Some("turret".to_string()), name: Some("Missile Nerf".to_string()), lifecycle: Lifecycle::Active, - // omp's spinner phrase carries no model-label prefix: the - // adapter's model_label is None. - preview: anchor("Tuning missile damage falloff", "omp:spinner"), + // omp has no anchor tier: the primary-screen title tier renders + // the conversation label omp announces, with no model prefix. + preview: title("Tuning missile damage falloff"), started_ago: mins(33), quiet_ago: Some(secs(7)), finished_ago: None, @@ -379,7 +390,10 @@ fn live_fleet(dirs: &Dirs) -> Vec { group: None, name: None, lifecycle: Lifecycle::Active, - preview: anchor("Review GitHub issue 780", "claude:action-row"), + preview: anchor( + "Opus 5.5 (high) Β· Review GitHub issue 780", + "claude:action-row", + ), started_ago: mins(6), quiet_ago: Some(secs(2)), finished_ago: None, @@ -549,15 +563,17 @@ fn quiet_fleet(dirs: &Dirs) -> Vec { if let Some((text, rule)) = q.preview { v.preview = anchor(text, rule); } + // A quiet agent reports no turn: no `●` in the Idle section. + v.preview.working = false; } views } // Store full preview text so truncation comes from the renderer. const CODEX_LANGUAGE: &str = - "gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.53M in Β· 61.2K out"; + "GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 387K used Β· 9.53M in Β· 61.2K out"; const CODEX_REVIEW: &str = - "gpt-5.6-sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.41M in Β· 38.7K out"; + "GPT-6.1-Sol high Β· fleetcom Β· feat/cs/interface-fixes Β· 221K used Β· 4.41M in Β· 38.7K out"; const FLEETCOM_TESTS: &str = "test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s"; const LOGRIA_TESTS: &str = "test result: ok. 223 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.38s"; @@ -569,7 +585,7 @@ const FLEETCOM_CLIPPY: &str = const LOGRIA_WATCH: &str = "[Running 'cargo test'] test result: ok. 223 passed; 0 failed"; const LOGRIA_DOC: &str = "Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.41s"; /// Quiet-fixture summary preview. -const SUMMARY_QUIET: &str = "Review fleetcom preview design document"; +const SUMMARY_QUIET: &str = "Fable 5.1 (high) Β· Review fleetcom preview design document"; /// Visible `cargo test` tail used by the peek fixture. fn cargo_test_screen(id: u64) -> ScreenView { @@ -610,12 +626,13 @@ fn frame(app: &mut App) -> Vec { let painted = out.len(); crate::ui::render(&mut out, app).expect("a fixture frame always paints"); assert!(out.len() > painted, "a fresh App must emit its first frame"); - // Park the cursor outside centered overlays. - out.extend_from_slice(format!("\x1b[{};1H", app.rows).as_bytes()); + // Park the cursor outside centered overlays, then hide it: the Agent page + // leaves it shown for the filter caret, and parked it paints a stray cell. + out.extend_from_slice(format!("\x1b[{};1H\x1b[?25l", app.rows).as_bytes()); out } -/// Rewrite the four deterministic README dashboard fixtures under `docs/img`. +/// Rewrite the five deterministic README dashboard fixtures under `docs/img`. #[test] #[ignore = "writes docs/img/*.ansi; run by hand to refresh the README screenshots"] fn write_readme_screenshot_fixtures() { @@ -647,4 +664,14 @@ fn write_readme_screenshot_fixtures() { app.selected_id = Some(4); app.mode = Mode::Controls; std::fs::write(out_dir.join("controls.ansi"), frame(&mut app)).unwrap(); + + // Agent page over the directory-grouped fixture: `n`, then Tab, with every + // supported agent installed and the first row highlighted. The selected + // turret task puts its directory in the `❯` destination prefix. + let mut app = fixture_app(&dirs, GroupMode::Dir, live_fleet(&dirs)); + app.selected_id = Some(11); + app.agents = harness::program_words().map(String::from).collect(); + app.on_key_dashboard(key(KeyCode::Char('n'))); + app.on_key_spawn(key(KeyCode::Tab)); + std::fs::write(out_dir.join("agent.ansi"), frame(&mut app)).unwrap(); }