Skip to content

[Grok/dsh 05] 取消执行并安全返回 Prompt #137

Closed

Description

@Blackman99

Parent

#132

Ticket: 05

Status: ready-for-agent

User Stories: 19, 62, 75(见父规格)

What to build

用户可以按参考键位取消模型流、正在运行的工具或待审批动作,随后继续提问而不丢失无关草稿。

Acceptance criteria

  • 核对有草稿/空草稿时 Ctrl+C 和 Esc 的不同语义,不把清空草稿当取消或把关闭弹窗当终止。
  • 取消传递至 dsh;被取消动作不能因迟到回复或重新连接再次执行,未知外部结果如实显示。
  • 待审批、流中、工具中和已完成瞬间的取消都有端到端覆盖;取消后可继续执行新的正常回合。
  • 验证相关进程与终端状态清理,适用文档/发布元数据和原有检查同步。

Blocked by

Delivery contract

用户于2026-09-20批准当前测试与任务拆分。按父规格的已安装产物/真实终端和公开协议测试验收;实际实现须带适用的文档、Changeset及必要检查。ready-for-agent表示任务已定义,不表示前置任务已完成,也不授权自动开始本轮实施、购买付费资源或发布软件版本。

Activity

  1. Blackman99 commented on Sep 20, 2026

    @Blackman99
    OwnerAuthor

    按用户2026-09-20的实施授权领取 Ticket05 / #137;本次只记录领取,未启动实施工作者,也不表示已实现。已重新读取 #132 及全部80票正文/评论和实际 blocked-by;当前只有本票就绪(native 177 边与正文前置均只解锁 #137),未领取任何被阻塞后继。

    实施必须从独立集成树精确基线 ce1d91c56684cb3522568f23f4eb1131aae2ed8e 开始。前置 #136 已关闭,其同一提交已保留在 rewrite/grok-dsh-20260920;两位独立 grok-4.6 审查及集成证据见 #136 (comment) 。#135/#134/#133 仍为已集成关闭基线 #135 (comment) 、#134 (comment) 与 #133 (comment) 。

    范围按原验收:核对有草稿/空草稿时 Ctrl+C 和 Esc 的不同语义,不把清空草稿当取消或把关闭弹窗当终止;取消传递至 dsh,被取消动作不能因迟到回复或重新连接再次执行,未知外部结果如实显示;待审批、流中、工具中和已完成瞬间的取消都有端到端覆盖,取消后可继续执行新的正常回合;验证相关进程与终端状态清理,适用文档/发布元数据和原有检查同步。后续实施/审查子代理使用 grok-4.6。仅在实施、独立审查和集成验收通过后关闭。main、现有未跟踪文件及其他工作树不改动;不授权付费资源,#212仍须新的明确最终发布/默认切换批准。

  2. self-assigned this
    on Sep 20, 2026
  3. Blackman99 commented on Sep 20, 2026

    @Blackman99
    OwnerAuthor

    已完成并集成到独立分支 rewrite/grok-dsh-20260920,提交:b2280d1 。该提交是对已审查 worker HEAD 6af2547d5b2f5b164290ffdd74a22ecafdfbd8a4 的 ce1d91c..6af2547 cherry-pick(7fa807a feat + b2280d1 fix),tree 相同 6cac0b1ba3d3d02428993bb742552a1b37af03ee。两位独立 grok-4.6 审查员对该精确 worker 提交均无剩余问题(首轮 teardown 命名与 idle Ctrl+C --help 已在 6af2547 修复)。

    集成控制器在隔离集成树独立复跑(TMPDIR=/tmp):typecheck、80 文件 / 2228 项单元测试(含 scripts/rust-acp-protocol.spec.mjs 9/9,含 delayed-stream cancel + late allow 与 in-tool/completion-race cancel)、cargo fmt、严格 Clippy(--offline -D warnings)、Rust workspace 23+61+2+379 项测试(含 cancel_slow_stream、cancel_pending_permission_and_late_allow_do_not_write、cancel_during_tool_does_not_write_after_process_teardown、cancel_at_completion_is_truthful_and_does_not_duplicate)、pnpm run build + build:rust(native SHA-256 e198a0f3ad2df0f8f798399d2a819f465b5f8cec6b7f32d1380a250600dbb73f,--help 含 quits when idle before any turn)、packed 安装产物 PTY scripts/rust-cancel-pty-test.py PASS(证据 /tmp/codsh-rust-cancel-ahmwrumh,note.txt 仍 alpha\n,四案 exit 0,均含 1049l)、流式回合 PTY PASS(/tmp/codsh-rust-turn-721_yfar)、文件工具 PTY PASS(/tmp/codsh-rust-file-rlgtiggc)、隔离套件 scripts/rust-pty-test.py PASS(.scratch/rust-pty-1789900622178812000,idle empty Ctrl+C 仍退出,network.log 仅 audit-ready pid)、41 项 legacy wrapper/input/session e2e。

    实际 UI:stream Esc 保留草稿并提示 Ctrl+C,带草稿 Ctrl+C 只清空,空草稿 Ctrl+C 显示 [cancelled] 后可 TOKEN_AFTER_CANCEL/RUST_ACP_ANSWER;pending Allow 上 Esc/草稿清空不取消,空 Ctrl+C 为 Error: approval for tool "edit" was cancelled;in-tool 为 Error: tool call aborted before dispatch;complete-race 完成后 Ctrl+C 不退出,随后 TOKEN_AFTER_RACE/turn=3。真实 dsh @deepseek-ai/dsh@0.1.5-rc.2。

    变更仅为 opt-in codsh --rust 经 released dsh ACP session/cancel 的 live-turn 取消。未改 main(仍 43b5da1),未链入官方 agent 核心,未发布 npm,未做默认切换。Linux/Windows 执行证据仍未验证。session/load / 单写者 resume 仍属 #138。#212 仍须新的明确最终发布/默认切换批准。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions