From 3b7b7ed091bae3b0609c38b2d445201cc4b7a026 Mon Sep 17 00:00:00 2001 From: Igor Soarez Date: Thu, 5 Nov 2026 13:12:08 +0200 Subject: pi: a dialog during a run is blocked, and a cancelled run is idle, not done --- ROADMAP.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'ROADMAP.md') diff --git a/ROADMAP.md b/ROADMAP.md index a8bd1be..c47d994 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -14,8 +14,10 @@ In priority order. (with the error's first line) and `idle`, with the session name. tmux drops these, but `tmux pipe-pane -O` sees them when pi runs with `PI_PROGRAM_STATUS=1`. A first try showed every report, including a - confirm dialog's `state=blocked:kind=permission:msg=`. It - would fix item 4 and could replace the extension's state reports. It is + confirm dialog's `state=blocked:kind=permission:msg=`. + Items 4 and 5 no longer need it (pi 1.4's extension events cover + both); it could still replace the extension's state reports, and + carries errors for item 6. It is not specific to pi, so any agent that adopts the protocol would work too. Open questions: - A pipe for each agent pane is one process each, and tmux allows only @@ -23,15 +25,13 @@ In priority order. - A pipe started after pi misses the reports sent before it. - How to set `PI_PROGRAM_STATUS=1` for pi: the tmux global environment, or the shell profile. -4. **Blocked on a pi dialog.** While a pi confirm or select dialog waits - for you, dingger shows the agent as done, not blocked: pi tells - extensions nothing about its dialogs. Item 3 fixes this. Without it, - screen detection could match the dialog's key hint line ("enter select - ยท escape cancel"). -5. **Cancelled runs are not done.** Since pi 1.1, `agent_settled` says - whether the run was `aborted`. A run you cancel and then leave shows - as done, and dingger notifies you. The extension could report idle - for it, as pi's own reports do. +4. ~~**Blocked on a pi dialog.**~~ Done (see the README): pi 1.4 tells + extensions when a dialog opens and closes (`ui_prompt_start`/`_end`). + A dialog during a run is blocked; one opened while idle is not. Next, + with item 9: the dialog's title in the notification and panel. +5. ~~**Cancelled runs are not done.**~~ Done (see the README): the + extension reports `aborted` with the idle that ends a cancelled run, + and the daemon keeps it idle, with no "finished" alert. 6. **Failed runs.** pi 1.1 tells a run that ended with an error from one that finished, and gives the error's first line. dingger shows both as done. Design question: herdr has no such status; should a failure get -- cgit v1.2.3