Keep long-running monitors polling after prose turns
This commit is contained in:
@@ -432,6 +432,8 @@ assigned to the phase that owns the affected flow before the related work is con
|
||||
monitor.
|
||||
- [x] Monitor teardown now clears orphaned in-memory state when completion metadata is missing.
|
||||
- [x] Refresh requests ignore completed or no-longer-long-running blocks.
|
||||
- [x] A monitor turn that ends after a snapshot without a polling action now receives one bounded
|
||||
continuation nudge, with shared prompts requiring a tool call while the command is running.
|
||||
- [ ] ChatGPT subscription follow-up: a reported OAuth-backed tool turn failed because the
|
||||
Responses request lacked `call_id`. Rig's stream fallback and the serialized assistant/tool
|
||||
follow-up are now covered by hermetic tests; complete a fresh authenticated end-to-end check and
|
||||
|
||||
@@ -207,6 +207,8 @@ Tasks:
|
||||
- Build the initial structured monitoring prompt.
|
||||
- Reuse `RunningCommand` and shell snapshot conversion where possible.
|
||||
- Add throttled snapshot updates.
|
||||
- [x] If a monitor turn finishes with a still-running command but no polling tool call, issue one
|
||||
bounded continuation nudge; reset that guard after a real snapshot/action result.
|
||||
- Add explicit completion/cancellation summaries.
|
||||
- Redact secrets using the existing input redaction path before sending snapshots to the side agent.
|
||||
|
||||
@@ -264,5 +266,8 @@ Manual verification:
|
||||
4. Run a command with no output but successful completion: side agent does not claim failure prematurely and receives the final exit code.
|
||||
5. Run a command that exits non-zero: side agent identifies failure and main agent receives the summary.
|
||||
6. Run a simulated database lock/wait: side agent flags suspicious lack of progress with uncertainty.
|
||||
7. Trigger a provider budget limit on the thinking model: coding model is tried once.
|
||||
8. Trigger limits on both profile models: clear rate-limit message is shown and no crash occurs.
|
||||
7. Run `count_forever() { i=0; while :; do i=$((i+1)); printf 'tick=%d\\n' "$i"; sleep 1; done; }; count_forever`
|
||||
and ask the monitor to stop it at tick 50; verify it continues polling after each snapshot and
|
||||
interrupts the original process at the requested point.
|
||||
8. Trigger a provider budget limit on the thinking model: coding model is tried once.
|
||||
9. Trigger limits on both profile models: clear rate-limit message is shown and no crash occurs.
|
||||
|
||||
Reference in New Issue
Block a user