<!-- codsh-publication:grok-cli-dsh-rewrite:ticket-29 --> ## Parent https://github.com/Blackman99/codsh/issues/132 **Ticket:** 29 **Status:** ready-for-agent **User Stories:** 31, 32, 33(见父规格) ## What to build 用户查看上下文占用、执行带指示的手动压缩或触发自动压缩,随后能继续并恢复会话。 ## Acceptance criteria - [ ] 上下文分类及容量来自真实可得信息,不伪造精度;模型切换的上下文限制正确。 - [ ] 手动指示、自动阈值、进度、摘要查看、失败和取消由 dsh 能力驱动,不另造一套历史。 - [ ] 压缩后工具历史、待办、活动任务等应保留状态有契约测试;后续任务类型须补入同一回归。 - [ ] 重启继续的模型输入和界面一致,不因失败丢失原记录;记录用量与后台调用目的地。 ## Blocked by - #138 — Ticket 06: 会话恢复与单一执行写入者 - #140 — Ticket 08: 多提供商模型与推理选项 ## Delivery contract 用户于2026-09-20批准当前测试与任务拆分。按父规格的已安装产物/真实终端和公开协议测试验收;实际实现须带适用的文档、Changeset及必要检查。ready-for-agent表示任务已定义,不表示前置任务已完成,也不授权自动开始本轮实施、购买付费资源或发布软件版本。
Activity
Blackman99 commentedon Sep 20, 2026
按用户2026-09-20的实施授权领取 Ticket29 / #161;本次只记录领取,未启动实施工作者,也不表示已实现。已重新读取 #132 及全部80票正文/评论和实际 blocked-by(native 177 边);#140 已集成关闭后,当前独立就绪且无未对账领取的票仅为 #161(仅被已关闭且有集成证据的 #138 与 #140 阻塞)。#141、#149 与 #160 虽 native 无开放前置,但保留既有领取且已记录 cherry-pick 冲突,本轮按失败记录推迟,不重试、不重领。本波仅领取 #161,未领取任何被阻塞后继(含 #142/#150/#152/#153/#154/#157/#158/#162/#165/#171/#174/#185/#189/#192/#193/#197/#203/#211/#212)。
实施必须从独立集成树精确基线
253b7376f14c2ad2c8955440fbe21e98b24021f0开始。前置 #140 已关闭,其同一提交已保留在rewrite/grok-dsh-20260920;两位独立 grok-4.6 审查及集成证据见 #140 (comment) 。#139/#138/#137/#136/#135/#134/#133 仍为已集成关闭基线 #139 (comment) 、#138 (comment) 、#137 (comment) 、#136 (comment) 、#135 (comment) 、#134 (comment) 与 #133 (comment) 。范围按原验收:上下文分类及容量来自真实可得信息,不伪造精度;模型切换的上下文限制正确;手动指示、自动阈值、进度、摘要查看、失败和取消由 dsh 能力驱动,不另造一套历史;压缩后工具历史、待办、活动任务等应保留状态有契约测试;重启继续的模型输入和界面一致,不因失败丢失原记录;记录用量与后台调用目的地。后续实施/审查子代理使用 grok-4.6。仅在实施、独立审查和集成验收通过后关闭。main、现有未跟踪文件及其他工作树不改动;不授权付费资源,#212仍须新的明确最终发布/默认切换批准。
Blackman99 commentedon Sep 20, 2026
已完成并集成到独立分支 rewrite/grok-dsh-20260920,HEAD 提交:dc84ab9 。feat 提交:105f8aa 。修复提交:9d4d48f 、a0ef478 、dc84ab9 。该范围是对已审查 worker HEAD
228b4dcaefb857e8548ad875da2b35663db12a4e的253b7376..228b4dccherry-pick(四个提交),tree 相同3ddd80a451b8d03d0ab35726ecccd9c47c8af350。两位独立 grok-4.6 审查员对该精确 worker HEAD 均批准且无剩余问题(前几轮 024102e/d405167/702c1c4 的 ACP 断连、TOKEN_OLD 残余、缺少取消 PTY、手动 instruction 未观测、模型切换限制未证、auto-compact 被 mock seam 跳过、提交 scratch report、breakdown=unknown 锁死、摘要仅 metadata 均已在 228b4dc 修复)。集成控制器在隔离集成树独立复跑(TMPDIR=/tmp):typecheck、80 文件 / 2242 测试通过(含 rust-acp-protocol.spec 23/23,compact/auto-compact/cancel)、cargo fmt、严格 Clippy(--offline -D warnings)、Rust workspace 60+61+2+379 项测试、
pnpm run build:rust(native SHA-256077d2d50d68feb93eb2178d9d042bf9bb3ef81a81cf24d6d9b7fbfff55b06861)、packed 安装产物 PTYscripts/rust-compact-pty-test.pyPASS(证据/tmp/codsh-rust-compact-0pqui1p9session45006f05-bd9f-4d0f-bc17-165a18b1cc8e;跑前清理 53 个泄露的 compact-home 进程)、隔离套件scripts/rust-pty-test.pyPASS(.scratch/rust-pty-1789939105999225000)。实际 UI:
/contextoccupancy=8141 (dsh estimate),system=1137 / tools=6187 / messages=817 (dsh heuristic),advertised_context=128000 后/model narrow为 64000,无 breakdown=unknown;手动/compact keep the auth plan显示 ✂ compacted 8 history items (~653 tokens) · cli-mock/cli-mock purpose=compaction、MOCK_COMPACTION_SUMMARY、instruction keep the auth plan、TODO_KEEP,TOKEN_OLD 不在 live/resume 表面;resume session 45006f05 回答 TOKEN_AFTER_COMPACT;fail 保持 Connected to dsh ACP、Compaction failed: summarizer failed. Original dsh records were not discarded.、TOKEN_KEEP_ORIGINAL/SECOND 与 TOKEN_AFTER_FAIL;cancel 显示 Compaction cancelled. 与 TOKEN_AFTER_CANCEL;auto-compact 映射 thresholdRatio 0.05,dsh 拒绝非更小摘要(125 >= 125)且保留原记录,后续 WRITE_TODO TOKEN_KEEP。协议 auto-compact 为成功保留 TODO_KEEP 路径。真实 dsh@deepseek-ai/dsh@0.1.5-rc.2。所有 compact.ansi含 CSI?1049l。变更仅为 opt-in
codsh --rust的 dsh 上下文事实、/context分桶与 advertised 限制、手动/自动 compactNow、失败/取消保留原记录与 resume checkpoint。未改 main(仍43b5da1),未链入官方 agent 核心,未发布 npm,未做默认切换。Linux/Windows PTY 仍未在本主机验证。#132 spec 与后继票仍不关闭。#212 仍须新的明确最终发布/默认切换批准。worker worktree 保留在/Users/zhaodongsheng/.grok/worktrees/my-projects-codsh/subagent-01a0c005-72d5-7850-8be3-12d0462d6c52。