用户目标
- 将
/Users/ar/Projects/ExcalidrawX/Txtflowy 重命名为 /Users/ar/Projects/ExcalidrawX/P1-Txtflowy
- 将 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_modules 约 445M,迁移时必须注意缓存与依赖目录不要错误带入新基线。
三角色结论汇总
项目经理结论
- 不建议现在把“目录改名”和“源码迁移到顶层
src/”绑定在一起做。
- 更低风险路径:
- 先在项目管理层标记
P1-Txtflowy
- 真正的源码独立迁移放到
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/”合并成同一轮。
- 推荐顺序应调整为:
- 冻结当前基线
- 先做
0.6.0 clean extraction
- 验证新链路稳定
- 最后再决定是否把外层目录改名为
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.json、main.js、styles.css
文件变更
- 新增:
/Users/ar/Projects/ExcalidrawX/.codex-sessionhistory/2026-06-25-Txtflowy迁移评估-02.md
未决问题
- 用户是否接受“先 clean extraction,后改目录名”的顺序调整
- 用户希望的
/P1-Txtflowy/src 到底是:
- 顶层唯一活跃源码根
- 还是
src/any-block 一类过渡结构
下一步建议
- 如果用户同意稳健路线,下一轮应先输出一份正式迁移方案:
- 阶段划分
- 冻结清单
- 目标目录结构
- 回滚策略
- 构建/测试迁移步骤