dev-manager-tauri/docs/tasks/2026-10-04-feature-pruning.md
lanrtop 412ab8491f
All checks were successful
Push & PR Check / check (push) Successful in 1m23s
Push & PR Check / check (pull_request) Successful in 58s
feat(feature-pruning): 撤销零数据/死代码功能(留撤盘点批次 1)
按「管家准入与退出」撤销实测无使用的功能,台账见 docs/tasks/2026-10-04-feature-pruning.md:
- 项目级工具(project_tools 0 行):删除项目级 command;保留全局快启,
  project_tools.rs/ProjectToolsModal 改名 global_tools.rs/GlobalToolsModal
- 部署命令(deploy_commands 0 行):删除 4 个 command、DeployModal 与「部署配置」按钮;
  删除未编译的 deploy_info.rs 与空壳 DeployInfoPanel
- 宿主机应用(0 行)、项目个人备忘(1 条,表与数据保留)、活动日志与 relations(0 行)
- GitHub 残留:git_accounts 建表与 github_client_* 设置种子;publish.rs 改名 local_git.rs
- 空壳 NetworkPage

数据原则:不 DROP 表、不删已有行,只移除建表语句、两段 FK 迁移与读写代码。
核查后撤回 server_network_config:镜像选择功能在用(ServerSoftwareBlock 调用)。

Rules-Applied: R01,R05
Feature-Confirmed: true

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-04 20:34:32 +09:00

96 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 炼境功能留撤盘点(持续维护)
> 起因(2026-10-04 用户):项目管理改用 enterprise-system 风格多维表,务实功能收进项目详情「子主题」,冗余功能去掉。
> 本文是**阶段性过滤的单一台账**:每批处理完更新「状态」列与「处理记录」,不另开文档。
> 数据证据是 2026-10-04 快照(本机库只读计数),易变——复核时重新计数,不信本表旧数。
## 0. 评估口径
- **A|agent 价值**:管家主线程度 / 是否有 MCP 投影。
- **H|人用价值**:以本机库真实行数为准(只说明「有无数据」,不说明使用频率;只读查看型功能可能被低估)。
- **C|维护成本**:代码体量与耦合面。
- 判据对齐 AGENTS.md「管家准入与退出」:实测无收益、被替代、或维护成本超过收益 → 撤。
状态取值:`待处理` / `进行中` / `已完成` / `待用户判断` / `转后续`。
## 1. 核心保留(管家主线)
| 模块 | A | H | C | 证据 |
|---|---|---|---|---|
| mcp-server / mcp-single-server | 高 | — | 高 | 所有 agent 能力的入口 |
| mcp-config-inject | 高 | — | 高 | 三端注入本体(mcp_inject.rs 约 4300 行) |
| onboarding-pack | 高 | 中 | 高 | 一键接入主线 |
| agent-client-capability-packs | 高 | — | 中 | 能力包 + 使者回传(envoy_dispositions 63 条) |
| toolchain-capability-pack | 高 | — | 中 | get_toolchain_status / prepare_toolchain |
| agent-access-reliability | 高 | 中 | 中 | 设置页 readiness |
| project-resource-broker | 高 | 中 | 高 | 凭证代办与交付状态 |
| gitea-integration | 高 | 中 | 高 | pr_events 362 条 |
| cicd-workflow | 高 | 中 | 中 | 4 个 MCP 工具 |
| blueprint-reader / view / governance | 高 | 高 | 高 | 任务上下文主载体 |
| blueprint-flywheel / flywheel-intelligence | 高 | 中 | 中 | commit_metrics 1840、commit_files 19105 |
| blueprint-feedback / project-mentor | 高 | 中 | 中 | project_notes 199、project_snapshots 2036 |
| runtime-diagnostics / health-center | 高 | 中 | 中 | runtime_logs 517 |
| project-mgmt / workspace-mgmt | 中 | 高 | 高 | 28 个项目、2 个空间;多维表数据源 |
| devtools-scan / project-env-scan | 中 | 中 | 中 | 工具链能力包输入(dev_tools 33) |
| git-ops / shell-launch | 低 | 高 | 低 | 开编辑器/终端等高频小功能 |
| sqlite-db / tray-service / auto-update / settings-page | — | 高 | 中 | 基础设施 |
## 2. 合并(能力保留,换落点)
| 模块 | 落点 | 理由 | 状态 |
|---|---|---|---|
| project-dashboard(看板) | 多维表 | 看板与管理两套视图合一;看板「分组/独立」依赖产品组 | 待处理 |
| tags-groups 中的标签 | 多维表可选字段 | 仅 1 个标签 1 条映射,留着成本低 | 待处理 |
| repo-registry | 项目档案 repo_url + Gitea | git_repos 仅 2 条,已被 gitea_repos(7)替代 | 待处理 |
| server-registry + ssh-config-sync + vscode-remote + server-software + service-config | 资源页「服务器」一页 + 项目详情子主题「部署」 | 5 个模块是同一件事(servers 2 / server_software 9 / service_configs 5) | 待处理 |
| cloud-products + cloud-docker-apps + cloud-db-instances | 「云资源」一页 | 同上(7 / 1 / 5) | 待处理 |
| agent-infrastructure | 并入接入包 | 与一键接入重叠,入口藏在蓝图弹窗 | 待处理 |
| blueprint-onboarding(提示词) | 并入接入面板 | 被一键接入取代,MCP 工具保留 | 待处理 |
| api-keys | 并入 credential_store 统一凭证存储 | 11 条真实使用;**需先核实是否明文存储** | 待处理 |
## 3. 撤销
### 3a. 零数据 / 死代码(批次 1)
| 项 | 证据 | 改动范围 | 状态 |
|---|---|---|---|
| project-tools 项目工具链 | project_tools 0 行 | 项目级 command 删除;文件改名 global_tools.rs / GlobalToolsModal(全局快启 global_tools 有 4 条,保留) | 已完成 |
| 部署命令 deploy_commands / deploy-info | deploy_commands 0 行;deploy_info.rs 未编译、DeployInfoPanel 为 `export {}` | spaces.rs 的 4 个部署 command、DeployModal 与「部署配置」按钮、两个死文件(生产/测试地址展示保留) | 已完成 |
| host-apps 宿主机应用 | server_host_apps 0 行 | host_apps.rs、HostAppsPanel、ServerManagerPanel 入口、删服务器时的级联清理 | 已完成 |
| ~~server_network_config~~ | 0 行,但 set_server_mirror 写、安装命令生成读、ServerSoftwareBlock 在调 | **撤回:属在用的镜像选择功能**,归入「合并 → 服务器」一并考虑 | 不处理 |
| activity_log / relations | 均 0 行;add_activity 无调用点,get_activity 恒为空 | activity.rs、ProjectCard「动态」按钮与活动区、get_project 去掉 recent_activities、projects.rs 删除清理 | 已完成 |
| user-project-todos 个人备忘 | 1 条(表与该行保留在库中,界面不再可见) | user_todos.rs、UserTodoPanel、ProjectCard 入口 | 已完成 |
| github-auth / github-publish 残留 | git_accounts 仅 db.rs 建表、无引用;github_client_* 设置种子 | db.rs 建表、索引与种子删除;publish.rs 改名 local_git.rs(内容是本地 git 与 WSL 路径辅助) | 已完成 |
| NetworkPage 孤儿文件 | `export {}` | 删文件 | 已完成 |
批次 1 数据原则:**不 DROP 表、不删已有行**(可逆);只移除建表语句与读写代码,旧库残留表无害。
### 3b. 需先设计(批次 2,L 级)
| 项 | 为什么不能直接删 | 状态 |
|---|---|---|
| 产品组本体 + product-group-mcp | 约 150 处引用;被当作「已接入」标记(MCP 重注入判断、健康统计、一键接入 product_group_buff 步骤);`list_group_projects` 是 MCP 契约(T1)。须先把接入判定改为项目 token、组→标签迁移(仅 ≥2 成员的组) | 转后续 |
| 旧 `projects` 表 | commit_metrics.rs 仍 LEFT JOIN;deploy_commands 外键指向它;credential_store 测试插入它 | 转后续 |
## 4. 待用户判断
| 项 | 证据 | C | 倾向 | 状态 |
|---|---|---|---|---|
| wsl-proxy + v2rayn-import | 受监控工具 1 个、network_mode_log 0 | 约 1050 行 | 撤或移出炼境(与管家定位无关) | 待用户判断 |
| source-library 源码库 | 2 个项目、4 个版本、0 个分类 | 630 行 | 撤 | 待用户判断 |
| project-templates 项目模板 | 15 个模板 / 151 个文件(未区分是否为种子) | 约 2460 行 | 视实际使用 | 待用户判断 |
| GroupResourceCanvas 资源画布 | canvas_states 6 条 | 约 1370 行 | 随产品组撤 | 待用户判断 |
| claude-autonomy-config | 只读展示 beast-mode「狂暴模式」安装状态(初判「绑 Claude 违反跨 agent」不准确,已从撤销移来) | 约 80 行 + 弹窗 | 视是否还看 | 待用户判断 |
## 5. 对多维表方案的影响
- 标签几乎未用(1 条),预置视图不宜以标签分组为主;优先用已有数据的字段:空间、状态、类型、技术栈、接入状态。
- 项目详情抽屉的子主题 tab 草案:概要 / 蓝图与导师 / 交付(CI、Gitea、PR)/ 环境(工具链、开发变量)/ 部署(服务器)。
## 6. 处理记录
| 日期 | 批次 | 内容 | 证据 |
|---|---|---|---|
| 2026-10-04 | — | 建立台账;核查后更正三处初判(claude-autonomy-config 移入待判断;旧 projects 表、产品组移入批次 2) | 本会话盘点 |
| 2026-10-04 | B1 | 3a 七项完成、server_network_config 撤回;分支 feat/feature-pruning。db.rs 移除 relations/activity_log/project_tools/git_accounts/deploy_commands/user_project_todos/server_host_apps 建表及两段 FK 迁移,不 DROP 旧表 | cargo test 408 通过 0 失败;pnpm typecheck exit 0;被撤 command 全仓 grep 零残留。**未做**:旧库副本迁移实测(复制真实库的命令被拒),待人终验 |