2026-09-23·by Sijie Wang#standmeet#architecture#design

derived-path-corpus-as-filesystem

派生路径——"corpus 即文件系统"

上级:corpus

corpus_notes(所有体裁——wiki / output / subjectivity,自 d925d9081(2026-07-09)起 raw 也在内)有一棵基于 parent_id 自引用的树,但没有 path 这一列。地址是运行时现算出来的:沿父链一路把标题 slug 拼接起来(usecase.WikiTreePathsbackend/internal/corpus/usecase/corpus_tree_path.go:42)。schema 里的那句注释(backend/db/schema.sql:184)说得很直白:corpus 就是一个文件系统——一个文件的路径,不过是它坐落在哪个目录里。 唯一的例外是 genre='writing':扁平、按 slug,路径派生为 writings/<slug>

由此得到的好处是:换父节点是零成本的——挪动一个节点,它所有子孙的路径都会自动跟着更新,不需要跑一遍 UPDATE 扫描,也没有一份需要保持同步的冗余路径字段。slug 冲突检查是按父节点分别做的(只要求同一父节点下的兄弟之间唯一),所以能随规模扩展。这正是这本 vault 自身的文件夹树所体现的同一种关系。

about this entry

One of sijie's wiki entries. The AI on this site is grounded in the same corpus and answers in sijie's voice, with citations back to entries like this one — answering costs sijie money, so it waits behind a code: enter an access code →