Agents pane: project-scoped runs with selection, roster cursor, editable settings

This commit is contained in:
Sam
2026-11-10 17:23:32 +11:00
parent b15216aa7b
commit ec7e907b2e
7 changed files with 634 additions and 39 deletions

View File

@@ -385,3 +385,84 @@ Tell me which of those you want first, and whether the icons appear after reopen
- session: [[packs/paperclip-harness/80-sessions/paperclip-harness-tui-icon-font-fix-help-filter-unblock-safe|paperclip-harness TUI: icon font fix, help/filter/unblock, safe rebuild (commit 09e32da)]]
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-config-2026-11-10-05-00-01|Rich discovery: .config 2026-11-10 05:00:01]]
- context: [[packs/paperclip-harness/20-context/tmp|.config]]
---
## Update (2026-11-10 05:59:07)
## Rich discovery update (2026-11-10 05:59:07)
The full list, at the end of the project, with what exists today marked.
## Workspaces and panes
| Workspace | Pane | Shows | Now |
|---|---|---|---|
| **Shell** | shell | a prompt in the project folder | built |
| **Board** | board | tasks by group · chosen task · needs you | built |
| **Work** | work | runs · change (diff) · facts | built |
| **Work** | review | the last ocr verdict and its blocking findings | **missing** |
| **Agents** | agents | roster · runs · log — who is working, on what | built today |
| **Agents** | settings | role, title, reports-to, model, heartbeat, budget | **missing** |
| **Reply** | reply | the task · the thread · the reply box | built |
| **New task** | new | the form · guidance · preview | built |
| **Project** | project | facts · costs · settings and limits | built |
| **Repair** | repair | health · layout · rebuild log | built |
| **any** | tool | Lazygit, Hunk, Yazi, Neovim, fzf, shell, ocr — opened with `t`, closed with `esc` | **not wired** |
So: 8 workspaces, 10 named panes, 21 panels built, 2 panels and the tool panes still to do.
## What the Agents pane does now
Workspace `Agents`, pane `agents`, three tabs:
**roster** — every agent with its state, spend and budget:
```
researcher idle 0 c 2000 c
Builder idle 10 c 5000 c
```
**runs** — the company's runs, newest first, with agent, state, what woke it, duration and task:
```
15:56:27 Builder succeeded automation 32s bb4dc72b
12:41:47 Builder succeeded assignment 1m27s bb4dc72b
```
**log** — `enter` on a run shows its output. This is watching Pi work: the stored log is a wall of JSON and token-by-token deltas, so it is gathered back into readable paragraphs:
```
15:56:41 session
15:56:42 user: ## Paperclip Resume Delta
15:56:43 The user posted "Here is a test reply" — a test comment…
15:56:43 Let me verify the file still exists and commit present…
```
`p`, `P` and `w` pause, resume and wake the selected agent. I tested the pause/resume calls directly against Paperclip on `Documenter`: `idle → paused → idle`.
One bug worth knowing: the company run list is 1.1 MB and takes 8 seconds, while the roster is instant. Reading them together made the whole pane appear empty. They are now separate reads — the roster on the timer, the runs when you open that tab.
## Still missing, in order
1. **Agents>settings** — role, title, reports-to, model, heartbeat, budget. All of it is a single `PATCH /api/agents/{id}`, which accepts exactly those fields.
2. **Work>review** — the ocr verdict beside the diff. ocr is installed and already refused a merge on `AUD-165`.
3. **Tool panes** — `t` opens Lazygit, Hunk, Yazi, Neovim, fzf or ocr in the current workspace; `esc` closes it. This is the answer to "any pane can work with any terminal tool" and needs no reimplementation.
The layout is now eight workspaces, one pane each, and `R` rebuilds them. `docs/WORKSPACES.md` holds this table and is updated; committed as `b15216a`.
Say which of the three you want next, and I will build only that.
## Source paths observed
- `d4921013-e5da-4d88-8016-57d5746e2d03/403de1f7-645c-4d35-bc7e-19b01d77bacc/df306e7b-f56b-4cd8-bf68-bab0cbfb27fa.ndjson`
- `tmp/pc-sandbox-2026-11-10/.paperclip/worktrees/AUD-166-add-a-changelog-entry-for-the-harness`
## Evidence
- Confidence: 84%
- Reason: Update component/repository context with detailed discovered structure and configuration
## Related learned memories <!-- same-turn-2026-11-10 05:59:07 -->
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-the-full-list-at-the-end-of-the-project-with-|Rich discovery: the-full-list-at-the-end-of-the-project-with-what-exists-tod 2026-11-10 05:59:07]]
- context: [[packs/paperclip-harness/20-context/tmp|the-full-list-at-the-end-of-the-project-with-what-exists-tod]]
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|the-full-list-at-the-end-of-the-project-with-what-exists-tod repository structure and configuration patterns]]

View File

@@ -898,3 +898,84 @@ Committed as `7f18c54`. Say which item you want first and I will build only that
- session: [[packs/paperclip-harness/80-sessions/paperclip-harness-reverted-pane-split-interface-gap-discover|Paperclip-harness — reverted pane split, interface gap discovery, and PLAN-INTERFACE roadmap]]
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-home-2026-11-10-05-41-48|Rich discovery: home 2026-11-10 05:41:48]]
- context: [[packs/paperclip-harness/20-context/home|home]]
---
## Update (2026-11-10 05:59:07)
## Structural/configuration observations (2026-11-10 05:59:07)
The full list, at the end of the project, with what exists today marked.
## Workspaces and panes
| Workspace | Pane | Shows | Now |
|---|---|---|---|
| **Shell** | shell | a prompt in the project folder | built |
| **Board** | board | tasks by group · chosen task · needs you | built |
| **Work** | work | runs · change (diff) · facts | built |
| **Work** | review | the last ocr verdict and its blocking findings | **missing** |
| **Agents** | agents | roster · runs · log — who is working, on what | built today |
| **Agents** | settings | role, title, reports-to, model, heartbeat, budget | **missing** |
| **Reply** | reply | the task · the thread · the reply box | built |
| **New task** | new | the form · guidance · preview | built |
| **Project** | project | facts · costs · settings and limits | built |
| **Repair** | repair | health · layout · rebuild log | built |
| **any** | tool | Lazygit, Hunk, Yazi, Neovim, fzf, shell, ocr — opened with `t`, closed with `esc` | **not wired** |
So: 8 workspaces, 10 named panes, 21 panels built, 2 panels and the tool panes still to do.
## What the Agents pane does now
Workspace `Agents`, pane `agents`, three tabs:
**roster** — every agent with its state, spend and budget:
```
researcher idle 0 c 2000 c
Builder idle 10 c 5000 c
```
**runs** — the company's runs, newest first, with agent, state, what woke it, duration and task:
```
15:56:27 Builder succeeded automation 32s bb4dc72b
12:41:47 Builder succeeded assignment 1m27s bb4dc72b
```
**log** — `enter` on a run shows its output. This is watching Pi work: the stored log is a wall of JSON and token-by-token deltas, so it is gathered back into readable paragraphs:
```
15:56:41 session
15:56:42 user: ## Paperclip Resume Delta
15:56:43 The user posted "Here is a test reply" — a test comment…
15:56:43 Let me verify the file still exists and commit present…
```
`p`, `P` and `w` pause, resume and wake the selected agent. I tested the pause/resume calls directly against Paperclip on `Documenter`: `idle → paused → idle`.
One bug worth knowing: the company run list is 1.1 MB and takes 8 seconds, while the roster is instant. Reading them together made the whole pane appear empty. They are now separate reads — the roster on the timer, the runs when you open that tab.
## Still missing, in order
1. **Agents>settings** — role, title, reports-to, model, heartbeat, budget. All of it is a single `PATCH /api/agents/{id}`, which accepts exactly those fields.
2. **Work>review** — the ocr verdict beside the diff. ocr is installed and already refused a merge on `AUD-165`.
3. **Tool panes** — `t` opens Lazygit, Hunk, Yazi, Neovim, fzf or ocr in the current workspace; `esc` closes it. This is the answer to "any pane can work with any terminal tool" and needs no reimplementation.
The layout is now eight workspaces, one pane each, and `R` rebuilds them. `docs/WORKSPACES.md` holds this table and is updated; committed as `b15216a`.
Say which of the three you want next, and I will build only that.
## Source paths observed
- `d4921013-e5da-4d88-8016-57d5746e2d03/403de1f7-645c-4d35-bc7e-19b01d77bacc/df306e7b-f56b-4cd8-bf68-bab0cbfb27fa.ndjson`
- `tmp/pc-sandbox-2026-11-10/.paperclip/worktrees/AUD-166-add-a-changelog-entry-for-the-harness`
## Evidence
- Confidence: 82%
- Reason: Captured factual repo structure/configuration patterns from rich discovery
## Related learned memories <!-- same-turn-2026-11-10 05:59:07 -->
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-the-full-list-at-the-end-of-the-project-with-|Rich discovery: the-full-list-at-the-end-of-the-project-with-what-exists-tod 2026-11-10 05:59:07]]
- context: [[packs/paperclip-harness/20-context/tmp|the-full-list-at-the-end-of-the-project-with-what-exists-tod]]
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|the-full-list-at-the-end-of-the-project-with-what-exists-tod repository structure and configuration patterns]]

View File

@@ -0,0 +1,100 @@
---
type: session
id: session.paperclip-harness.rich-discovery-the-full-list-at-the-end-of-the-project-with-
title: Rich discovery: the-full-list-at-the-end-of-the-project-with-what-exists-tod 2026-11-10 05:59:07
status: active
source_of_truth: false
freshness: current
last_reviewed: 2026-11-10
tags:
- pack/paperclip-harness
- agent-memory/session
- autolearn
- rich-discovery
- repo/the-full-list-at-the-end-of-the-project-with-what-exists-tod
---
# Rich discovery: the-full-list-at-the-end-of-the-project-with-what-exists-tod 2026-11-10 05:59:07
Sanitized rich discovery snapshot captured automatically from the completed turn.
## Source paths observed
- `d4921013-e5da-4d88-8016-57d5746e2d03/403de1f7-645c-4d35-bc7e-19b01d77bacc/df306e7b-f56b-4cd8-bf68-bab0cbfb27fa.ndjson`
- `tmp/pc-sandbox-2026-11-10/.paperclip/worktrees/AUD-166-add-a-changelog-entry-for-the-harness`
## Final answer snapshot
The full list, at the end of the project, with what exists today marked.
## Workspaces and panes
| Workspace | Pane | Shows | Now |
|---|---|---|---|
| **Shell** | shell | a prompt in the project folder | built |
| **Board** | board | tasks by group · chosen task · needs you | built |
| **Work** | work | runs · change (diff) · facts | built |
| **Work** | review | the last ocr verdict and its blocking findings | **missing** |
| **Agents** | agents | roster · runs · log — who is working, on what | built today |
| **Agents** | settings | role, title, reports-to, model, heartbeat, budget | **missing** |
| **Reply** | reply | the task · the thread · the reply box | built |
| **New task** | new | the form · guidance · preview | built |
| **Project** | project | facts · costs · settings and limits | built |
| **Repair** | repair | health · layout · rebuild log | built |
| **any** | tool | Lazygit, Hunk, Yazi, Neovim, fzf, shell, ocr — opened with `t`, closed with `esc` | **not wired** |
So: 8 workspaces, 10 named panes, 21 panels built, 2 panels and the tool panes still to do.
## What the Agents pane does now
Workspace `Agents`, pane `agents`, three tabs:
**roster** — every agent with its state, spend and budget:
```
researcher idle 0 c 2000 c
Builder idle 10 c 5000 c
```
**runs** — the company's runs, newest first, with agent, state, what woke it, duration and task:
```
15:56:27 Builder succeeded automation 32s bb4dc72b
12:41:47 Builder succeeded assignment 1m27s bb4dc72b
```
**log** — `enter` on a run shows its output. This is watching Pi work: the stored log is a wall of JSON and token-by-token deltas, so it is gathered back into readable paragraphs:
```
15:56:41 session
15:56:42 user: ## Paperclip Resume Delta
15:56:43 The user posted "Here is a test reply" — a test comment…
15:56:43 Let me verify the file still exists and commit present…
```
`p`, `P` and `w` pause, resume and wake the selected agent. I tested the pause/resume calls directly against Paperclip on `Documenter`: `idle → paused → idle`.
One bug worth knowing: the company run list is 1.1 MB and takes 8 seconds, while the roster is instant. Reading them together made the whole pane appear empty. They are now separate reads — the roster on the timer, the runs when you open that tab.
## Still missing, in order
1. **Agents>settings** — role, title, reports-to, model, heartbeat, budget. All of it is a single `PATCH /api/agents/{id}`, which accepts exactly those fields.
2. **Work>review** — the ocr verdict beside the diff. ocr is installed and already refused a merge on `AUD-165`.
3. **Tool panes** — `t` opens Lazygit, Hunk, Yazi, Neovim, fzf or ocr in the current workspace; `esc` closes it. This is the answer to "any pane can work with any terminal tool" and needs no reimplementation.
The layout is now eight workspaces, one pane each, and `R` rebuilds them. `docs/WORKSPACES.md` holds this table and is updated; committed as `b15216a`.
Say which of the three you want next, and I will build only that.
## Evidence
- Confidence: 86%
- Reason: Preserve full sanitized discovery detail from a rich investigation turn
## Related
- [[packs/paperclip-harness/00-system/pi-agent/memory-manifest|Memory Manifest]]
## Related learned memories <!-- same-turn-2026-11-10 05:59:07 -->
- session: [[packs/paperclip-harness/80-sessions/rich-discovery-the-full-list-at-the-end-of-the-project-with-|Rich discovery: the-full-list-at-the-end-of-the-project-with-what-exists-tod 2026-11-10 05:59:07]]
- context: [[packs/paperclip-harness/20-context/tmp|the-full-list-at-the-end-of-the-project-with-what-exists-tod]]
- observation: [[packs/paperclip-harness/60-observations/tmp-repository-structure-and-configuration-patterns|the-full-list-at-the-end-of-the-project-with-what-exists-tod repository structure and configuration patterns]]