edit | blame | history | raw

用户目标

  • 评估两个动作是否适合现在执行:
  1. /Users/ar/Projects/ExcalidrawX/Txtflowy 重命名为 /Users/ar/Projects/ExcalidrawX/P1-Txtflowy
  2. 将 Txtflowy 源代码独立管理到 /Users/ar/Projects/ExcalidrawX/P1-Txtflowy/src
  • 要求从项目经理、架构师、代码审核员三个视角做只读评估,不直接改代码或迁移目录。

当前起点

  • 当前物理目录:/Users/ar/Projects/ExcalidrawX/Txtflowy
  • 外层 Git 根:/Users/ar/Projects/ExcalidrawX
  • 外层当前分支:codex/mindraw-0.7.2-image-quality
  • 外层 Git 视角下:Txtflowy/ 整体仍是未跟踪目录
  • 内层独立 Git 仓库:/Users/ar/Projects/ExcalidrawX/Txtflowy/any-block/.git
  • 内层当前分支:Txtflowy
  • 内层 remote:https://github.com/any-block/any-block.git

已完成事项

  • 读取并遵守全局与项目规则:
  • ~/.codex/AGENTS.md
  • /Users/ar/Projects/ExcalidrawX/AGENTS.md
  • ~/.codex/rules/pre-implementation-discussion.md
  • ~/.codex/rules/code-governance.md
  • ~/.codex/rules/work-continuity.md
  • ~/.codex/rules/delivery-gate.md
  • ~/.codex/rules/session-memory.md
  • 只读核查当前目录结构、Git 边界、构建入口、文档路径耦合、Obsidian 本地测试路径。
  • 并行拉起 3 个子角色做评估:
  • 项目经理
  • 架构师
  • 代码审核员

关键事实

  • Txtflowy 顶层并不是独立 Git 仓库,真正受 Git 管理的是嵌套的 any-block/
  • 当前构建与产物输出仍强绑定 any-block/
  • any-block/package.json
  • any-block/src/Obsidian/package.json
  • any-block/src/Obsidian/esbuild.config.mjs
  • Obsidian 本地安装文档仍写死 Txtflowy/any-block 为构建来源路径。
  • 项目文档中有大量硬编码路径依赖:
  • Txtflowy/any-block/...
  • /Users/ar/Projects/ExcalidrawX/Txtflowy/...
  • Txtflowy/ 体积约 543M,其中 any-block/node_modules445M,迁移时必须注意缓存与依赖目录不要错误带入新基线。

三角色结论汇总

项目经理结论

  • 不建议现在把“目录改名”和“源码迁移到顶层 src/”绑定在一起做。
  • 更低风险路径:
  1. 先在项目管理层标记 P1-Txtflowy
  2. 真正的源码独立迁移放到 0.6.0 clean extraction

架构师结论

  • 可以把 Txtflowy 未来整理成独立治理单元,但不适合把当前 any-block 现状直接等价搬成 P1-Txtflowy/src
  • 更稳妥的长期目标结构:
  • src/core
  • src/renderer
  • src/editor
  • src/obsidian
  • archive/any-block-fork

代码审核员结论

  • 只改名:中风险
  • 改名 + 同轮源码独立到 src/:高风险
  • 当前更合理路径是:先 clean extraction,再考虑是否改外层目录名。

本轮关键决策

  • 不建议立即执行用户提出的两个动作。
  • 尤其不建议把“改名”和“源码迁移到 src/”合并成同一轮。
  • 推荐顺序应调整为:
  1. 冻结当前基线
  2. 先做 0.6.0 clean extraction
  3. 验证新链路稳定
  4. 最后再决定是否把外层目录改名为 P1-Txtflowy

风险摘要

  • Git 边界分裂:外层未纳管,内层独立仓
  • 构建链仍依赖 AnyBlock runtime 和相对路径
  • 文档、需求、测试说明存在大量路径耦合
  • 当前 QA 仍以本地构建 + 手工 smoke 为主,自动化护栏较弱
  • 直接迁移到根级 src/ 存在语义歧义:
  • 是把 any-block 整体放进 src/
  • 还是只抽取 Txtflowy 活跃源码到 src/

建议的前提条件

  • 明确最终 Git 边界:P1-Txtflowy 是否成为真正独立仓库
  • 冻结并备份:
  • 整个 Txtflowy/
  • any-block/ 当前工作树
  • 当前可安装构建产物
  • Obsidian 本地插件副本
  • 先定义新源码结构和构建入口
  • 先盘点并更新所有硬编码路径
  • 先明确插件对外契约保持不变:
  • 插件 id:txtflowy
  • 安装目录:<Vault>/.obsidian/plugins/txtflowy/
  • 构建产物:manifest.jsonmain.jsstyles.css

文件变更

  • 新增:
  • /Users/ar/Projects/ExcalidrawX/.codex-sessionhistory/2026-06-25-Txtflowy迁移评估-02.md

未决问题

  • 用户是否接受“先 clean extraction,后改目录名”的顺序调整
  • 用户希望的 /P1-Txtflowy/src 到底是:
  • 顶层唯一活跃源码根
  • 还是 src/any-block 一类过渡结构

下一步建议

  • 如果用户同意稳健路线,下一轮应先输出一份正式迁移方案:
  • 阶段划分
  • 冻结清单
  • 目标目录结构
  • 回滚策略
  • 构建/测试迁移步骤