4.4 KiB
4.4 KiB
23 · 退役产品全库清理清单 v1
状态:in-progress → 高优先级 Waves A1–C 已落地(2026-07-28)
日期:2026-07-28
目标:把 convex + Weknora + openhub + reasonix + Hermes + ACP + OpenCode + Sidex + Yuxi + legacy_next_compat + soft retirement 残留彻底扫光,像没有存在过一样。
优先级:高(编译不红、runtime 不暴露、文档不广告)→ 中(调试残留)→ 低(历史叙事、死 smoke)。
1. 整体盘点(更新 2026-07-28 执行后)
| 品牌 | 产品面残留 | 调试/测试面 | 历史叙事 | 风险 |
|---|---|---|---|---|
| Hermes | seed→pi;HERMES_HOME 兼容读已删;AiRuntimeOwner::RustWebPi |
soft-retire smoke 保留 exit 0 | design/old 可留 | 已收 |
| OpenHub / OpenCode | 无产品入口 | soft-retire smoke | design/old | 低 |
| Reasonix | seed→pi |
.reasonix 目录忽略保留 |
design/old | 已收 |
| ACP | DB 列 acp_* 保留(schema);产品 runtime 无 ACP 宿主 |
极少 | 中(列名兼容) | |
| next_compat / LEGACY_NEXT | AppConfig / proxy / documents Next 链已删 | smoke 已去 env | design/done 历史稿 | 已收 |
| convex_retired | 已扫完 | 已完 | ||
| Weknora / Yuxi / Sidex | 极少 | design/old | 低 |
2. 本批已执行(A1 → A2 → A3 → B → C)
A1 · control-plane brand → pi ✅
- sqlite / turso seed:
hermes/reasonix→pi,display「我的 Pi」 - 迁移:历史
agent_id='hermes'就地 UPDATE 到pi - fixtures /
turso_store/control-plane-dev-seed.js字面量中性化
A2 · LEGACY_NEXT / documents proxy ✅
AppConfig删除legacy_next_base_url/enable_legacy_next_compat/compat_next_base_pathsession/gatewayhealth 与 legacy proxy 删除documentsNext proxy 栈删除- OnlyOffice 非 local writeback → fail-closed(
onlyoffice_cloud_writeback_unavailable) - 保留 OnlyOffice 同源 server proxy 所需
append_path_and_query
A3 · Hermes 命名 / HERMES_HOME ✅
AiRuntimeOwner::RustWebHermes→RustWebPi- spike:
open_hermes_page_ai_drawer→open_page_ai_drawer agent_profile_home:仅MNOTE_AGENT_HOME/~/.mnote-agent(去掉HERMES_HOME/~/.hermes)- audit log:仅
MNOTE_AGENT_TOOL_AUDIT_LOG - AGENTS.md:去掉「旧 agent 网关 / OpenCode 代理壳」宣传句
.env.all:删除MNOTE_HERMES_API_*
B · compat 410 / 文案 / debug ✅
/api/ai-agent/run继续 410legacy_ai_agent_run_retired(含 hermes/codex provider 负向合同)- compat 测试去 mock Next 上游,只断言 GONE
- debug shell:
MNOTE_WEB_ENABLE_DEBUG_SHELL_ROUTES默认 false(边界保持)
C · smoke / 编译验证 ✅
- 17 个 smoke 去掉
MNOTE_WEB_*LEGACY_NEXT* task164断言改为不出现legacy_next_compat- 死 hermes/opencode smoke 已 soft-retire(Wave 10,保持)
- 验证:
cargo check -p mnote-web --tests无 errorcargo test -p bridge-runtime --lib116 passedcargo test -p control-plane --lib37 passedcargo test -p mnote-web --lib routes::compat4 passed
3. 仍可后续(非阻塞)
| 项 | 说明 |
|---|---|
ACP 列名 acp_* |
控制面 schema 兼容;改列需独立迁移批 |
actor 占位拒绝 hermes |
mnote_tools 仍拒绝 actor=hermes 占位 id(负向安全) |
mnote-hermes-tool source |
document-session 历史 external write source 兼容读 |
.reasonix / .opencode 目录忽略 |
local_folder 扫描忽略,非产品入口 |
| design/old 历史稿 | 不阻塞产品面 |
测试函数名 hermes_tools_* 前缀 |
历史命名,schema 已中性化 |
4. 验收 Checklist
cargo check -p mnote-web --tests无 errorcargo test -p bridge-runtime --lib全通过cargo test -p control-plane --lib全通过- AGENTS.md 不再把退役 agent 宿主写成可选主链
- smoke 不再注入
MNOTE_WEB_*LEGACY_NEXT* - 产品 profile home 不再读
HERMES_HOME/~/.hermes - (可选)ARCHITECTURE.md 全文扫 brand 叙事
- (可选)ACP 列 rename 迁移批
5. 工具回扫命令
rg -n "legacy_next|LEGACY_NEXT|HERMES_HOME|RustWebHermes|enable_legacy_next" rust scripts --glob '!**/target/**'
rg -n "MNOTE_WEB_ENABLE_LEGACY_NEXT|MNOTE_HERMES" scripts .env.all
cargo check -p mnote-web --tests