mirror of
https://github.com/wu736139669/hapi.git
synced 2026-11-08 01:43:07 +00:00
* fix(cli): silence Cursor post-done harness "Briefly inform" turns After AGENT_NOTIFY_SUMMARY status:done, drop notify_on_output resume speech/tools/thinking until the next HAPI user prompt so the competing finished-shell system ping cannot force a second user-visible reply. Fixes #2267 Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): narrow post-done silence to speech; keep soft-steer active Address cold review + Codex P2: suppress only text/reasoning after status:done, treat outstanding soft-steer as an active turn, and add a launcher regression for harness-resume drops. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): discard suppressed harness buffers before next prompt After a done close, idle-flushed harness speech stays buffered. Clear it before reopening the silence gate so prompt()'s pre-swap drain cannot resurrect the redundant reply (Codex P2 on #307). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): keep post-done silence through drain and handler swap Address upstream bot Minors on #2268: suppress speech after done even during promptInFlight drain windows, and reopen the gate only once when promptGeneration advances after the handler swap (not before prompt()). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): seal done footer before quiet-drain harness coalescing Address #2268 Minor: Cursor can append finished-shell speech during the post-prompt quiet window onto the same buffer as AGENT_NOTIFY_SUMMARY done, which hid the end-anchored footer. Seal the done segment when flavor=cursor at native response return, and truncate buried harness prose in the launcher as defense in depth. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): harden post-done seal against queue race and false closes Await sessionUpdateQueue before sealing a Cursor done footer; keep note() end-anchored; fence-aware truncate with soft-steer exemption and same-line glue handling so examples and steered speech are not cut (#2268 Minors). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): keep seal end-anchored; harden footer scan edges Seal only flushes end-anchored done footers (soft-steer truncate stays in the launcher). Footer scan skips inline-code examples and tracks JSON string/escape state so braces inside summary values do not break glue detection (#2268 Minors). Co-authored-by: Cursor <cursoragent@cursor.com> * fix(cli): ignore tilde-fenced done-footer documentation examples Recognize ~~~ fences with matching opener length alongside ``` so truncate/seal defense does not treat tilde-fenced footer examples as a real post-close (#2268 Minor). Co-authored-by: Cursor <cursoragent@cursor.com> --------- Co-authored-by: Cursor <cursoragent@cursor.com>