A direct sub-agent chat cannot be stopped: no cancel on the instance surface, and the global stop omits the target
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, python
Direzione di ricerca
Start in ui-web/src/live/230-tabs.js and ui-web/src/live/080-overrides.js, then read the turn.cancel handling documented in raven/rpc/methods/turn.py around line 650. Reproduce a long-running direct instance turn and trace how turn.send resolves its target versus how DS.composer.stop chooses the lane. Done means a direct instance turn can be stopped from the page without the global stop silently missing it.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
A direct chat with a sub-agent instance cannot be stopped from the page. The instance surface exposes no cancel, and the global stop cannot reach one: it sends turn.cancel without a target, which the server documents as missing every direct turn. The backend can already do it -- turn.cancel accepts a target and cancels a direct lane correctly when one is passed.
Steps to reproduce
- Open a session, create or open a sub-agent instance, and send it something long-running from the instance composer.
- Look for a way to stop it, on the instance surface and with the global stop (the go button's other half, or Esc).
Expected behavior
A turn a person started can be stopped by that person. The main agent's turn can be, and a direct turn is started from the same composer with the same turn.send.
Actual behavior
Nothing stops it. The two halves of the same conversation are asymmetric:
| send | stop | |
|---|---|---|
| main agent | turn.send { session_key } |
turn.cancel { session_key } -- works |
| direct instance chat | turn.send { session_key, target: { agent, handle } } (ui-web/src/live/230-tabs.js:65) |
no call exists |
The instance surface in 230-tabs.js offers instanceHistory, instanceForget, instanceSend, instanceCreate, instanceMode, instanceSetMode, instanceSetModel. There is no cancel; stop, cancel, busy and cancellable do not appear in that file at all.
The global stop cannot substitute, for two separate reasons:
// ui-web/src/live/080-overrides.js:561
DS.composer.stop = function () {
if (!turn.cancellable()) return;
const owner = sessionCurrent();
...
rpc.call('turn.cancel', { session_key: owner })
- No
targetis passed, and the server states what that costs: "targetnames which lane to cancel and must be resolved the same wayturn.sendresolves the lane it binds, or the lookup misses every direct turn: those are registered underdirect_lane(...), never under the bare session key." (raven/rpc/methods/turn.py:650) - The early
returnis silent, so on the path where the guard does not hold the reader gets no feedback at all -- the same nothing as a stop that ran and found nothing to stop.
The backend is not the gap
turn.cancel with a target works. Cancelling two live direct turns over /rpc today:
turn.cancel {"session_key": "<session>", "target": {"agent": "Raven-Design", "handle": "<handle>"}}
-> {"cancelled": true}
Both instances stopped, and a subsequent turn.send to the same handles started clean turns. So this is the page not wiring a capability that is already there and already shaped for it.
Environment
macOS, raven from the repo working tree, web UI at current main.
Note on scope
Whether the control belongs on the instance surface, or the global stop should resolve the lane the composer is currently addressing, is a design call for whoever owns the composer -- the second would also fix the silent return for free, since a direct turn would then be cancellable. Filing the defect rather than the fix.
- Lingua principale
- Python
- Stelle
- 4.1k
- Fork
- 94
- Merge medio
- 1g 23h
- PR unite (30g)
- 221
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di EverMind-AI/Raven
-
fix(agent): a DAG node's exception report quotes the judge's evidence unfenced and unboundedForse già presa @kaguranananana l’ha presa 6 giorni fa. Apertabug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
EverMind-AI/Raven#998 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
EverMind-AI/Raven#121 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
EverMind-AI/Raven#1152 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
EverMind-AI/Raven#1116 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
EverMind-AI/Raven#1106 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di EverMind-AI/Raven
Issue simili
-
ci-rerun: collect.py fails a whole pr-babysit cycle on one transient GitHub 5xx and never retriesApertafollow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Built-in QUBO fallback applies bitwise xor to floating binary statesForse già presa @iloveeyjafjalla l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
qboson/kaiwu-pytorch-plugin#1702 ·
I maintainer di solito rispondono entro 3 giorni
-
bug v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
modelcontextprotocol/python-sdk#3811 ·
I maintainer di solito rispondono entro 1 giorno
-
cost:cheap practicality:seen-in-the-wild severity:medium
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
fairagro/m4.2_advanced_middleware_api#620 ·
I maintainer di solito rispondono entro 1 giorno