Agent panel — soul contract (plan mode, scoped tools, structured events, diffs, checkpoints) #27

Open
opened 2026-06-19 15:35:53 +00:00 by tim.lingo · 2 comments
Member

@will.anderson — the Agent panel (Cowork-style right rail in chat) is built client-side (neuron-ui feat/agent-panel). These pieces need soul-side support. Full contract in the PR: docs/AGENT-PANEL-SOUL-CONTRACT.md. Priority order:

0. Prerequisite — deploy the fixed agentic soul (issue #25). The panel shows live activity but the agent can't reliably act until the merged fixes (#17–#22, #58) ship in the running binary.

1. agent_workspace_root scoping (PR #23, open). Scopes file tools to the panel's chosen folder. Needs your build + the design call (.el guard vs el_runtime.c).

2. Plan-mode endpoint for "Plan before running" (default-on): POST /api/chat {mode:"plan"}{plan:{steps:[...]}}, returns a structured editable plan WITHOUT executing. (Client-side fallback possible, but native is cleaner.)

3. Structured activity events on the agentic path (step_id, tool, args, status, summary) so the panel can show per-step status + will-do vs did.

4. Diffs for file-writing tools (before/after, per-file accept/reject) — the #1 user-loved feature in the competitive research.

5. Checkpoints / rewind — per-step snapshot + restore endpoint.

1–2 unlock the most user value; 4–5 are the heaviest lift. Nothing here blocks the v1 panel (autonomy, live activity, inputs/outputs, settings) which works now.

@will.anderson — the Agent panel (Cowork-style right rail in chat) is built client-side (neuron-ui `feat/agent-panel`). These pieces need soul-side support. Full contract in the PR: `docs/AGENT-PANEL-SOUL-CONTRACT.md`. Priority order: **0. Prerequisite — deploy the fixed agentic soul (issue #25).** The panel shows live activity but the agent can't reliably act until the merged fixes (#17–#22, #58) ship in the running binary. **1. `agent_workspace_root` scoping (PR #23, open).** Scopes file tools to the panel's chosen folder. Needs your build + the design call (`.el` guard vs `el_runtime.c`). **2. Plan-mode endpoint** for "Plan before running" (default-on): `POST /api/chat {mode:"plan"}` → `{plan:{steps:[...]}}`, returns a structured editable plan WITHOUT executing. (Client-side fallback possible, but native is cleaner.) **3. Structured activity events** on the agentic path (step_id, tool, args, status, summary) so the panel can show per-step status + will-do vs did. **4. Diffs** for file-writing tools (before/after, per-file accept/reject) — the #1 user-loved feature in the competitive research. **5. Checkpoints / rewind** — per-step snapshot + restore endpoint. 1–2 unlock the most user value; 4–5 are the heaviest lift. Nothing here blocks the v1 panel (autonomy, live activity, inputs/outputs, settings) which works now.
Author
Member

@will.anderson — progress + a sharpened ask after a screen-verified pass today (neuron-ui feat/agent-panel, PR #32, just pushed).

Built + screen-verified client-side (no soul change needed):

  • Plan-before-run renders an editable plan in the panel; "Run" executes it.
  • Autonomy Ask/Smart/Full now actually differ. On Ask, the agent runs one action, shows it in plain language ("Writing backup-notes.sh"), and pauses in the panel (Allow/Deny/Always/Never) before the next.
  • The plan checklist advances truthfully (step 1✓ → 2✓ → 3 in-progress) and only off real tool runs — a 0-tool reply no longer checks the whole plan off.
  • Fixed a mis-route: a short mid-plan answer used to fall to a Haiku "quick question" (prose, zero tools) while the plan sat at step 1. A forceAgentic flag now keeps plan turns on the agent rail with the strong model.

The remaining soul asks (maps to item #3 here):

  1. Structured per-step events on the agentic path (step_id, tool, args, status, summary). Today the panel approximates step progress by counting tool calls + asking the model to prefix [step N]; it can't show truthful per-step start/finish without the soul emitting these.
  2. Step-boundary pause + output — the one piece of step-level autonomy I can't do UI-only: on Ask, pause at a plan-step boundary and return that step's output so the user can review/converse before approving the next step (not just per-tool).

Open PRs awaiting your review:

  • #28 — read agent_workspace_root from the request body (wires the UI to merged #23 scoping).
  • #29 — forbid fake tool calls in tool-less ("Just chat") mode.

Related new bug filed: #30 — operator identity ("my/me" → /Users/will), the root cause of the agent over-probing the home dir and tripping the macOS permission wall on Tim's machine.

Nothing here blocks the v1 panel, which works now. Deploying the merged agentic fixes (#25) is still prerequisite-0 for reliable execution on the live binary.

@will.anderson — progress + a sharpened ask after a screen-verified pass today (neuron-ui `feat/agent-panel`, PR #32, just pushed). **Built + screen-verified client-side (no soul change needed):** - Plan-before-run renders an editable plan in the panel; "Run" executes it. - Autonomy Ask/Smart/Full now actually differ. On **Ask**, the agent runs one action, shows it in plain language ("Writing backup-notes.sh"), and **pauses in the panel** (Allow/Deny/Always/Never) before the next. - The plan checklist advances **truthfully** (step 1✓ → 2✓ → 3 in-progress) and only off **real** tool runs — a 0-tool reply no longer checks the whole plan off. - Fixed a mis-route: a short mid-plan answer used to fall to a Haiku "quick question" (prose, zero tools) while the plan sat at step 1. A `forceAgentic` flag now keeps plan turns on the agent rail with the strong model. **The remaining soul asks (maps to item #3 here):** 1. **Structured per-step events** on the agentic path (`step_id, tool, args, status, summary`). Today the panel approximates step progress by counting tool calls + asking the model to prefix `[step N]`; it can't show *truthful* per-step start/finish without the soul emitting these. 2. **Step-boundary pause + output** — the one piece of step-level autonomy I can't do UI-only: on Ask, pause at a *plan-step* boundary and return that step's **output** so the user can review/converse before approving the next step (not just per-tool). **Open PRs awaiting your review:** - **#28** — read `agent_workspace_root` from the request body (wires the UI to merged #23 scoping). - **#29** — forbid fake tool calls in tool-less ("Just chat") mode. **Related new bug filed:** **#30** — operator identity ("my/me" → `/Users/will`), the root cause of the agent over-probing the home dir and tripping the macOS permission wall on Tim's machine. Nothing here blocks the v1 panel, which works now. Deploying the merged agentic fixes (#25) is still prerequisite-0 for reliable execution on the live binary.
Owner

GROOMING — 2026-08-03
Status: Open — the client-side Agent panel needs soul-side support (agent_workspace_root scoping, plan-mode endpoint, structured activity events, per-file diffs, checkpoints/rewind); prerequisite is the #25 fixed-soul deploy. The v1 panel already works; these are enhancements.
Next action: Will to land items 1-2 first (workspace scoping + plan-mode endpoint) for the most user value; diffs and checkpoints (4-5) are the heavier lift.
Owner: Will
Priority: POST-BETA

**GROOMING — 2026-08-03** **Status:** Open — the client-side Agent panel needs soul-side support (agent_workspace_root scoping, plan-mode endpoint, structured activity events, per-file diffs, checkpoints/rewind); prerequisite is the #25 fixed-soul deploy. The v1 panel already works; these are enhancements. **Next action:** Will to land items 1-2 first (workspace scoping + plan-mode endpoint) for the most user value; diffs and checkpoints (4-5) are the heavier lift. **Owner:** Will **Priority:** POST-BETA
will.anderson added the POST-BETA label 2026-08-03 19:08:33 +00:00
Sign in to join this conversation.
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: neuron-technologies/neuron#27