depa-codument 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +262 -0
  3. package/package.json +63 -0
  4. package/src/cli/commands/archive.ts +519 -0
  5. package/src/cli/commands/decisions.ts +123 -0
  6. package/src/cli/commands/engineering.ts +105 -0
  7. package/src/cli/commands/init.ts +54 -0
  8. package/src/cli/commands/list.ts +73 -0
  9. package/src/cli/commands/modeling.ts +105 -0
  10. package/src/cli/commands/show.ts +238 -0
  11. package/src/cli/commands/status.ts +140 -0
  12. package/src/cli/commands/upgrade-track.ts +385 -0
  13. package/src/cli/commands/upgrade-workspace.ts +138 -0
  14. package/src/cli/commands/validate.ts +330 -0
  15. package/src/cli/engineering/config.ts +68 -0
  16. package/src/cli/engineering/lint.ts +58 -0
  17. package/src/cli/engineering/merge.ts +172 -0
  18. package/src/cli/engineering/registry.ts +230 -0
  19. package/src/cli/engineering/schema.ts +126 -0
  20. package/src/cli/engineering/validate.ts +286 -0
  21. package/src/cli/index.ts +136 -0
  22. package/src/cli/modeling/config.ts +68 -0
  23. package/src/cli/modeling/lint.ts +58 -0
  24. package/src/cli/modeling/merge.ts +172 -0
  25. package/src/cli/modeling/registry.ts +229 -0
  26. package/src/cli/modeling/schema.ts +160 -0
  27. package/src/cli/modeling/validate.ts +282 -0
  28. package/src/cli/utils/index.ts +941 -0
  29. package/src/cli/utils/install.ts +291 -0
  30. package/src/cli/utils/spec-xml.ts +673 -0
  31. package/src/cli/utils/track-time.ts +75 -0
  32. package/src/cli/utils/vfs.ts +102 -0
  33. package/src/templates/codument/README.md +59 -0
  34. package/src/templates/codument/attractors/product.md +17 -0
  35. package/src/templates/codument/attractors/project.md +10 -0
  36. package/src/templates/codument/backlog/README.md +33 -0
  37. package/src/templates/codument/config/attractor-profiles.xml +31 -0
  38. package/src/templates/codument/config/engineering.xml +22 -0
  39. package/src/templates/codument/config/modeling.xml +22 -0
  40. package/src/templates/codument/config/operation-hooks.xml +55 -0
  41. package/src/templates/codument/memory/README.md +13 -0
  42. package/src/templates/codument/missions/README.md +125 -0
  43. package/src/templates/codument/sop/README.md +14 -0
  44. package/src/templates/codument/std/AGENTS.md +82 -0
  45. package/src/templates/codument/std/attractors/depa-attractor.md +572 -0
  46. package/src/templates/codument/std/attractors/knowledge-tiers.md +128 -0
  47. package/src/templates/codument/std/attractors/model-driven-docs.md +293 -0
  48. package/src/templates/codument/std/attractors/project-memory.md +48 -0
  49. package/src/templates/codument/std/docs-impl-fractal/index.md +110 -0
  50. package/src/templates/codument/std/docs-modeling-fractal/index.md +156 -0
  51. package/src/templates/codument/std/kernel-pointer.md +19 -0
  52. package/src/templates/codument/std/operations/README.md +30 -0
  53. package/src/templates/codument/std/operations/_operation-spec.md +41 -0
  54. package/src/templates/codument/std/operations/archive-mission.md +66 -0
  55. package/src/templates/codument/std/operations/archive-track.md +238 -0
  56. package/src/templates/codument/std/operations/artifact-sync.md +172 -0
  57. package/src/templates/codument/std/operations/discuss-phase.md +214 -0
  58. package/src/templates/codument/std/operations/discuss.md +87 -0
  59. package/src/templates/codument/std/operations/docs-bootstrap.md +148 -0
  60. package/src/templates/codument/std/operations/gap-loop.md +301 -0
  61. package/src/templates/codument/std/operations/impl-mission.md +167 -0
  62. package/src/templates/codument/std/operations/impl-quick.md +79 -0
  63. package/src/templates/codument/std/operations/impl-track.md +537 -0
  64. package/src/templates/codument/std/operations/migrate.md +337 -0
  65. package/src/templates/codument/std/operations/plan-mission.md +230 -0
  66. package/src/templates/codument/std/operations/plan-track-wave.md +231 -0
  67. package/src/templates/codument/std/operations/plan-track.md +579 -0
  68. package/src/templates/codument/std/operations/revise-track.md +136 -0
  69. package/src/templates/codument/std/operations/validate.md +339 -0
  70. package/src/templates/codument/std/operations/verify.md +184 -0
  71. package/src/templates/codument/std/root-agents.md +39 -0
  72. package/src/templates/codument/std/sop/questioning.md +98 -0
  73. package/src/templates/codument/std/sop/tdd.md +26 -0
  74. package/src/templates/codument/std/sop/validation.md +25 -0
  75. package/src/templates/codument/std/sop/wave-exec.md +42 -0
  76. package/src/templates/codument/std/sop/workflow.md +35 -0
  77. package/src/templates/codument/std/spec/behavior-delta.md +36 -0
  78. package/src/templates/codument/std/spec/behavior-registry.md +42 -0
  79. package/src/templates/codument/std/spec/engineering-delta.md +68 -0
  80. package/src/templates/codument/std/spec/engineering-node-schema.md +86 -0
  81. package/src/templates/codument/std/spec/engineering-registry.md +82 -0
  82. package/src/templates/codument/std/spec/flow-notation.md +93 -0
  83. package/src/templates/codument/std/spec/folder-manifest.md +99 -0
  84. package/src/templates/codument/std/spec/mission-xml-spec.md +249 -0
  85. package/src/templates/codument/std/spec/modeling-delta.md +85 -0
  86. package/src/templates/codument/std/spec/modeling-node-schema.md +183 -0
  87. package/src/templates/codument/std/spec/modeling-registry.md +49 -0
  88. package/src/templates/codument/std/spec/track-xml-spec.md +272 -0
  89. package/src/templates/codument/std/spec/xnl-format.md +301 -0
  90. package/src/templates/codument/workflows/README.md +15 -0
  91. package/src/templates/manifest.ts +177 -0
  92. package/src/templates/skills/README.md +38 -0
  93. package/src/templates/skills/codument-archive/SKILL.md +17 -0
  94. package/src/templates/skills/codument-archive-mission/SKILL.md +17 -0
  95. package/src/templates/skills/codument-archive-track/SKILL.md +17 -0
  96. package/src/templates/skills/codument-artifact-sync/SKILL.md +17 -0
  97. package/src/templates/skills/codument-code-quality-score/SKILL.md +67 -0
  98. package/src/templates/skills/codument-decision-tree/SKILL.md +40 -0
  99. package/src/templates/skills/codument-discuss/SKILL.md +17 -0
  100. package/src/templates/skills/codument-discuss-phase/SKILL.md +17 -0
  101. package/src/templates/skills/codument-docs-bootstrap/SKILL.md +17 -0
  102. package/src/templates/skills/codument-gap-loop/SKILL.md +17 -0
  103. package/src/templates/skills/codument-impl-mission/SKILL.md +17 -0
  104. package/src/templates/skills/codument-impl-quick/SKILL.md +17 -0
  105. package/src/templates/skills/codument-impl-track/SKILL.md +17 -0
  106. package/src/templates/skills/codument-implement/SKILL.md +14 -0
  107. package/src/templates/skills/codument-migrate/SKILL.md +17 -0
  108. package/src/templates/skills/codument-modeling-engineering-e2e/SKILL.md +74 -0
  109. package/src/templates/skills/codument-plan-mission/SKILL.md +17 -0
  110. package/src/templates/skills/codument-plan-track/SKILL.md +17 -0
  111. package/src/templates/skills/codument-plan-track-wave/SKILL.md +17 -0
  112. package/src/templates/skills/codument-revise-track/SKILL.md +17 -0
  113. package/src/templates/skills/codument-track/SKILL.md +14 -0
  114. package/src/templates/skills/codument-validate/SKILL.md +17 -0
  115. package/src/templates/skills/codument-verify/SKILL.md +17 -0
  116. package/src/types/text-assets.d.ts +9 -0
  117. package/src/version.ts +1 -0
@@ -0,0 +1,128 @@
1
+ # Knowledge Tiers & 信息晋升(std/attractors/knowledge-tiers.md)
2
+
3
+ > codument 的**知识分层地图 + 信息晋升阶梯 + 真源优先级**。它回答三个问题:
4
+ > 1. 一条信息该落到哪个目录(**分层与职责**);
5
+ > 2. 它什么时候、怎样从临时记录**晋升**为长期真源(**晋升阶梯**);
6
+ > 3. 事实冲突时谁说了算(**真源优先级**)。
7
+ >
8
+ > 借鉴 attractor-guided-engineering 的"目录职责 + 源真优先级 + 信息晋升"纪律,按 codument 的 **track 中心**模型重构。具体文件级目录规范见 [model-driven-docs.md](./model-driven-docs.md) 与 [std/spec/folder-manifest.md](@codument/std/spec/folder-manifest.md)。
9
+
10
+ ## 1. 心法:attractor / carrier / projection 三层
11
+
12
+ - **attractor(吸引子本身)**:少量高层不变量——领域如何划界、行为契约、结构关系。
13
+ - **carrier(吸引子的载体)**:把不变量外化成可版本化、可审计的文档——即 `attractors/` + `docs/modeling/` + `docs/impl/` + `behaviors/` + `decisions/`。**长期 owner 文档 = 吸引子的载体。**
14
+ - **projection(瞬时投影)**:当前代码/测试——吸引子的瞬时实现。
15
+
16
+ > 推论:chat 是临时上下文,**文件才是仓库记忆**。重要输入先落文件再 `@`;重要结论按职责分类写回,而不是留在对话里。track 是一次迭代的轨迹;轨迹中稳定下来的真理必须**收敛**进 owner 文档。
17
+
18
+ ## 2. 知识分层表
19
+
20
+ | 层 | 目录 | 装什么 | 时效 | 是谁的真源 |
21
+ |---|---|---|---|---|
22
+ | 结构不变量 | `attractors/` | project/product 吸引子、本表、docs 规范 | 稳定·就地改 | 高层不变量、知识纪律 |
23
+ | 领域本体 | `docs/modeling/` | canonical + derived 建模真源 | 稳定·就地改 | "当前领域本体是什么" |
24
+ | 实现/运维 | `docs/impl/` | 架构、howto、规则、参考、排障 | 稳定·就地改 | "实现与维护怎么做" |
25
+ | 能力契约 | `behaviors/`(`codument/behaviors/`) | 行为登记表(行为 case、测试生成依据) | 稳定·就地改 | "系统对外承诺什么行为" |
26
+ | 承重决策 | `decisions/`(`decision://`) | 从 track 提升的长期决策 | 稳定·追加 | "为什么这么定" |
27
+ | 长期教训 | `memory/`(`memory://`) | lessons / incidents / patterns / summaries | 稳定·追加 | "反复踩的坑 / 复用模式" |
28
+ | 候选工作 | `backlog/` | 跨 track 的下一步候选 + 自主度 | 活的·就地改 | "下一个该做什么"(非真源) |
29
+ | 跨 track 路线 | `missions/<id>/roadmap.md` | 一组相关 track 的阶段路线、依赖、进度证据 | 活的·就地改 | "多个 track 如何排布"(非行为真源) |
30
+ | 迭代工作面 | `tracks/<id>/` | proposal、design、discussion、`track.xml`、`behavior_deltas/`、`analysis/`、`decisions*`、`reports/` | **带日期·迭代内可变** | "本次要建什么 / 怎么收口 / 发生了什么" |
31
+ | 轨迹历史 | `archive/YYYY-MM/...` | 已完成 track | **带日期·归档后不可变** | "历史上做过什么" |
32
+
33
+ > 工具性目录(`std/`、`config/`、`workflows/`、`sop/`)不是知识层,不在晋升阶梯内。
34
+
35
+ ## 3. AGE 扁平类目 → codument 层级映射
36
+
37
+ attractor-guided-engineering 把这些都摊在 `docs/` 根下;codument 把**迭代类**收进 `tracks/`、把**持久类**收进 fractal 子目录或 tier。**关键判断:凡是 fractal(modeling/impl 的类目)或某 tier 已覆盖的,codument 就不在 `docs/` 根另设 AGE 式顶层目录。**
38
+
39
+ **持久 / owner 类(A 档)——已被 fractal 子目录 / tier 覆盖,不需另设 docs 顶层目录:**
40
+
41
+ | AGE 持久目录 | codument 已有对应(就地) | 载体类型 |
42
+ |---|---|---|
43
+ | `docs/context/` 强制上下文 + 源真优先级 + 约定 | `attractors/project.md`·`product.md` + 本文件(优先级);工程约定→`docs/impl/global/rules/` | tier(attractors) |
44
+ | `docs/design/` 应用层 owner | `docs/modeling/`(domain 的 `objects/`·`policies/`·`workflows/`)+ `behaviors/` | **fractal** + tier |
45
+ | `docs/architecture/` 技术基线 + 边界 | `docs/impl/global/overview/` + `docs/impl/<plane>/overview/` + `.../rules/` + `code-map.md` | **fractal** |
46
+ | `docs/references/` 查阅 + code map + API/schema/兼容表 | `docs/impl/<plane>/reference/` 类目 + modeling `code-map.md` | **fractal** |
47
+ | `docs/lessons/` durable 教训 | `codument/memory/`(lessons/incidents/patterns) | tier(memory) |
48
+ | `docs/examples/` 示例 + 骨架 | 文档内示例→`docs/impl/<plane>/examples/`;工作文档骨架→`std/operations/plan-track.md` + `std/spec/track-xml-spec.md` 的内嵌示例 | **fractal** + std |
49
+ | `docs/process/` 流程/规程 | `codument/sop/`(`std/sop/` 内置 + 顶层 `sop/` 自定义) | sop |
50
+ | `docs/skills/` 可复用 prompt/playbook | `std/operations/`(操作)+ `std/sop/`(规程)+ attractor-check profile | std |
51
+
52
+ **迭代 / 轨迹类(B/C 档)——收进 `tracks/`,归档后沉淀:**
53
+
54
+ | AGE 类目 | codument 落点 |
55
+ |---|---|
56
+ | `docs/input/` 原始输入 | `tracks/<id>/`(proposal 前的原始材料)/ track 描述 |
57
+ | `docs/discussions/` 澄清 | `tracks/<id>/`(discuss 记录);协议见 `std/sop/questioning.md` |
58
+ | `docs/requirements/` 可实现需求 | `tracks/<id>/proposal.md` + `behavior_deltas/` |
59
+ | `docs/plans/` 执行与收口 | `track.xml`(TaskSpace/Schedule/Hooks) |
60
+ | `docs/logs/` `docs/audits/` `docs/testing/` 证据 | `tracks/<id>/reports/` + `archive/` |
61
+ | `docs/bugs/` `docs/retrospectives/` | 复发的进 `memory/`(incidents/patterns) |
62
+ | `docs/backlog/` 候选工作 | `codument/backlog/README.md`(候选 + 自主度,活的清单,非 owner 真源) |
63
+ | 跨 track roadmap / mission | `codument/missions/<id>/roadmap.md`(阶段路线 + 依赖 + 证据,非 owner 真源) |
64
+
65
+ > 只有 `context`→`attractors/`、`lessons`→`memory/` 不靠 fractal 而靠 tier——因为它们跨领域、不属于某个 modeling/impl 平面。其余持久类都落在 fractal 类目里。
66
+
67
+ ## 4. 信息晋升阶梯(核心)
68
+
69
+ 信息从"临时"走向"长期"的固定路径。每一跳都有**触发条件**——满足才晋升,避免把临时噪音沉淀成真源,也避免让真理烂在 chat / track 里。
70
+
71
+ ```text
72
+ 外部输入 / 对话
73
+ │ [建 track / discuss 时,落文件]
74
+
75
+ tracks/<id>/ ── proposal.md · design.md · discussion · behavior_deltas/ · track.xml · reports/
76
+
77
+ ├─[行为变更]──────────────▶ behaviors/ (归档必做:delta 应用进登记表)
78
+
79
+ ├─[稳定领域知识]──────────▶ docs/modeling/ + docs/impl/ ★ 要补强的弱环
80
+ │ 触发:需求澄清后概念/对象/字段语义/生命周期/policy/workflow/架构已稳定
81
+ │ 时机:discuss 期即可**实时**更新(不必等归档);归档时兜底补齐
82
+
83
+ ├─[承重的一次性决策]──────▶ decisions/ (decision://)
84
+
85
+ └─[可复用教训 / gap 模式]──▶ memory/ (lessons/incidents/patterns)
86
+
87
+ └─[同类问题跨多 track 复发]──▶ 方法层:std/sop/ · std/operations/ · attractor-profile check · operation-hook · validation 守卫
88
+ (codument 版 "prose 教训 → 可复用方法 → 固化检查";先 sop/prompt,再考虑固化为 check/hook)
89
+ ```
90
+
91
+ ## 5. 何时晋升(触发条件表)
92
+
93
+ | 从 → 到 | 触发 |
94
+ |---|---|
95
+ | track → `docs/modeling`/`docs/impl` | 需求澄清后某概念/行为/policy/workflow/架构**稳定**,将成为后续迭代依赖的基线 → 收敛进 owner 文档,**不要只留在 proposal** |
96
+ | track → `behaviors/` | 任何对外行为新增/变更(归档必做) |
97
+ | track → `decisions/` | 一个原本一次性的取舍变成"以后都按这个来"的承重决策 |
98
+ | track/复盘 → `memory/` | 出现可复用的教训、非显然的 incident、值得记住的 pattern |
99
+ | `memory/` → 方法层(sop/skill/check) | **同一类问题反复出现**:先提炼为可复用 sop/prompt;若仍复发,再固化为 attractor-check profile / operation-hook / validation 守卫(按项目误报容忍度调优) |
100
+ | 任意 → `migration-map` | owner 文档路径移动/拆分/合并/被吸收 |
101
+
102
+ > 反向**不**晋升:被否决的方案、未稳定的猜测、纯过程噪音留在 track / `memory` 即可,不污染 owner 文档。
103
+
104
+ ## 6. 真源优先级(冲突时谁赢)
105
+
106
+ | 问题 | 主真源 |
107
+ |---|---|
108
+ | 当前领域本体是什么 | `docs/modeling/`(canonical);能力契约看 `behaviors/` |
109
+ | 可执行真相(数据/接口/schema) | 源码 / 测试 / schema / config(owner 文档只解释意图) |
110
+ | 本次 track 要建什么 | `tracks/<id>/proposal.md` + `behavior_deltas/` |
111
+ | 本 track 怎么执行/收口 | `tracks/<id>/track.xml` |
112
+ | 实现/运维怎么做 | `docs/impl/` |
113
+ | 发生了什么 | `tracks/<id>/reports/` + `archive/` |
114
+ | 长期必须为真 | `docs/modeling/` + `docs/impl/` + `behaviors/` + `decisions/` + `attractors/` |
115
+
116
+ **冲突裁决**:可执行真源(源码/测试/schema)> owner 文档(需重新校验后才是吸引子)> track 局部 > chat。若解冲突会改变用户可见行为 / 数据形状 / 接口 / 权限 / 外部集成 → **停下确认**,并把冲突归类为 `实现漂移 | 文档漂移 | 有意的遗留行为` 写进 track 再动。
117
+
118
+ ## 7. 时效性
119
+
120
+ - **稳定 owner 层**(attractors / docs/modeling / docs/impl / behaviors / decisions):**就地更新**,不因内容变化就新建带日期副本;带受控 frontmatter(`last_verified`,schema 见 model-driven-docs.md)。
121
+ - **迭代/轨迹层**(tracks / archive / reports):带日期;归档后不可变。
122
+ - **新鲜度模式**:owner 文档标 `stale|unknown` 时,进入研究/对齐优先——不直接拿可执行真相去"修"文档、也不拿陈旧文档去"改"代码,先把漂移归类记录。
123
+
124
+ ## 8. 路由
125
+
126
+ - 文件级目录规范(modeling/impl 怎么写、frontmatter):[model-driven-docs.md](./model-driven-docs.md) → [docs-modeling-fractal](@codument/std/docs-modeling-fractal/index.md) / [docs-impl-fractal](@codument/std/docs-impl-fractal/index.md)。
127
+ - 每个标准文件夹"装什么"的自描述与补齐:[std/spec/folder-manifest.md](@codument/std/spec/folder-manifest.md)。
128
+ - 晋升动作落在流程里:归档晋升见 `std/operations/archive-track.md`;docs 同步见 `std/operations/artifact-sync.md`;澄清期实时更新见 `std/sop/questioning.md`。
@@ -0,0 +1,293 @@
1
+ # Docs Knowledge Attractor
2
+
3
+ ## 目的
4
+
5
+ 当 docs profile 启用时,本文件是项目知识维护的入口 attractor。
6
+
7
+ 文档系统由两套并列的分形标准组成:
8
+
9
+ ```text
10
+ docs/modeling/ # 建模真源与派生建模
11
+ docs/impl/ # 实现、操作、示例、参考、排障知识
12
+ ```
13
+
14
+ 创建或更新 docs 前,必须先阅读详细标准:
15
+
16
+ - [docs-modeling-fractal/index.md](@codument/std/docs-modeling-fractal/index.md):`docs/modeling/` 的规范标准。
17
+ - [docs-impl-fractal/index.md](@codument/std/docs-impl-fractal/index.md):`docs/impl/` 的规范标准。
18
+
19
+ 本文件只保留路由规则、通用元数据、track 同步检查清单。不要把具体建模文件模板或实现平面细则塞回本文件;这些内容应维护在两份分形标准中。
20
+
21
+ > **上层语义**:一条信息该落 `docs/` 还是 track/behaviors/decisions/memory、何时从 track **晋升**进 owner 文档、冲突时谁是真源——见 [knowledge-tiers.md](./knowledge-tiers.md)。每个标准文件夹"装什么"由其 `index.md` 的**目录职责块**就地声明,规范与补齐见 [std/spec/folder-manifest.md](@codument/std/spec/folder-manifest.md)。
22
+
23
+ ## 真源边界
24
+
25
+ 保持这些真源互相分离:
26
+
27
+ - `codument/behaviors/`:能力契约(行为)注册表,面向行为 case 与测试生成。
28
+ - 源码、测试、配置:可执行真源。
29
+ - `docs/modeling/`:规范化建模真源与派生建模。
30
+ - `docs/impl/`:实现与运维知识。
31
+ - `codument/decisions/`:从 track 局部决策中提升出的长期决策。
32
+ - `codument/memory/`:长期 lessons、incidents、patterns、summaries。
33
+
34
+ `docs/` 不应复制全部 behavior 或全部代码。它保存的是本体、心智模型、派生设计、实现指导、运维知识,以及让 AI 从知识进入代码的 code map。
35
+
36
+ ## 根结构
37
+
38
+ 默认根结构:
39
+
40
+ ```text
41
+ docs/
42
+ index.md
43
+ migration-map.md
44
+ _assets/
45
+ modeling/
46
+ impl/
47
+ ```
48
+
49
+ 规则:
50
+
51
+ - `docs/modeling/` 与 `docs/impl/` 是根层唯一两套正式知识系统。
52
+ - `docs/migration-map.md` 是根级迁移台账,不是知识平面。
53
+ - `docs/_assets/` 保存辅助资产,不是正式正文真源。
54
+ - implementation plane 必须放在 `docs/impl/` 下。
55
+ - modeling plane 必须放在 `docs/modeling/` 下。
56
+
57
+ Good:
58
+
59
+ ```text
60
+ docs/modeling/
61
+ docs/impl/global/
62
+ docs/impl/runtime/
63
+ docs/impl/commands/
64
+ ```
65
+
66
+ Bad:
67
+
68
+ ```text
69
+ docs/modeling/
70
+ docs/<global-implementation-knowledge>/
71
+ docs/<implementation-plane>/
72
+ ```
73
+
74
+ ## 通用 Frontmatter(受控精简 schema)
75
+
76
+ 每份正式 Markdown 文档以 frontmatter 开头。**保持小而稳**——下面是唯一允许的字段集,不要再加数组型大字段。
77
+
78
+ 固定字段(每份文档都写):
79
+
80
+ ```yaml
81
+ ---
82
+ knowledge_plane: domain # 平面名;docs/modeling|impl 已由路径表达 system,故不写 knowledge_system
83
+ doc_role: canonical # canonical|derived|guide|rules|howto|example|reference|troubleshooting|compat|legacy
84
+ status: active # active|draft|compat|legacy|deprecated
85
+ last_verified: YYYY-MM-DD # 最后一次与源码/事实核对的日期
86
+ ---
87
+ ```
88
+
89
+ 条件字段(只在有意义时写,且**各最多一行**):
90
+
91
+ - `context:`:建模 context 名——**仅 modeling 文档**。
92
+ - `derived_from:`:**只写一个**最近的 canonical 父来源——仅 derived 文档。**禁止堆成多行清单**。
93
+ - `canonical_source:`:compat/legacy 文档指回的 canonical 来源。
94
+
95
+ 明确**不进 frontmatter**(这是当年 yaml 过重的根因):
96
+
97
+ - 代码路径 → 写 `code-map.md` 或正文(impl 正文可写)。
98
+ - `code_paths` / `topics` 等数组、长 `derived_from` 清单 → 写正文;长来源关系用 `code-map.md` 承载。
99
+ - 文档路径与 frontmatter 语义必须一致。
100
+
101
+ ## Modeling System
102
+
103
+ `docs/modeling/` 包含所有建模平面。**递归规则同构,类目词汇随领域而变**:
104
+
105
+ ```text
106
+ docs/modeling/<modeling-plane>/
107
+ index.md # 只导航
108
+ glossary.md
109
+ contexts/
110
+ index.md
111
+ <context>/
112
+ index.md
113
+ code-map.md
114
+ <category>/ # 类目由该 plane 的建模视角决定,不是固定三件套
115
+ ```
116
+
117
+ 必需 plane:`domain`(canonical 本体)。其他 derived plane(`backend`、`surface`、`runtime`、`api`、`storage`、`pipeline`……)由项目按领域自定义。
118
+
119
+ 类目示例(**不是强制目录名**):`domain` 常用 `objects/policies/workflows/`;`backend` 用 `routes/storage/contracts/...`;其他领域用 `sources/transforms/sinks` 等。
120
+
121
+ 如何为本领域选类目、各文件写法见 [docs-modeling-fractal/index.md](@codument/std/docs-modeling-fractal/index.md)。
122
+
123
+ ## Implementation System
124
+
125
+ `docs/impl/` 包含所有实现平面。**递归规则同构,类目词汇可按领域替换**:
126
+
127
+ ```text
128
+ docs/impl/<implementation-plane>/
129
+ index.md # 只导航
130
+ <category>/ # 推荐默认六类,可领域自定义
131
+ <topic>/<leaf>.md
132
+ ```
133
+
134
+ 推荐 plane:`global`(跨 plane 实现知识)。其他 plane(`backend`、`surface`、`runtime`、`storage`、`pipelines`、`agents`、`operations`……)由项目自定义。
135
+
136
+ 推荐默认类目(**起点,非法律**):`overview / howto / rules / examples / reference / troubleshooting`;领域不适配时可在 plane 第一层替换为自定义类目集。详见 [docs-impl-fractal/index.md](@codument/std/docs-impl-fractal/index.md)。
137
+
138
+ ## 同名文件夹演化
139
+
140
+ 主题较小时优先使用单文件。
141
+
142
+ 当出现以下情况时,升级为同名文件夹:
143
+
144
+ - 单文件已经难以导航。
145
+ - 出现多个稳定子主题。
146
+ - 多人或多分支编辑频繁冲突。
147
+ - AI 反复无法定位正确章节。
148
+ - 一个文件混入了多个不相关关注点。
149
+
150
+ 演化方式:
151
+
152
+ ```text
153
+ <name>.md
154
+ -> <name>/index.md
155
+ -> <name>/<subtopic>.md
156
+ ```
157
+
158
+ 规则:
159
+
160
+ - 保留原概念名称。
161
+ - 新的 `index.md` 只做导航。
162
+ - 优先直接放子 `.md` 文件,不要过早增加更深目录。
163
+ - 如果旧路径被引用过,更新局部链接与 `docs/migration-map.md`。
164
+ - 不要为了结构好看拆分小文档。
165
+
166
+ ## Migration Map
167
+
168
+ 使用唯一根级迁移映射:
169
+
170
+ ```text
171
+ docs/migration-map.md
172
+ ```
173
+
174
+ 模板:
175
+
176
+ ```markdown
177
+ ---
178
+ knowledge_system: impl
179
+ knowledge_plane: global
180
+ doc_role: reference
181
+ status: active
182
+ last_verified: YYYY-MM-DD
183
+ ---
184
+
185
+ # Documentation Migration Map
186
+
187
+ | Old Path | New Path | Status | Notes |
188
+ |----------|----------|--------|-------|
189
+ ```
190
+
191
+ 状态:
192
+
193
+ - `migrated`:同职责迁移。
194
+ - `absorbed`:有价值内容被吸收到新的 canonical/derived 文档。
195
+ - `compat`:旧路径仍作为兼容说明保留。
196
+ - `deprecated`:明确废弃。
197
+
198
+ ## Assets
199
+
200
+ 非正文辅助材料放入 `docs/_assets/`:
201
+
202
+ ```text
203
+ docs/_assets/
204
+ sql/
205
+ scripts/
206
+ schemas/
207
+ ui/
208
+ data/
209
+ ```
210
+
211
+ 规则:
212
+
213
+ - 正式知识保持 Markdown-first。
214
+ - Markdown 文档解释 asset 的用途。
215
+ - 除非 Markdown 文档明确引用,否则 AI 不应把原始资产当成 canonical prose。
216
+ - `_assets/` 不构成第三套知识系统。
217
+
218
+ ## Track Knowledge Sync
219
+
220
+ 当 docs profile 启用时,每个 Codument track 都必须检查是否需要更新 docs。
221
+
222
+ > **两个时机,别只在归档**:
223
+ > - **澄清/实现期(实时)**:discuss 一旦把某概念/行为/policy/架构**澄清并稳定**,**当轮就**把它收敛进对应 owner 文档(`docs/modeling`/`docs/impl`),而不是只写进 proposal 等归档再补。这是 owner 文档保持新鲜的主路径。
224
+ > - **归档期(兜底)**:`codument-archive-track` 按显式 hook 对该 track 全量复查、补齐遗漏(见 `std/operations/artifact-sync.md`)。
225
+ >
226
+ > 晋升判定(落 `docs/` 还是 behaviors/decisions/memory、何时晋升)见 [knowledge-tiers.md](./knowledge-tiers.md) §4–§5。
227
+
228
+ 以下变化应加入 docs sync 任务:
229
+
230
+ - domain context、object、field semantics、lifecycle、status、invariant。
231
+ - object behavior、command、query、mutation、side effect、failure semantics。
232
+ - policy、guard、permission、validation、governance rule。
233
+ - workflow 或 state transition。
234
+ - derived modeling object、policy、workflow、contract、storage relation、read model、sync flow。
235
+ - implementation architecture、framework convention、runtime convention、operations procedure。
236
+ - 未来实现者必须理解的 public contract 或 user-visible behavior。
237
+ - troubleshooting knowledge。
238
+ - 文档路径移动、拆分、合并或吸收。
239
+
240
+ 每次 docs sync 应执行:
241
+
242
+ 1. 判断更新属于 `docs/modeling/` 还是 `docs/impl/`。
243
+ 2. 判断 plane。
244
+ 3. 判断 context 或 category。
245
+ 4. 判断 document role。
246
+ 5. 更新最小正确文档。
247
+ 6. 添加或维护 frontmatter。
248
+ 7. derived modeling docs 按需维护 `derived_from`。
249
+ 8. 仅在导航变化时更新 `index.md`。
250
+ 9. 代码入口或测试变化时更新 `code-map.md`。
251
+ 10. 路径移动或旧文档被吸收时更新 `migration-map.md`。
252
+ 11. **新建目录时**按 [folder-manifest.md](@codument/std/spec/folder-manifest.md) 写"目录职责"块(自定义类目目录必填)。
253
+ 12. 如果无需更新 docs,记录具体原因。
254
+
255
+ ## Routing Table
256
+
257
+ > 下表用**默认类目词汇**(domain 用 objects/policies/workflows;impl 用六类)。换领域时按各 index.md 的"生成式步骤"替换类目名,路由逻辑不变。
258
+
259
+ | Change Type | Target |
260
+ |-------------|--------|
261
+ | 新增 domain term | `docs/modeling/domain/glossary.md` |
262
+ | 新增 modeling plane | `docs/modeling/<plane>/index.md` |
263
+ | 新增 modeling context | `docs/modeling/<plane>/contexts/<context>/index.md` |
264
+ | 新增 modeling object | `docs/modeling/<plane>/contexts/<context>/objects/<object>/data.md` |
265
+ | 新增 object behavior | `docs/modeling/<plane>/contexts/<context>/objects/<object>/behavior.md` |
266
+ | 跨对象 modeling rule | `docs/modeling/<plane>/contexts/<context>/policies/<policy>.md` |
267
+ | 多步骤 modeling process | `docs/modeling/<plane>/contexts/<context>/workflows/<workflow>.md` |
268
+ | 代码位置变化 | 最近的 `code-map.md` |
269
+ | 跨 plane 实现架构 | `docs/impl/global/overview/<topic>.md` |
270
+ | 跨 plane 实现规则 | `docs/impl/global/rules/<rule>.md` |
271
+ | plane 实现总览 | `docs/impl/<plane>/overview/<topic>.md` |
272
+ | 可重复实现任务 | `docs/impl/<plane>/howto/<operation>.md` |
273
+ | plane 实现规则 | `docs/impl/<plane>/rules/<rule>.md` |
274
+ | 示例 | `docs/impl/<plane>/examples/<example>.md` |
275
+ | 查询表或映射 | `docs/impl/<plane>/reference/<reference>.md` |
276
+ | 故障诊断 | `docs/impl/<plane>/troubleshooting/<issue>.md` |
277
+ | 旧文档移动或吸收 | `docs/migration-map.md` |
278
+ | 原始 SQL/script/schema/UI 材料 | `docs/_assets/...` 并由 Markdown 引用 |
279
+
280
+ ## Quality Checklist
281
+
282
+ - [ ] 更新是否只属于 `docs/modeling/` 或 `docs/impl/` 其中之一?
283
+ - [ ] plane 是否正确?
284
+ - [ ] 路径是否符合该 plane 的分形语法?
285
+ - [ ] frontmatter 是否与路径一致?
286
+ - [ ] modeling docs 是否显式标明 context?
287
+ - [ ] derived modeling docs 是否按需维护 `derived_from`?
288
+ - [ ] modeling 是否使用 objects、policies、workflows,而不是临时分类?
289
+ - [ ] impl 是否使用 overview、howto、rules、examples、reference、troubleshooting,而不是临时分类?
290
+ - [ ] index 文件是否只承担导航职责?
291
+ - [ ] 代码路径是否写在 `code-map.md` 或正文中,而不是 modeling frontmatter?
292
+ - [ ] 路径移动时是否更新 `migration-map.md`?
293
+ - [ ] 非正文资产是否放在 `_assets/`?
@@ -0,0 +1,48 @@
1
+ # Project Memory Attractor(std/attractors/project-memory.md)
2
+
3
+ > 当 `memory` profile(`config/attractor-profiles.xml`)启用时,本文件定义**长期项目记忆**如何提升。它是 `memory/` tier 的吸引子,地位与 `model-driven-docs.md`(docs tier 吸引子)并列。分层与晋升总览见 [knowledge-tiers.md](./knowledge-tiers.md)。
4
+
5
+ ## 目的
6
+
7
+ 项目记忆**不替代** behaviors、docs、源码。它记录**跨 track 应当影响未来工作**的耐久教训。
8
+
9
+ ## 记忆类别
10
+
11
+ - `lessons`:来自已完成 track 的可复用学习——约束、权衡、应指导未来实现的经验法则。
12
+ - `incidents`:重要失败、回归、故障、迁移问题或调查记录,应当可被后来检索。
13
+ - `patterns`:被验证的重复做法、协作协议、设计惯用法、校验实践。
14
+ - `summaries`:跨多条记忆或一段已完成工作的周期性综合。
15
+
16
+ ## 提升规则
17
+
18
+ 只有当一条记忆**耐久到足以影响未来 track** 时才提升。
19
+
20
+ Good:
21
+
22
+ - 记录某迁移策略为何成功/失败。
23
+ - 记录一个反复踩的坑及其暴露它的诊断信号。
24
+ - 记录多个未来 track 应复用的稳定设计 pattern。
25
+ - 证据积累足够后,对一批相关记忆做 summary。
26
+
27
+ Bad:
28
+
29
+ - 把普通任务日志拷进记忆。
30
+ - 存本应在 behaviors/docs/源码/测试里的事实。
31
+ - 建一个所有分支都要改的中心 `index.md`。
32
+ - 把未解决的猜测当耐久教训提升。
33
+
34
+ ## 存储形态
35
+
36
+ 按分钟级、track-更新时间排序;**每条记忆目录自包含**,避免全局索引文件(跨分支/贡献者会冲突):
37
+
38
+ ```text
39
+ codument/memory/<category>/YYYY-MM/YYYY-MM-DD-HHmm-slug/
40
+ ```
41
+
42
+ ## 复发即固化(与 knowledge-tiers 阶梯衔接)
43
+
44
+ `memory/` 里**同一类问题反复出现**时,不要停在 prose 记忆——按 [knowledge-tiers.md](./knowledge-tiers.md) §5 再向上固化为可复用方法:`std/sop/` 规程 / `std/operations/` / `attractor-profile` check / `operation-hook` / validation 守卫(按项目误报容忍度调优)。
45
+
46
+ ## 复查
47
+
48
+ 归档前检查该 track 是否产出耐久的 lessons/incidents/patterns/summaries。**没有就不要造记忆条目。**
@@ -0,0 +1,110 @@
1
+ # Implementation / Engineering 分形标准
2
+
3
+ > 本标准定义 legacy `docs/impl/` 的写作方式,并说明它如何迁移到新的 `codument/engineering/` XNL registry。它与 [docs-modeling-fractal](../docs-modeling-fractal/index.md) **用同一条递归规则**,区别只在「类目词汇」。
4
+ >
5
+ > 新项目长期工程知识优先写入 `codument/engineering/`;`docs/impl/` 可作为 legacy Markdown、展示层或迁移前兼容层。engineering registry 规范见 [engineering-registry.md](../spec/engineering-registry.md)。
6
+
7
+ ## 1. 一句话心法
8
+
9
+ impl / engineering 树同样是递归的「知识节点」。**不变的是递归规则,可变的是每个 plane 选的类目词汇。**
10
+
11
+ - **不变**:`plane → 类目 → 主题 → 叶子`;每层 `index` 只导航;一处真源、其余引用;本体不在这里,引用 `codument/modeling/` 或 `modeling://...`。
12
+ - **可变**:有哪些 implementation plane;每个 plane 第一层用哪些类目。
13
+
14
+ > engineering 与 modeling 的区别:modeling 装"结构真相",engineering 装"如何实现、维护、排障"。两边都允许不同领域长出不同目录,不写死前后端。
15
+
16
+ ## 2. Plane 层
17
+
18
+ 新真源路径:`codument/engineering/<plane>/`。
19
+
20
+ legacy Markdown 路径:`docs/impl/<plane>/`。
21
+
22
+ - **`global`(推荐)**:跨 plane 的实现 / 维护知识(架构、框架约定、运维方法)。
23
+ - **其他 plane(项目按领域命名)**:`backend`、`surface`、`runtime`、`storage`、`pipelines`、`agents`、`tools`、`operations`、`control-plane`、`data-plane`……
24
+ - **本体不放这里**:domain ontology 属于 `codument/modeling/`;engineering 用 `modeling://...` 引用,不复制。
25
+
26
+ 每个 plane / 类目目录的 `index.md` 顶部带「目录职责」块(标准类目一行精简型,自定义类目完整型)——见 [folder-manifest.md](@codument/std/spec/folder-manifest.md)。
27
+
28
+ ## 3. 类目层 —— 类目在前、主题在后
29
+
30
+ plane 第一层放**类目**,类目下放**主题**,主题下放叶子:
31
+
32
+ ```text
33
+ codument/engineering/<plane>/<category>/<topic>.xnl
34
+ docs/impl/<plane>/<category>/<topic>/<leaf>.md # legacy / 展示层
35
+ ```
36
+
37
+ ### 推荐默认类目(强烈建议作为起点)
38
+
39
+ 对**大多数可维护系统**通用,先用这六类,缺哪类就不建:
40
+
41
+ | 类目 | 装什么 | 何时读 |
42
+ |------|--------|--------|
43
+ | overview | 心智模型、架构、组成 | 需要建立方向感 |
44
+ | howto | 可重复的维护操作(加接口、迁移、发布……) | 要动手改/维护 |
45
+ | rules | 实现约束、约定、护栏 | 要避免越界 |
46
+ | examples | worked example / 样例 | 要一个具体参照 |
47
+ | reference | code map、API/schema/配置表、映射 | 要查表 |
48
+ | troubleshooting | 故障模式、诊断、修复 | 要排障 |
49
+
50
+ ### 这只是默认,不是法律
51
+
52
+ 如果你的领域维护工作**不这样分解**,就在 plane 第一层换成你自己的类目集。**不变量是「类目在前、主题在后 + 每个类目语义单一」,不是这六个名字。** 例如:
53
+
54
+ ```text
55
+ 数据平台运维: runbooks/ pipelines/ slas/ incidents/ dashboards/
56
+ 硬件 / 固件: bringup/ drivers/ timing/ rma/ bench/
57
+ ```
58
+
59
+ ## 4. 叶子写作要点(按类目选自然小节)
60
+
61
+ 每个类目的叶子用对应小节即可,不强制统一模板:
62
+
63
+ | 类目 | 建议小节 |
64
+ |------|----------|
65
+ | overview | Purpose · Mental Model · Main Components · Boundaries · Related Modeling/Impl Docs |
66
+ | howto | When To Use · Preconditions · Steps · Verification · Rollback/Recovery · Related Rules |
67
+ | rules | Rule · Applies To · Rationale · Examples · Enforcement · Exceptions · Related Modeling Docs |
68
+ | examples | Scenario · Inputs · Walkthrough · Expected Output · Notes(大块原始数据放 `_assets/` 引用) |
69
+ | reference | Scope · Table/Map · Source Of Truth · Update Procedure(生成物说明如何重生成/校验) |
70
+ | troubleshooting | Symptoms · Likely Causes · Diagnosis · Fix · Prevention(长期 lesson 同步 project memory) |
71
+
72
+ 跨 plane 的 overview/rule 放 `codument/engineering/global/...`;过程中发现的规则沉淀到 `rules/` 并互链。
73
+
74
+ ## 5. Frontmatter(用受控精简 schema)
75
+
76
+ 字段集与含义在 [model-driven-docs.md](../attractors/model-driven-docs.md) 统一定义。impl 侧附加约定:
77
+
78
+ - impl 文档**可在正文写代码路径**;frontmatter 保持稳定、低冲突,**不堆 `code_paths` / `topics` 数组**。
79
+ - 实现规则**不复制** modeling policy——链接到 `docs/modeling/<plane>/contexts/<ctx>/policies/...`,本文件只写 enforcement。
80
+
81
+ ## 6. 在你自己的领域长出一个新 impl plane(生成式步骤)
82
+
83
+ 1. **定边界**:它覆盖哪个实现领域、不拥有什么(写进 plane `index.md` 的 Boundary / Not Owned Here)。
84
+ 2. **选类目集**:默认六类,或换成领域自定义类目集。
85
+ 3. **建骨架**:`index.md`(导航) + 各类目目录;类目→主题→叶子,叶子先单文件,太大再升级同名文件夹。**每个类目目录给其 `index.md` 写「目录职责」块**(自定义类目必填,见 [folder-manifest.md](@codument/std/spec/folder-manifest.md))。
86
+ 4. **连真源**:规则/流程若依赖建模真源,链接到 `docs/modeling/.../{policies,workflows}/`,不复制。
87
+
88
+ ## 7. 反模式
89
+
90
+ ❌ plane 第一层混用「主题」和「类目」:
91
+
92
+ ```text
93
+ docs/impl/runtime/{ architecture/ howto/ state/ rules/ } # architecture/state 是主题不是类目
94
+ ```
95
+
96
+ ✅ 类目在前、主题在后:
97
+
98
+ ```text
99
+ docs/impl/runtime/{ overview/ howto/ rules/ examples/ reference/ troubleshooting/ }
100
+ └ overview/architecture/… └ overview/state/…
101
+ ```
102
+
103
+ ❌ impl 复制 canonical modeling 真源:
104
+
105
+ ```text
106
+ docs/modeling/domain/contexts/identity/policies/token-lifecycle.md # 真源
107
+ docs/impl/runtime/rules/token-lifecycle.md # 复制 → 错
108
+ ```
109
+
110
+ ✅ impl rule 引用 modeling policy,只描述本 plane 的 enforcement。