文档
02 决策(ADR)

ADR-0001 文档治理与编号体系

背景

文档分散在多个仓库,存在整份重复(oceanway-studio/docs/oceanway 与 oceanway-docs/oceanway 有 61 个相同文件),决策与进度混写在 263 行的 overview/decisions.mdx,导致决策反复、难以追溯。

决策

  1. oceanway-docs 是需求、设计、架构、决策的唯一事实源;产品仓库只保留 README、AGENTS.md、CHANGELOG 和本地开发说明,并链接文档站。
  2. 文档分三层:组织/品牌(BDOC)、平台(03_平台,按仓库分模块:02_platform=PLAT、03_运行时=RT、04_媒体供应=MG、05_基础设施=INFRA,每个模块统一为 01_总览 / 02_需求与工作包 / 03_设计 / 04_开发 / 05_过程)、产品(04_产品/studio、commerce、site,产品文档 + 开发目录)。仓库自己的开发文档放在所属平台模块的 04_开发 或产品的开发目录下,06_开发 只放跨仓内容(DEV-X)。另有 ADR、DSN(05_设计,对应 Oceanway-design)、PROC、ARCH。仓库与目录对照见 BDOC-03-001。
  3. 目录编号:每一级都用两位数,从 01 开始连续、不留空号;顶层为 01_组织与品牌 / 02_决策 / 03_平台 / 04_产品 / 05_设计 / 06_开发 / 07_过程记录 / 08_归档,以后新增的顶层分类插在归档之前,归档顺延。文档 ID 格式为"前缀-目录两位号-三位流水号",目录号与所在目录一致,永不复用;文件名为 ASCII ID_中文标题.md。
  4. 所有正文都带 front-matter(id、title、status、owner、updated、related_docs、supersedes、superseded_by)。生命周期为 Draft → Proposed → Accepted → Frozen / Deprecated / Superseded → Archived。
  5. 需求链为 PRD → FS → WP。WP 即任务卡;issue 只用于 bug 和外部反馈;PR 标题带 [WP-xxx] 等 ID。
  6. 进度和证据只写在 07_过程记录;旧文档进入 08_归档,只读。
  7. 不设 ID 或文档格式的 CI 门禁;各仓 CI 只跑 build、lint 和单元测试。
  8. 需求优先:代码和历史证据不能反向定义或改变需求;实现与需求不一致时,先改 PRD/FS(或新增 ADR),再改代码。此条来自原 D-PLATFORM-PRODUCT-DRIVEN-DOCS(ADR-0020,2026-10-16 并入本 ADR);原 PL/T/AC 编号不再用于新文档,改用 PRD/FS/WP,历史文档中的 PL/T/AC 编号保留原样。

合并前修订(2026-10-16,zao 确认):第 2、3 条改为按仓库划分平台模块,并采用连续目录编号。本 ADR 尚未合并,故直接修订正文。

后果

  • 正面:决策可追溯,重复内容消除,小团队的流程负担低。
  • 代价:一次性迁移约 5 人日;格式全靠 review 把关,需要定期人工抽查。

备选方案

  • 每个 WP 都开 issue,并用 CI 强制检查 ID:流程过重,否决。
  • 继续保持各仓库自带文档:这正是当前混乱的根源,否决。

On this page