Files
LWLT-AIBOT/archive/project-history/2026-08-16/project-structure-cleanup-plan.md
T

4.2 KiB
Raw Blame History

项目结构收口计划

目标

以运行、构建、测试和当前交付引用为证据,保留项目唯一权威来源,将已过期文档、重复目录和历史运行资料可恢复地归档,保持项目根目录与业务目录清晰。

当前阶段

已完成。

阶段

阶段 1:权威来源与依赖审计

  • 完整读取 开发维护规范.md 与 HANDOFF.md
  • 建立项目目录、构建入口、测试入口和引用关系清单
  • 标记当前、历史、生成物和不确定项
  • 状态: 已完成

阶段 2:归档方案

  • 确定可恢复归档目标和目录映射
  • 排除运行、构建、测试及交付必需内容
  • 状态: 已完成

阶段 3:执行归档

  • 移动明确过期资料与目录
  • 更新当前导航与归档说明
  • 状态: 已完成

补充审计:当前版本已为 0.5.123,dist/ 中残留的 0.5.122 插件包和生命周期历史 run-manifest.json 也纳入本阶段归档。

阶段 4:验证与收尾

  • 验证当前交付物、测试/构建入口及文档链接
  • 确认根目录和主要目录不再混放历史内容
  • 将本次计划归档,避免根目录新增长期噪声
  • 状态: 已完成

验证发现:活动 Markdown 已无断链;归档仍有旧相对链接和遗漏 live-inputs/;0.5.123 两个包相同但哈希与 HANDOFF 记录不一致,需继续核验。

验证进展:上述归档链接与 live-inputs/ 已处理;全项目 107 个 Markdown 链接通过;TypeScript、控制面 37/37、全量业务回归 189/189 通过;0.5.123 ZIP 与源码逐文件一致。剩正式构建、最终状态/引用复核和计划归档。

正式构建已通过;活动交付物唯一性、0.5.123 版本/别名一致性和根目录职责复核通过。剩 Skill/DOCX 包完整性、安全扫描、最终 diff 状态与计划归档。

Skill 包审计发现 lwlt-updating-0.5.118.skill 的 references/operation-contract.md 与源码有唯一内容差异;先判定哪一侧是当前权威,再完成制品收口。

该差异已按 parse-only 权威边界收口,五个 Skill 与包逐文件一致并全部通过 quick_validate.py。剩最后一次回归/diff 检查和计划归档。

最终检查:全量业务回归 189/189、控制面 37/37、TypeScript check/build、107 个 Markdown 本地链接、git diff --check、五个 Skill 校验/包一致性、DOCX/ZIP 完整性及当前交付物唯一性全部通过。本计划随后移动至 archive/project-history/2026-08-16/。

判定原则

决策 理由
HANDOFF.md、维护规范、当前源码、测试与 dist/ 当前交付物保留 它们定义或支撑当前链路
历史证据、旧研究、旧计划和旧制品只移动到 archive/ 保持可追溯、可恢复
有引用但事实过期的文件先修正引用或保留,不直接移动 防止破坏构建、测试和交接
不删除用户文件,不清理 node_modules、环境配置或数据库状态 不扩大本次项目结构整理的授权范围

错误记录

错误 尝试 处理
一次组合式 rg 引用检索因 zsh 正则中的括号/引号解析失败 1 未产生文件变更;改用固定字符串与分项检索,避免 shell 解释歧义
普通 PATH 中没有 node,定向测试未启动(exit 127) 1 未产生测试副作用;改用 Codex 工作区依赖提供的 Node 运行时
首次内联 Markdown 链接检查命令被外层 JavaScript 模板字符串中的反引号/插值干扰 1 未调用 shell、未产生文件变更;改用纯字符串拼接后成功运行
ZIP 临时解压核验命令含受工具策略禁止的 rm -rf 清理 1 命令在启动前被拒绝、未产生临时目录;改用 unzip -p 进程替换逐文件比较,无需落盘或删除
quick_validate.py 使用工作区 Python 启动时缺少 yaml 模块 1 在 import 阶段停止、未修改文件或环境;定位已有 PyYAML 模块路径后重跑,不联网安装
最终检查仍要求废纸篓中的 .DS_Store/空 runtime 残留存在 1 归档文件均存在;系统已清走废纸篓中的纯元数据残留。更正维护记录,不把临时系统元数据表述为长期可恢复归档