# PROGRESS · 归档能力整体下线(2026-09-21) 工作树:`.worktrees/archive-retire-20260921` 分支:`codex/archive-retire-20260921` 基线:`origin/staging` @ `f8cb1dcd`(任务书;最近门禁提交 `df329fa9`) ## 任务状态 | 任务 | 状态 | 说明 | | --- | --- | --- | | T1 前端下线 | 完成 | 行菜单、控件、hook、legacy localStorage 写库都去掉;删除路径不动 | | T2 服务端下线 | 完成 | 列表恒 `archived_at is null`;PATCH 忽略 `archived_at` | | T3 存量放回 | 完成 | 迁移清空 `archived_at`,不写 `updated_at` | | T4 记录 | 完成 | BUG-991 investigating,等门禁 Postgres 转绿再 resolved | ## 改断言三栏 | 测试 | 原值 | 新值 | 原因 | | --- | --- | --- | --- | | `database-session-list-visibility` 归档视图半边 | `applyArchiveFilter(..., true)` 返回 `[archivedRectification]` | 删除该半边 | 归档视图已下线 | | 同上「非空 archived_at 不入列」 | 有 | 保留 | 列还在,守卫仍需测 | | `session-list-filter` 跨层组合 | 六组含 `archivedView` | 四组,无归档视图 | 同上 | | `chat-session-write` metadata schema | 接受 `archived_at` | schema 拒绝;extract 读后忽略 | 旧 bundle 不得 400 | | `chat-session-authority` 列表 GET | `isArchivedSessionQuery` | `.is("archived_at", null)` | 不再有归档查询参数 | | `chat-session-url` `toggleArchivedSession` | 归档也走 fallback URL | 函数删除,删除路径仍走 fallback | 归档下线 | ## 测试 | 项 | 结果 | | --- | --- | | `tsc --noEmit` | 0 错 | | `npm run lint` | 0 error / **119 warning**(未增) | | 定向 | sidebar-contract / chat-session-authority / write / url / session-list-filter / lifecycle / chart-library / local-postgres-not / home-shell-growth **102 过** | | `npm test` | **3603** 条,**3514** 过 / **89** 红。较本机 `df329fa9` 全量(3600 / 3512 / 88)净增 2 绿(行菜单合同、PATCH 忽略 `archived_at`)+ 1 红(新的迁移 Postgres 测试,Docker 网段耗尽)。其余失败清单仍是本机 Windows 旧项。 | | `grep 归档 frontend/src` | 无命中 | | `grep ToggleArchivedView frontend/src` | 无命中 | | `npm run test:db` | Docker 网段耗尽,未跑通。BUG-991 保持 investigating。 | | `next build` | 本轮未跑(Windows symlink EPERM 已知缺口) | `local-postgres-not.test.ts` 一字未改,定向仍绿。