# Context Compression Next TODO (2026-05-16)

目标：在 `CCA-153` 收口之后，把主线从“继续补压缩 plumbing”切到 **task-minimal working context**，优先解决“长任务里到底该保住什么、恢复什么、如何跨 surface 看见同一份任务上下文”。

## 当前暂停说明

当前建议暂停在 post-`CCA-172` / pre-`CCA-180`。

恢复顺序、剩余工作量估算、以及为什么现在是安全停点，见：

- [PAUSE-STATE-2026-05-16.md](./PAUSE-STATE-2026-05-16.md)

## 当前阶段判断

目前已经完成：

1. `CCA-140` middle-layer strategy stack scaffolding
2. `CCA-141` tool-result budget replacement v1
3. `CCA-142` cache-aware microcompact v3
4. `CCA-143` snip boundary + MVP v1
5. `CCA-144` middle-layer stage contract / terminal prune fallback v1
6. `CCA-145` strategy coordination facts v1
7. `CCA-146` middle-layer control-plane diagnostics v1

这意味着：

> query-time middle-layer stack 已经成型。  
> 下一阶段不再是“继续找一个新 reducer 往里塞”，而是：
> 1. 提升 task-minimal working-set 选择质量
> 2. 提升 restore 后的 session-memory 实用性
> 3. 补 replay / inspection 对 compact protocol 的消费深度
> 4. 再决定是否值得继续增强 `microcompact` 的策略深度

## 当前 re-rank 结论（post-`CCA-172`）

当前这条主线不再继续默认扩张 reducer 或 compact surface。  
新的优先级判断是：

1. **先提高 task-minimal working-set 选择质量**
2. **再提高 session-memory 在 restore 后的实用性**
3. **再补 replay / inspection 对 compact protocol 的消费深度**
4. **最后才考虑继续增强 `microcompact` 的策略深度**

这意味着新的 18x 波段是：

1. `CCA-180` deferred-task restore utility v7
2. `CCA-181` preserved-segment relink parity
3. `CCA-182` reactive compact shaping v3

当前状态：

1. `CCA-162` 已完成
2. `CCA-163` 已完成
3. post-`CCA-163` mainline re-rank 已完成
4. `CCA-170` 已完成
5. `CCA-171` 已完成
6. `CCA-172` 已完成
7. post-`CCA-172` mainline re-rank 已完成
8. 当前新的唯一主线切到 `CCA-180`

## Todo

### `CCA-150` working-set / keep strategy v4

已完成：
- working-set anchor 现在不再只有固定的 1-turn rewind 语义。
- `Read` anchor 继续保持 1 个 extra user turn 的回卷窗口。
- `filesystem_cluster` anchor 现在有独立的 2-turn backtrack window。
- `/context` diagnostics 现在会显式暴露：
  - `anchorKind`
  - `anchorToolNames`
  - `anchorBacktrackTurns`
  - `anchorMaxBacktrackTurns`

当前定位：
- 这是 working-set v4 的第一刀，不是最终 task-minimal selector。
- 它解决的是“filesystem exploration 明明还在当前任务里，但只因多了一轮用户迭代就被视为 stale”的问题。

### `CCA-151` session-memory restore consumption v4

目标：
- 让 session-memory 不只停留在 file-backed restore 的 one-turn reminder 注入
- 继续扩大 restore 后可直接消费的 session-memory surface

已完成：
1. app-server `thread/resume` 现在不再只复用 `mode` / `planPath` 语义；它也会复用 `nextTurnInjectedBlocks`
2. app-server 会把 session-memory reminder 作为服务端缓存的 next-turn-only injected blocks，在下一次成功的 `turn/start` / turn-dispatch 上消费一次
3. `/context` local diagnostics 现在会把这批 pending restore injected blocks 暴露到 next-turn fixed groups

当前定位：
- 这是一条 restore-consumption widening，而不是新的 persisted authority model
- 它继续保持 canonical restore-artifacts 单一路径；没有重新引入第二套 sidecar 读取或 reminder 组装逻辑

### `CCA-152` middle-layer canonical-owner convergence

目标：
- 继续减少 `contextCompressionService.ts` 中 stack 外的直接 helper 路径
- 让 middle-layer stack 更接近 surrounding flow 的唯一 owner

已完成：
1. `prepareHistoryForTurn()` 仍保留 auto-threshold 前的轻量 microcompact 预处理，但 post-compact 的 persisted baseline materialization 已改由 canonical stack owner 负责
2. `runReactiveCompact()` 不再手工串联 `applyCompactedHistory`；reactive retry 现在直接复用 canonical stack 来同时产出 persisted `history`、request-time `requestHistory` 与 prepared trailing user
3. `runManualCompact()` 与 `finalizeHistoryAfterTurn()` 不再把 terminal `prune` 写回 future-turn baseline；它们现在改为取 canonical stack 的 persisted-history candidate

当前定位：
- 这是一轮 owner convergence，而不是新的 reducer 扩张
- 现在 stack 外仍允许保留 pre-auto 的轻量 microcompact 预处理，但 surrounding flow 的 persisted baseline materialization 已不再各自手搓 `microcompact + prune`

### `CCA-153` compact protocol remote / restore alignment

目标：
- 继续补 compact boundary / preserved segment / remote restore 的生态差距

已完成：
1. app-server `thread/resume` 现在会直接返回 canonical `latestCompactBoundary`
2. Web runtime 的 `resumeThreadInputs()` 现在会在 restore path 直接消费这份 compact protocol fact，并更新 thread-scoped compact boundary cache
3. `thread/resume` / `thread/read` / `thread/messages` 现在共享同一套 compact boundary 来源，没有引入新的 persisted authority model

结果：
- compact protocol 的 remote / restore alignment 已完成最小闭环：
  - restore surface 不再需要额外调用 `thread/read` 才能感知最近一次 compact boundary
  - app-server / Web parity 继续建立在 canonical compact protocol 上，而不是局部特判

### `CCA-160` task-minimal working-set selector v5

已完成：
1. working-set anchor 不再只围绕 filesystem cluster；当前已新增 `task_execution_cluster`
2. selector 现在会显式把 recent task planning/todo state 与 recent code-reading / code-editing cluster 的组合相关性纳入 keep strategy
3. `/context` diagnostics 当前已暴露：
   - `taskStateKinds`
   - `selectionReasons`
   - `anchorKind=task_execution_cluster`

结果：
- current keep strategy 已从“filesystem cluster-aware”推进到“task-minimal working-set”第一版。
- 这轮仍然不改 persisted authority model；变化只在 compact-side tail selection 与 diagnostics 解释面。

### `CCA-161` session-memory restore utility v5

已完成：
1. canonical restore-artifacts 路径现在不再只返回 `nextTurnInjectedBlocks`；它还会返回结构化 `pendingSessionMemoryRestore`
2. `thread/resume` 当前会直接暴露这份 next-turn-only restore utility 摘要
3. `thread/replay` 当前也会在 pending 窗口内暴露同一份摘要，直到下一次成功的 `turn/start` / turn-dispatch 消费掉 reminder blocks
4. Web strict parser 已同步支持这份结构化 restore utility surface

结果：
- session-memory 不再只以 reminder 文本形式存在于 restore flow 中；当前至少已有 restore / replay 两个 surface 可直接消费结构化 task-state utility
- 仍然没有引入第二套 reminder 组装路径
- sidecar 仍然是 best-effort，不是新的 persisted authority

### `CCA-162` compact protocol replay / inspection parity

已完成：
1. app-server `thread/replay` 现在会直接返回 canonical `latestCompactBoundary`
2. Web replay runtime 当前会消费这份 compact boundary，并把它写回 thread-scoped compact boundary cache
3. 当 active transcript source 是 `replay` 时，现有 compact header 也会继续显示最近一次 compact protocol fact

结果：
- compact protocol 的消费不再只停在 `thread/read` / `thread/messages` / `thread/resume`
- replay / inspection path 现在也能直接拿到 canonical compact boundary
- 没有引入 replay-only 的第二套 compact summary；`preservedSegment` / rehydration facts 继续沿用同一条 canonical boundary 来源

### `CCA-170` manual compact task-minimal parity

已完成：
1. manual `/compact` 现在会和 auto compact 一样复用 task-minimal `keep_combo` keep strategy
2. compact boundary authority model 没变；manual compact 只是改用 canonical working-set selector，不引入新的 persisted authority
3. 即使 `keepLastTurns=0`，manual compact 现在也会按 current task execution cluster / recent files / planning state 保留最小任务上下文，而不是退回固定 `keep_last_turns`

### `CCA-171` higher-order restore utility v6

已完成：
1. canonical restore-artifacts 路径现在会把 bounded 的 `recentSkills` 与 `recentSubagentTypes` 一起纳入 `pendingSessionMemoryRestore`
2. 同一份 higher-order task utility 也会进入 next-turn-only session-memory reminder block
3. app-server `thread/resume` / `thread/replay` 与 Web strict parser 已对齐这份扩展后的 restore utility shape
4. 没有引入新的 persisted authority；数据仍然只来自 session-memory sidecar 的 canonical summary 路径

### `CCA-172` compact protocol deeper inspection parity

目标：
- 在 replay / restore 已经拿到 canonical `latestCompactBoundary` 的基础上，继续补 inspection 面对 compact protocol 的更深消费

已完成：
1. Web `thread/messages` permissive parser 当前也会保留 canonical `keepStrategy`、`rehydrationPlan`、`rehydrationCost`、`preservedSegment`
2. Web thread-scoped compact-boundary cache 当前已改为使用 shared deep equality；当深字段变化但浅字段不变时，history load 仍会刷新 cache
3. `thread/messages` / `thread/read` / `thread/replay` / `thread/resume` inspection paths 当前都能消费同一深度的 compact protocol summary，而不是按 surface 降级成不同深度的摘要

## 现在不建议直接做的事

1. 完整 persisted collapse store
2. archived collapse spans / collapse commits
3. replay-time collapse projection rebuild
4. 再开新的 query-time reducer 主线

### `CCA-180` deferred-task restore utility v7

目标：
- 在 `CCA-171` 已有 `recentSkills` / `recentSubagentTypes` 的基础上，继续把 restore utility 向“当前任务真正还需要的 deferred-task state”推进一层

当前候选：
1. deferred tool exposure / prompt-variant related utility
2. bounded async-agent / task-output state hints
3. 继续保持 next-turn-only / best-effort / no-new-authority 语义

### `CCA-181` preserved-segment relink parity

目标：
- 把当前已有的最小 `preservedSegment` metadata 从“inspection facts”推进到“更可靠的 relink / validation parity 钩子”

当前候选：
1. continuation-view validation parity across replay / resume / inspection
2. preserved-tail fingerprint based relink checks
3. 不引入 partial-compact store 或 replay rebuild

### `CCA-182` reactive compact shaping v3

目标：
- 在 `CCA-122` 的基础上继续补 reactive compact 的成熟度，而不是重新扩 query-time reducer 栈

当前候选：
1. richer provider-specific shaping
2. 更细的 overflow 分类与 telemetry
3. 与 existing middle-layer strategy facts 的更深联动

## 一句话结论

post-`CCA-172` mainline re-rank 已完成。  
下一步新的唯一主线应当是：

> `CCA-180` deferred-task restore utility v7
