docs(prd-0019): active agents in dashboard + agent-scoped edit verbs #38
@@ -63,10 +63,10 @@ the "operator wants to make an unprompted change" case.
|
|||||||
4. Pressing `e` (routes edit) or `p` (pipelock edit) with an
|
4. Pressing `e` (routes edit) or `p` (pipelock edit) with an
|
||||||
agent selected targets that agent. No disambiguation prompt;
|
agent selected targets that agent. No disambiguation prompt;
|
||||||
no global discover.
|
no global discover.
|
||||||
5. Pressing `e` / `p` with NO agent selected (e.g., zero agents
|
5. Pressing `e` / `p` with NO agent selected is a no-op (status
|
||||||
running, or the cursor is in the proposals pane) falls back
|
line surfaces "no agent selected"). The global discover-
|
||||||
to today's global behavior — discover, prompt if multiple,
|
and-prompt path comes out — selection in the agents pane is
|
||||||
abort if none.
|
now the only way to scope an edit.
|
||||||
6. The active-agents list refreshes on the same ~1s tick as the
|
6. The active-agents list refreshes on the same ~1s tick as the
|
||||||
proposals list so an agent starting / stopping is reflected
|
proposals list so an agent starting / stopping is reflected
|
||||||
without operator action.
|
without operator action.
|
||||||
@@ -106,10 +106,11 @@ the "operator wants to make an unprompted change" case.
|
|||||||
- Tab-toggle selection state: which pane the cursor is in. `j`
|
- Tab-toggle selection state: which pane the cursor is in. `j`
|
||||||
/ `k` / arrow keys move within that pane.
|
/ `k` / arrow keys move within that pane.
|
||||||
- Rewire `_operator_edit_routes_flow` and
|
- Rewire `_operator_edit_routes_flow` and
|
||||||
`_operator_edit_allowlist_flow` to accept an optional
|
`_operator_edit_allowlist_flow` to require a slug from the
|
||||||
"preselected slug". When the cursor is in the agents pane,
|
caller. The discover-and-prompt scaffolding (no-arg
|
||||||
pass that slug; otherwise keep today's discover-and-prompt
|
discover + single-bottle shortcut + multi-bottle prompt)
|
||||||
behavior.
|
comes out. The dashboard's key handlers pass the agents-pane
|
||||||
|
selection in directly, or no-op if nothing is selected.
|
||||||
- Status-line indicator showing which agent is selected (or
|
- Status-line indicator showing which agent is selected (or
|
||||||
"no agent selected" when in the proposals pane).
|
"no agent selected" when in the proposals pane).
|
||||||
- Tests for the new discovery helper.
|
- Tests for the new discovery helper.
|
||||||
@@ -154,10 +155,12 @@ active agents:
|
|||||||
- Each pane keeps its own selection index. Switching panes
|
- Each pane keeps its own selection index. Switching panes
|
||||||
doesn't lose the position in the other.
|
doesn't lose the position in the other.
|
||||||
- `e` / `p`:
|
- `e` / `p`:
|
||||||
- Cursor in the agents pane → use that agent's slug.
|
- An agent is selected (cursor in the agents pane on a row)
|
||||||
- Cursor in the proposals pane → today's discover-and-prompt
|
→ use that agent's slug.
|
||||||
behavior (so the muscle memory still works for operators
|
- Otherwise → no-op with a status-line "no agent selected".
|
||||||
who didn't switch panes first).
|
The pre-PRD global discover-and-prompt code paths come out
|
||||||
|
of `_operator_edit_routes_flow` and
|
||||||
|
`_operator_edit_allowlist_flow`.
|
||||||
|
|
||||||
### Active-agent discovery
|
### Active-agent discovery
|
||||||
|
|
||||||
@@ -215,18 +218,13 @@ Sized small.
|
|||||||
previous row, not jump to the top. Mirrors the existing
|
previous row, not jump to the top. Mirrors the existing
|
||||||
proposals-list behavior.
|
proposals-list behavior.
|
||||||
|
|
||||||
4. **Should `e` / `p` still prompt when the cursor is in the
|
4. **Color / highlight for the selected agent.** The proposals
|
||||||
proposals pane but only one agent is running?** Today the
|
|
||||||
single-bottle case skips the prompt; we'd keep that. Two
|
|
||||||
or more bottles still prompts in proposals-pane mode.
|
|
||||||
|
|
||||||
5. **Color / highlight for the selected agent.** The proposals
|
|
||||||
pane uses green for newly-arrived. Agents could use a
|
pane uses green for newly-arrived. Agents could use a
|
||||||
different attribute (e.g., reverse video for selection,
|
different attribute (e.g., reverse video for selection,
|
||||||
no color for the row itself). Aesthetic decision; pick
|
no color for the row itself). Aesthetic decision; pick
|
||||||
something readable in the standard 8-color palette.
|
something readable in the standard 8-color palette.
|
||||||
|
|
||||||
6. **Selecting a proposal cross-selects its agent?** Possible
|
5. **Selecting a proposal cross-selects its agent?** Possible
|
||||||
UX: highlighting a proposal in the proposals pane could
|
UX: highlighting a proposal in the proposals pane could
|
||||||
auto-move the agents-pane cursor to that proposal's
|
auto-move the agents-pane cursor to that proposal's
|
||||||
bottle. Cute, but probably confusing — the explicit Tab
|
bottle. Cute, but probably confusing — the explicit Tab
|
||||||
|
|||||||
Reference in New Issue
Block a user