fix: thread/unarchive 走已归档解析(--archived 列表)
probe9 实测:thread/archive 200 后 thread/unarchive 稳定 404。 根因是 #103 时代的逻辑 bug:unarchive 走普通解析,普通 thread-list 不传 --archived 时只回非归档 thread,刚归档的 thread 永远解析不到。修法只改服务端:_list_task_threads 加 archived 模式(传 --archived,home×provider 穷尽不变), _resolve 与 _pick_latest_thread 加归档开关,_task_thread_mutate 加 resolve_archived 参数只供 unarchive;rename/archive/compact 仍走非归档解析。生产只读验证:同一 worktree 普通列表 0 条、 archived 列表恰好 1 条(probe9 归档的 thread),其 archived 字段为 None。
This commit is contained in:
1 parent
f5d6d6b9f0
commit
5fd4e23b68
3 files changed
+207
-17
No files matched your search
@@ -61,3 +61,24 @@
|
||||
- 新测试 9 个:`cloud/tests/test_thread_resolve.py`
|
||||
(CLI 参数位置、共享 home 读取、回退顺序、空→404、
|
||||
host.py 失败→502)。
|
||||
|
||||
## 后续:unarchive 归档解析
|
||||
|
||||
探针 probe9 发现:thread/archive 200 后 thread/unarchive
|
||||
稳定 404。根因是 #103 时代的逻辑 bug:unarchive 走普通
|
||||
解析,普通 thread-list 不传 --archived 时只回非归档
|
||||
thread,刚归档的 thread 永远解析不到。修法(只改服务端):
|
||||
|
||||
- `_list_task_threads(task, archived=False)`:archived 为真
|
||||
时传 `--archived`,只列已归档 thread;home×provider 穷尽
|
||||
回退不变。生产只读验证:同一 worktree 普通列表 0 条、
|
||||
archived 列表恰好 1 条(即 probe9 归档的 thread),且其
|
||||
archived 字段为 None。
|
||||
- `_resolve_task_thread(task, archived=False)` 与
|
||||
`_pick_latest_thread(threads, include_archived=False)`:
|
||||
归档模式下不跳过显式 archived 条目。
|
||||
- `_task_thread_mutate(..., resolve_archived=False)`:只供
|
||||
unarchive;rename/archive/compact 仍走非归档解析。
|
||||
- 新测试 4 个:`cloud/tests/test_thread_unarchive.py`
|
||||
(--archived 透传、普通解析 404 而归档解析命中、pick
|
||||
归档开关、unarchive 调 CLI 时解析模式与 provider 正确)。
|
||||
Reference in new issue
Block a user