支柱一·语料库(资产)
父级:key-designs
这是主理人的知识库——护城河所在。一张表 corpus_notes,带一列 genre(raw / wiki / output / subjectivity / writing)——三层仍然是 raw→wiki→output(与 Obsidian vault 的 raw→wiki→output 同构),但原来分开的 raw_entries / wiki_entries / output_entries / writings 几张表已在 2026-07-09 折进这一个结构(d925d9081 raw、bfb8c7129 writings;backend/db/schema.sql:189)。一棵 parent_id 派生路径树(不存 path 列,重新挂载父节点零成本),以及从 [[wikilinks]] 声明式重建的 note_refs 反链边表(2026-07-06 由 wiki_refs 改名,4fc769d61)。字段:excerpt(原名 summary)、published(原名 seo_indexed)。目前的入口(ingress)= 整库 SyncVault(raw + writing + wiki/subjectivity + CSS)+ writings 的导出/导入 + 管理员直接写入;出口(egress)= 落地页/阅读器(app/src/app/wiki|output|writings)与 agent 的检索工具。
现状: corpus-as-vault 这一块已经落地——三个面都已建成:feed(SyncVault 打通 raw + writing + wiki/subjectivity + .obsidian CSS;output 仍是 promote 派生的;反向导出自 2026-07-29 起把 wiki/subjectivity/output 按 genre 文件夹 + 树 + folder-note 写回 vault——backend/internal/corpus/obsidian/export_corpus.go,9f1ffcf13——与 writings/<slug>.md 并列)、crawl(Meili 全文检索 + 基于 note_refs 的 corpus_links 一跳查询,ACL 在查询里做)、render(KaTeX + Mermaid + callouts + TikZ + widgets)。sync 现在已经是一个 sync 模式的 connector(backend/internal/connector/obsidian.go)。
数据模型(ER)
刻意保留两套链接体系:语料库树用 note_refs,writings 用 writing_refs——两者都是声明式重建的,从不手工维护(backlinks-as-rebuilt-edge-tables)。writings 与语料库分层之间的区别是一个常设的易混点(confusables)——即便现在两者都是 corpus_notes 里的行,writing 的寻址仍是扁平、按 slug 的,而 wiki/output 的路径由树派生。
media_assets(三个 genre 外键、零个写者)已经删掉;素材现在住在 owner 范围的全局素材池里——assets + asset_references,被引用的素材不能删(d81d2782a,2026-09-05;backend/db/schema.sql:585-613)。
子条目
- corpus-diagram-coverage — 图表覆盖台账。
- derived-path-corpus-as-filesystem —
parent_id树,路径是派生的而非存储的。 - three-tier-corpus-promotion — raw→wiki→output 作为整理管线。
- backlinks-as-rebuilt-edge-tables —
note_refs/writing_refs,声明式重建。 - global-asset-pool — 一个 owner 范围的
assets池 + 每次保存从内容重算的asset_references;被引用的素材拒绝删除并点名引用者。 - corpus-retrieval —— Meilisearch 词法(Postgres FTS 作退路)+ 树 +
corpus_links(1 跳,深度由 agent 决定 —— BFS 是错的心智模型)。不用向量检索,这是刻意的选择。 - writings-import-export — obsidian 子系统:zip 布局、发布闸门、source-path/slug 幂等性(web-edit 防护已经没了——vault 是唯一的活数据源)、整批链接解析;身份以标题为键,而重命名故意产生孤儿。
- obsidian-sync-mechanism —— 同步设计(protocol / vault-ingestion / rendering-and-extensibility);所有体裁双向都已接通,而且现在是以 sync 模式连接器的身份在跑。
- rendering-engines —— 渲染对称性:KaTeX · Mermaid · TikZ · callouts · widgets,全部已上线。