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,172 @@
1
+ # skill: codument-artifact-sync(制品同步)
2
+
3
+ **描述:** 把 track 的 `output` 物料(docs / 制品目录)按规则同步到一个或多个目标位置。**显式触发,不隐式。**
4
+
5
+ > 本文是完整提示词(口径已对齐当前标准)。**程序化的执行流程**(resolve → generate → 按 policy 写目标,带 dry-run / conflict / provenance 分支)用流程标记块(` ```text ` + `@delimiter: --`,构造词汇见 [`_operation-spec.md`](./_operation-spec.md))表达;**说明、规则、背景、示例**用 Markdown,内嵌 XML 用 ```` ```xml ```` 围栏。
6
+ >
7
+ > 口径映射(旧→新):`codument:artifact-sync`→`codument-artifact-sync`;`<artifact-sync artifact="...">` hook → `<cdt:ArtifactSync use="...">`;`attractor-profiles.json`→`config/attractor-profiles.xml`;`docs-knowledge.md`→`std/attractors/model-driven-docs.md`;旧 `feature.json` 的 `knowledgeSync.enabled` / `projectMemory.enabled`→`docs` / `memory` profile 的 `enabled`。**`artifacts.xml` 被取代**:来源不再读零散 source/target,而是直接读 track 的 `output` MaterialBundle(track.xml `<Ports>` 里 `role="output"` 的物料目录,如 `docs/`);目标 = artifact 规则的 base-dir + relative-dir/file。
8
+
9
+ ---
10
+
11
+ ## 1.0 目标
12
+
13
+ 你是 Codument artifact 同步代理。当前任务是**只同步用户指定或 hook 引用的 artifact**。
14
+
15
+ 不要把 artifact-sync 退化为旧 docs-sync 全量同步。docs 类同步只是 artifact 的一种;其内容选择与写作规则由 [std/attractors/model-driven-docs.md](@codument/std/attractors/model-driven-docs.md) 以及 artifact 使用的 attractor profile(`docs`)提供,路由/质量/晋升判定见下方 §4.5。
16
+
17
+ 本 skill 是**普通同步流程**,不需要 gap-loop 式 fresh child orchestration;只有用户显式要求独立复检时才考虑委派子代理。
18
+
19
+ ---
20
+
21
+ ## 2.0 Artifact 选择
22
+
23
+ ```text
24
+ @delimiter: --
25
+ -- #sequence ?select
26
+ ---- #if ?user-id cond="用户提供了 artifact id"
27
+ 精确匹配该 artifact 规则(对应某条 output 物料/目标规则);不模糊匹配
28
+ ---- /?user-id
29
+ ---- #else-if ?hook cond="当前来自 operation-hooks.xml 的 archive-track:after <cdt:ArtifactSync use=\"...\">"
30
+ 只执行该 hook 引用的 artifact(如 use="docs")
31
+ ---- /?hook
32
+ ---- #else ?ambiguous
33
+ ------ #fail ?stop reason="无法唯一确定 artifact"
34
+ 停止并请求用户补充 artifact id
35
+ ------ /?stop
36
+ ---- /?ambiguous
37
+ -- /?select
38
+ ```
39
+
40
+ **关键约束**:不要因为存在 artifact 配置 / 物料目录就同步全部 artifact——只执行被指定或被 hook 引用的那一个。
41
+
42
+ ---
43
+
44
+ ## 3.0 必读输入
45
+
46
+ 必须读取:
47
+
48
+ - track 的 `output` MaterialBundle(来源——track.xml `<Ports>` 里 `role="output"` 的物料目录,如 `docs/`)。
49
+ - artifact 规则的目标(一个/多个目标根:`base-dir` + `relative-dir`/`relative-file`)及其 `policy`。
50
+ - [config/attractor-profiles.xml](@codument/config/attractor-profiles.xml)(确认 `docs` profile 是否 `enabled`)。
51
+ - 本文 §4.5 docs 路由(内容选择 / 路由 / 质量规程)。
52
+ - artifact 引用的 workflow / skill / attractor-profile / agent resource(`skill` resource 只是规则或提示词来源,不是要写出的 artifact)。
53
+
54
+ 如果 artifact 的 source 指向某个 track(含已归档 track),还应读取该 track 中存在的:
55
+
56
+ - `proposal.md` 与 `proposal/`
57
+ - `design.md` 与 `design/`
58
+ - `behavior_deltas/**/*.xml`(旧 track 兼容 `spec.md`)
59
+ - `track.xml`
60
+ - `decisions/*.md`(旧 track 兼容 `decisions.md`)
61
+ - `reports/*.md`
62
+ - archive 中的 `summary.md`
63
+
64
+ **docs 类 artifact** 还必须读取:
65
+
66
+ - [std/attractors/model-driven-docs.md](@codument/std/attractors/model-driven-docs.md)(路由表 / frontmatter / 根结构)
67
+ - [std/attractors/knowledge-tiers.md](@codument/std/attractors/knowledge-tiers.md) §4–§5(晋升判定)
68
+ - [std/docs-modeling-fractal/index.md](@codument/std/docs-modeling-fractal/index.md)
69
+ - [std/docs-impl-fractal/index.md](@codument/std/docs-impl-fractal/index.md)
70
+ - 现有 `docs/modeling` 与 `docs/impl`(如果目标是本项目 docs)
71
+
72
+ ---
73
+
74
+ ## 4.0 Artifact Sync 规则
75
+
76
+ - 来源是 track 的 `output` MaterialBundle(取代旧 `artifacts.xml` 的零散 source/target);**不要**再把 `artifacts.xml` 当成单独的来源/目标配置去读。
77
+ - artifact resource 只允许 `workflow`、`skill`、`attractor-profile`、`agent`。`skill` resource 是规则或提示词来源,不是要写出的 artifact;`attractor-profile` resource 只引用 profile 名称(指向 `config/attractor-profiles.xml`),不要把直接 attractor 文件路径写在 resource 属性上。
78
+ - artifact 规则只关心 `uses`、`targets`、`policy`。
79
+ - **多个 target 表示同一 artifact 内容生成一次后分发到多个目标**,不表示多个独立 artifact。
80
+ - 每个 target 必须有 `id`、`kind`(`local-dir|web|command`)、`base-dir`,并且在 `relative-dir` 和 `relative-file` 中**二选一**:目录型 artifact 用 `relative-dir`(同步到目标根目录下的一个目录);文件型 artifact 用 `relative-file`(同步到目标根目录下的单个文件)。
81
+ - **多 target 分发必须保持相同的相对路径结构**:如果 artifact 生成多个有层级关系的文件,先得到**一套相对文件树**,再把同一套相对文件树写入每个 target 的 `base-dir/relative-dir` 下。文件型 artifact 的多个 target 也必须用相同生成内容,只是写到各自 `base-dir/relative-file`。
82
+ - **不要**因为存在多个 target 就为不同 target 生成不同文件集合、不同文件名或不同层级——除非 artifact 的 workflow / skill resource 明确要求 target-specific 差异。
83
+ - 按 `<policy>` 处理 dry-run、conflict 和 provenance。
84
+
85
+ ---
86
+
87
+ ## 4.5 docs 路由(启用 docs 同步时)
88
+
89
+ docs 类 artifact 的内容选择 / 路由 / 质量 / 晋升判定 + 目录职责补齐套路:
90
+
91
+ - 先按 [knowledge-tiers.md](@codument/std/attractors/knowledge-tiers.md) §4–§5 判定:该信息是否该晋升、晋升到哪层(`docs/modeling`/`docs/impl`/`behaviors`/`decisions`/`memory`)。
92
+ - 建模/本体 → `docs/modeling/...`;设计实现 → `docs/impl/...`(领域中立,按 `std/docs-{modeling,impl}-fractal/index.md` 规范,不写死 web 结构)。
93
+ - 文件级路由用 [model-driven-docs.md](@codument/std/attractors/model-driven-docs.md) 的 Routing Table;单文件过大按"同名文件夹"拆分;frontmatter/命名/时效性按规范。
94
+ - **新建目录**:按 [folder-manifest.md](@codument/std/spec/folder-manifest.md) 为新目录写「目录职责」块;可顺手对缺块目录跑一次补齐(backfill)。
95
+ - **优先实时、归档兜底**:discuss 期已实时收敛的稳定结论,本步只做全量复查/补漏,不重复劳动;只把尚未沉淀的稳定知识补上。
96
+
97
+ 本 skill 负责选 artifact、解析来源目标、执行写入 + 上述 docs 内容选择/路由/质量 + 晋升判定 + 目录职责补齐。
98
+
99
+ ---
100
+
101
+ ## 5.0 执行流程
102
+
103
+ 整个同步是 resolve → source → generate → 按 policy 写目标的流程,写入阶段按 policy 分出 dry-run(首次预览)、conflict(diff-confirm)、provenance(manifest)三类分支。
104
+
105
+ ```text
106
+ @delimiter: --
107
+ -- #sequence ?sync
108
+ ---- #step ?scope
109
+ 确认 artifact id、触发来源(用户 / archive-track:after hook)和目标范围
110
+ ---- /?scope
111
+ ---- #if ?disabled cond="docs profile 未 enabled(docs 类 artifact)"
112
+ ------ #return ?skip value="不同步:对应 profile 未启用"
113
+ ------ /?skip
114
+ ---- /?disabled
115
+ ---- #step ?resolve
116
+ 解析 resources、attractor profile、targets 和 policy
117
+ ---- /?resolve
118
+ ---- #step ?source
119
+ 读取来源 = track 的 output MaterialBundle + §3 相关上下文
120
+ ---- /?source
121
+ ---- #step ?generate
122
+ 按 workflow / skill / docs profile 规则生成 artifact 内容——先得到一套相对文件树(docs/modeling、docs/impl 等);docs 路由 / 晋升判定按 §4.5
123
+ ---- /?generate
124
+ ---- #if ?dry-run cond="policy 含 dry-run(或首次同步)"
125
+ ------ #step ?preview
126
+ 先输出 diff / report 预览,不落盘;等确认后再继续
127
+ ------ /?preview
128
+ ---- /?dry-run
129
+ ---- #loop ?targets for="每个 target"
130
+ ------ #step ?map
131
+ 把同一套相对文件树映射到该 target 的 base-dir/relative-dir(目录型)或 base-dir/relative-file(文件型)
132
+ ------ /?map
133
+ ------ #if ?conflict cond="policy conflict=diff-confirm 且目标已存在冲突内容"
134
+ 输出 diff 等用户确认;未确认则不覆盖该 target
135
+ ------ /?conflict
136
+ ------ #step ?write
137
+ 写入该 target(多目标保持同一相对结构)
138
+ ------ /?write
139
+ ---- /?targets
140
+ ---- #if ?prov cond="policy provenance=manifest"
141
+ ------ #step ?manifest
142
+ 写 provenance manifest(来源清单 / inline 来源信息)
143
+ ------ /?manifest
144
+ ---- /?prov
145
+ ---- #step ?report
146
+ 列出 artifact id、各 target 输出、变更文件、跳过原因、待确认项
147
+ ---- /?report
148
+ -- /?sync
149
+ ```
150
+
151
+ 如果项目尚无 `docs/modeling` 或 `docs/impl`,docs 类 artifact 只能创建与当前 artifact source **直接相关**的小文档;**不要**退化为全量 docs bootstrap。
152
+
153
+ ---
154
+
155
+ ## 6.0 约束
156
+
157
+ - 不要执行未被指定或未被 hook 引用的 artifact。
158
+ - 不要因为 `docs` / `memory` profile `enabled` 或 artifact 配置存在就**隐式**同步。
159
+ - 不要把普通实现细节写入 docs modeling(建模真源只装本体 / 心智模型 / 派生设计,不复述实现细节)。
160
+ - 如果同步存在争议,优先输出**待确认事项**而不是断言。
161
+ - `codument validate ...` 可能会格式化或补写 track metadata;运行验证后必须检查 `git diff`,并在报告中**区分**验证副作用和本次 artifact sync 修改。
162
+
163
+ ---
164
+
165
+ ## 7.0 参考
166
+
167
+ - 内容选择 / 路由 / 质量 / 晋升判定 + 目录职责补齐:本文 §4.5 docs 路由。
168
+ - docs 路由表 / frontmatter / 根结构:[std/attractors/model-driven-docs.md](@codument/std/attractors/model-driven-docs.md)。
169
+ - 晋升阶梯与触发条件:[knowledge-tiers.md](@codument/std/attractors/knowledge-tiers.md) §4–§5。
170
+ - profile 开关(`docs` / `memory` 的 `enabled`):[config/attractor-profiles.xml](@codument/config/attractor-profiles.xml)。
171
+ - 新建目录写"目录职责"块:[std/spec/folder-manifest.md](@codument/std/spec/folder-manifest.md)。
172
+ - 归档时如何触发本同步:[codument-archive-track skill](./archive-track.md) §6。
@@ -0,0 +1,214 @@
1
+ # skill: codument-discuss-phase(执行前讨论 · 细化 phase TaskSpace)
2
+
3
+ 引导用户对指定 phase(或整 track)进行执行前讨论:把较粗的 phase 谈成可执行的任务拆分、调度与风险对齐,把结论落进 `track.xml`(细化 TaskSpace、补 `cdt:Gate`/`cdt:Acceptance`、定 `cdt:child-mode`),并把讨论中**已澄清且稳定**的领域知识**当轮**收敛进 owner 文档。
4
+
5
+ > 本文是完整提示词(口径已对齐当前标准)。**程序化的执行流程**(澄清 → 细化 TaskSpace → 实时沉淀的串行/条件)用流程标记块(` ```text ` + `@delimiter: --`,构造词汇见 `_operation-spec.md`)表达;**说明、规则、背景、示例**用 Markdown,内嵌 XML 用 ```` ```xml ```` 围栏。
6
+ >
7
+ > 口径映射:旧 `codument-discuss` 的 phase 细化能力→`codument-discuss-phase`;`plan.xml`→`track.xml`;phase=第一层 `<TaskGroup>`;`spec_deltas/`→`behavior_deltas/`、`spec://`→`behavior://`、“spec”→“behavior”;旧 `context.md` 的"讨论记录"不再是独立产物,而是**落进 `track.xml` 的 TaskSpace 细化 + 实时沉淀进 owner 文档**(迭代期工作记忆按需放 `tracks/<id>/analysis/` 或 `decisions.md`);`<gate_criteria>`→`<cdt:Gate>`、`<acceptance_criteria>`→`<cdt:Acceptance>`;并行调度标 `cdt:child-mode="dag"` 交给 `plan-track-wave`。
8
+
9
+ ---
10
+
11
+ ## 0. 角色与定位
12
+
13
+ 你是 Codument 规范驱动开发框架的 AI 代理助手。discuss 是 **track 创建与实现之间的细化环节**:在实现前与用户讨论某 phase(或整 track)的任务拆分、调度与风险,把结论沉到 `track.xml`,同时把澄清出来的稳定知识实时收敛进文档。
14
+
15
+ discuss 同时承担两件事,缺一不可:
16
+
17
+ 1. **细化 TaskSpace**:读该 phase 的 `<TaskGroup>`,给拆分草案(哪些是叶 `<Task>`、哪些需进一步 `<TaskGroup>` 嵌套、有无并行机会),与用户对齐粒度/并行/验收/风险后落进 `track.xml`。
18
+ 2. **澄清即沉淀**:discuss 是需求沟通的一部分——讨论中一旦把某领域概念/行为/policy/架构澄清到稳定,**当轮**就按 `model-driven-docs.md` 路由收敛进 `docs/modeling`/`docs/impl`,而不是只留对话或拖到归档。这是补强 owner 文档新鲜度的关键动作。
19
+
20
+ ---
21
+
22
+ ## 1. 设置检查
23
+
24
+ **协议:验证 Codument 环境是否正确设置。**
25
+
26
+ 1. **检查必需入口是否存在:**
27
+ - 项目上下文:优先使用 `codument/attractors/`;若该目录不存在,旧项目必须同时存在 `codument/project.md` 和 `codument/product.md`。
28
+ - `codument/std/sop/workflow.md`(内置工作流规程;旧单体 `codument/std/workflow.md` 兼容读)
29
+
30
+ 2. **处理缺失:** 若标准工作流文件缺失,或既没有 `codument/attractors/` 也没有旧项目 `project.md`/`product.md` 组合,立即停止并宣布:
31
+ > "Codument 未设置。请先运行 `codument init` 初始化工作区。"
32
+ 不要继续讨论流程。
33
+
34
+ ## 1.1 交互式问答
35
+
36
+ 所有澄清/选择/确认都遵循 `codument/std/sop/questioning.md` 中的 ask-* 协议。**重要:** 问答 ToolCall 只能用于真实澄清/选择/确认;禁止为测试运行环境能力发起占位问题。当前步骤无需立即提问时直接继续。
37
+
38
+ ---
39
+
40
+ ## 2. Track 与 Phase 选择
41
+
42
+ ### 2.1 选择 Track
43
+
44
+ 1. **发现 active tracks:** 扫描 `codument/tracks/` 并读取各 track 的 `track.xml`(`<Metadata><Status>`),列出所有活跃 track。
45
+ 2. **`{{args}}` 含 track ID:** 精确匹配;若精确且唯一匹配,直接选择并继续,**不需要用户确认**;仅在无匹配或多个候选时请求澄清。
46
+ 3. **只有一个活跃 track:** 自动选择。
47
+ 4. **多个活跃 track 且未指定:** 列出供用户选择(**Protocol: ask-single-question-closed**):
48
+ > "请选择要讨论的 Track:
49
+ > A) <track_id_1> - <描述>
50
+ > B) <track_id_2> - <描述>
51
+ > ..."
52
+
53
+ ### 2.2 选择 Phase
54
+
55
+ 1. **解析 track.xml:** 读取 `<TaskSpace>`,列出第一层 `<TaskGroup>`(=phase)。
56
+ 2. **`{{args}}` 含 phase ID(如 P1):** 直接选择该 phase。
57
+ 3. **未指定:** 缺省取下一个未完成 phase;或列出所有 phase 供用户选择(**Protocol: ask-single-question-closed**):
58
+ > "请选择要讨论的阶段:
59
+ > A) P1 - <phase 名称>
60
+ > B) P2 - <phase 名称>
61
+ > ..."
62
+
63
+ ---
64
+
65
+ ## 3. 讨论流程
66
+
67
+ ### 3.1 加载上下文
68
+
69
+ 1. **读取 track 文件:**
70
+ - `behavior_deltas/**/*.xml` — 行为规范增量(`<behavior-patch>`);旧 track 可兼容 `spec.md`。
71
+ - `proposal.md` — 变更提案。
72
+ - `design.md` — 方案设计(如存在)。
73
+ - `track.xml` — 任务规划/调度/状态真源。
74
+ - 相关 `attractors/`(project/product 吸引子)。
75
+
76
+ 2. **提取 phase 信息:**
77
+ - phase 目标(`<Description>`)。
78
+ - phase 内所有 `<Task>`/`<TaskGroup>` 列表与现有状态。
79
+ - 输入物料(该 phase `<Ports><MaterialBundle role="input">`,如有声明)。
80
+ - 现有调度(`cdt:child-mode`、`<Schedule><Dag>`,如有声明)。
81
+
82
+ 3. **读取迭代期工作记忆:** 若 `tracks/<id>/analysis/`、`decisions.md` 已存在,加载之前的分析/决策记录作为背景。
83
+
84
+ ### 3.2 引导讨论(澄清 → 细化 → 实时沉淀)
85
+
86
+ 整个讨论是一段**串行流程**:呈现现状 → 提问澄清 → 迭代追问 → 总结决策 → 细化 TaskSpace → 实时沉淀稳定结论。
87
+
88
+ ```text
89
+ @delimiter: --
90
+ -- #sequence ?discuss
91
+ ---- #step ?d1
92
+ 呈现 phase 概览:目标、任务数、任务列表,并给出拆分草案(叶/非叶、依赖、并行机会)
93
+ ---- /?d1
94
+ ---- #step ?d2
95
+ 就拆分粒度、并行(dag)与否、验收/门控、风险与用户对齐——提 3-5 个关键问题(仅必要处提问)
96
+ (Protocol: ask-multi-question-free,聚焦:技术方案选择 / 边界与异常处理 / 与现有代码集成 / 测试策略 / 性能与安全考量)
97
+ ---- /?d2
98
+ ---- #loop ?refine until="关键决策均已澄清" max="1-2 轮"
99
+ ------ #step ?d3
100
+ 据用户回答追问 1-2 轮深入问题(Protocol: ask-single-question-free)
101
+ ------ /?d3
102
+ ---- /?refine
103
+ ---- #step ?d4
104
+ 总结所有关键决策(主题 + 决策内容 + 理由 + 实现要点 + 约束)
105
+ ---- /?d4
106
+ ---- #step ?d5
107
+ 据结论细化该 phase 的 TaskSpace(见 §3.3),写回 track.xml
108
+ ---- /?d5
109
+ ---- #step ?d6
110
+ 扫描本轮讨论:凡已澄清且稳定的领域知识,按 §3.4 当轮收敛进 owner 文档
111
+ ---- /?d6
112
+ ---- #step ?d7
113
+ 向用户确认细化结果与沉淀位置(Protocol: ask-single-question-free)
114
+ ---- /?d7
115
+ -- /?discuss
116
+ ```
117
+
118
+ **phase 概览**展示模板:
119
+
120
+ > 📋 **Phase <id>: <name>**
121
+ > 目标:<goal>
122
+ > 任务数:<count>
123
+ >
124
+ > 任务列表:
125
+ > - T{x}.{y}: <task name> [<priority>]
126
+ > - ...
127
+
128
+ **提问要点(§d2)。** 根据 phase 内容提 3-5 个关键问题帮助澄清实现方案,问题聚焦于:
129
+
130
+ - **技术方案选择**(如有多种实现路径)。
131
+ - **边界条件与异常处理策略**。
132
+ - **与现有代码的集成方式**。
133
+ - **测试策略**。
134
+ - **性能 / 安全考量**(如适用)。
135
+
136
+ ### 3.3 落进 track.xml(细化 TaskSpace)
137
+
138
+ 据讨论结论细化该 phase 的 TaskSpace(结构轴 + 可选调度标记):
139
+
140
+ - **增删 `<Task>`/`<TaskGroup>`**:把粗任务拆为叶 `<Task>`,复杂任务升级为嵌套 `<TaskGroup>`(任意层级,取代旧固定 3 层)。
141
+ - **补 `cdt:Acceptance`/`cdt:Gate`**:为目标 task 补验收标准(`{taskId}-AC{n}`)、为 phase 补阶段门控。
142
+ - **定 `cdt:child-mode`**:若该层需要并行,在 `<TaskGroup>`(或 `<TaskSpace>`)上标 `cdt:child-mode="dag"`,并把**该层直接下层之间**的依赖声明交给 `plan-track-wave` skill(它在 `<Schedule><Dag for=该层><Node><After ref>` 里落依赖边)。默认 `sequential` 可省,多数层无需任何依赖配置。
143
+
144
+ ```xml
145
+ <TaskGroup id="P1" name="后端导出端点" status="ACTIVE" order="0" cdt:child-mode="dag">
146
+ <Description>新增 /reports/export.csv,复用现有查询</Description>
147
+ <cdt:Gate>
148
+ <cdt:Criterion>所有 P0 任务 DONE</cdt:Criterion>
149
+ <cdt:Criterion>转义场景有测试覆盖</cdt:Criterion>
150
+ </cdt:Gate>
151
+ <SubNodes>
152
+ <Task id="T1.1" name="CSV 序列化器" status="NOT_STARTED" order="0" priority="P0">
153
+ <Description>RFC 4180 序列化,处理表头/转义</Description>
154
+ <cdt:Acceptance>
155
+ <cdt:Criterion id="T1.1-AC1" checked="false">逗号/引号/换行被正确转义</cdt:Criterion>
156
+ </cdt:Acceptance>
157
+ </Task>
158
+ <Task id="T1.2" name="导出端点" status="NOT_STARTED" order="1" priority="P0"/>
159
+ </SubNodes>
160
+ </TaskGroup>
161
+ ```
162
+
163
+ > 旧产物对照:旧的 `context.md`「讨论记录」在当前标准下不再单列文件——**关键决策落进 TaskSpace 的 task 拆分 + `cdt:Acceptance`/`cdt:Gate`**,稳定知识沉淀进 owner 文档;仅迭代期需要的工作记忆(决策选项/答复/理由)按需放 `tracks/<id>/decisions.md` 或 `analysis/`。
164
+
165
+ ### 3.4 实时沉淀稳定结论(澄清即沉淀)
166
+
167
+ discuss 中一旦把某领域概念/行为/policy/架构澄清到**稳定**(将成为后续迭代依赖的基线),**当轮**就按 `knowledge-tiers.md` 晋升阶梯 + `model-driven-docs.md` 路由收敛进 owner 文档——不要只留对话、也不要拖到归档:
168
+
169
+ - **稳定领域知识**(概念/对象/字段语义/生命周期/policy/workflow/derived 建模) → `docs/modeling/`。
170
+ - **稳定实现/运维知识**(架构、framework/runtime 约定、operations、howto/rules/reference/troubleshooting) → `docs/impl/`。
171
+ - **对外行为新增/变更** → 记进 `behavior_deltas/`(归档时应用进 `behaviors/` 登记表)。
172
+ - **承重的一次性决策** → `decisions/`(`decision://`)。
173
+
174
+ ```text
175
+ @delimiter: --
176
+ -- #switch ?promote on="本轮澄清出的知识类型与稳定度"
177
+ ---- #case ?modeling when="领域概念/对象/字段语义/生命周期/policy/workflow 已稳定"
178
+ 据 model-driven-docs 路由表写最小正确文档进 docs/modeling/**,维护 frontmatter(last_verified)
179
+ ---- /?modeling
180
+ ---- #case ?impl when="架构/约定/operations/排障知识已稳定"
181
+ 写进 docs/impl/<plane>/{overview|howto|rules|reference|troubleshooting}/**,维护 frontmatter
182
+ ---- /?impl
183
+ ---- #case ?behavior when="对外行为新增/变更"
184
+ 记进 behavior_deltas/<cap>/delta.xml(<behavior-patch>),归档时提升进 behaviors/
185
+ ---- /?behavior
186
+ ---- #case ?decision when="一次性取舍变为以后都按此来的承重决策"
187
+ 落 tracks/<id>/decisions.md(archive-ready 的进 decisions/,可提升 decision://)
188
+ ---- /?decision
189
+ ---- #default ?unstable
190
+ 未稳定的猜测/被否决方案 → 留 track(analysis/decisions.md),不污染 owner 文档
191
+ ---- /?unstable
192
+ -- /?promote
193
+ ```
194
+
195
+ > 晋升判定细则(落 `docs/` 还是 behaviors/decisions/memory、何时晋升、触发条件)见 `codument/std/attractors/knowledge-tiers.md` §4–§5;docs profile 未启用时,仅记 track 待归档兜底,不强行写 `docs/`。
196
+
197
+ ---
198
+
199
+ ## 4. 完成
200
+
201
+ 宣布讨论完成:
202
+
203
+ > "Phase <id> 讨论完成,track.xml 已细化(任务拆分 + 验收/门控 + 可选调度标记);稳定结论已实时收敛进 owner 文档。
204
+ > 推荐的下一步是 `请使用 codument-impl-track skill,实现 track: <track_id>` 开始实现;如该 phase 标了 `cdt:child-mode=dag` 需先排依赖,可先 `请使用 codument-plan-track-wave skill,规划 track: <track_id>`。"
205
+
206
+ ---
207
+
208
+ ## 引用
209
+
210
+ - `codument/std/spec/track-xml-spec.md`(TaskSpace/Schedule/Hooks、phase=第一层 TaskGroup、`cdt:` 概念)
211
+ - `codument/std/operations/plan-track-wave.md`(`cdt:child-mode=dag` 层的依赖边声明)
212
+ - `codument/std/sop/questioning.md`(ask-single-question-free / -closed / ask-multi-question-free)
213
+ - `codument/std/attractors/knowledge-tiers.md`(晋升阶梯、真源优先级)
214
+ - `codument/std/attractors/model-driven-docs.md`(docs/modeling 与 docs/impl 路由、frontmatter)
@@ -0,0 +1,87 @@
1
+ # skill: codument-discuss(创建 track/mission 前的上下文讨论)
2
+
3
+ 在还没有决定要 quick、track 还是 mission 前,先基于 Codument owner 知识和项目工程文件做一次轻量上下文搜集、问题树澄清与任务尺度分流。
4
+
5
+ > 本 operation 不创建 track、mission、discussion workspace,也不创建 `codument/discussions/`。讨论内容和临时决策主要留在 AI agent 上下文;只有必要的临时 analysis 写入 `codument/analysis/`,并在每次 discuss 开始和转入 plan 前清理。
6
+
7
+ ## 0. 定位
8
+
9
+ `codument-discuss` 是 pre-plan 讨论入口:
10
+
11
+ - 不修改源码。
12
+ - 不创建 track/mission。
13
+ - 不写 proposal/design/behavior delta。
14
+ - 不持久化 discussion workspace。
15
+ - 输出一个明确建议:`quick | track | mission | blocked`。
16
+
17
+ 如果目标 track 已存在、用户要细化某个 phase,使用 `codument-discuss-phase`。
18
+
19
+ ## 1. 临时 analysis 生命周期
20
+
21
+ 每次触发 `codument-discuss`:
22
+
23
+ 1. 删除旧的 `codument/analysis/`。
24
+ 2. 创建新的 `codument/analysis/`。
25
+ 3. 可写入:
26
+ - `context.md`:代码、测试、behavior/modeling/engineering、archive、mission/track 扫描摘要。
27
+ - `decision-tree.md`:Root Question、QuestionSeverity、Decision Frontier、Assumptions。
28
+ - `recommendation.md`:route、理由、下一步命令、未决问题。
29
+ 4. 如果用户同意进入 `codument-plan-track` 或 `codument-plan-mission`,在开始创建前再次删除 `codument/analysis/`。
30
+
31
+ `codument/analysis/` 是 scratch,不是 owner 真源;稳定结论应在后续 quick/track/mission 中按知识层级进入 `codument/modeling`、`codument/engineering`、`behaviors`、`decisions` 或 memory。
32
+
33
+ ## 2. 上下文搜集
34
+
35
+ 先执行命令级前置 hook:若 `operation-hooks.xml` 为 `discuss:before` 配了 `<cdt:AttractorCheck use="coding"/>`,读取 `coding` profile 和其引用的 attractors。
36
+
37
+ 然后读取:
38
+
39
+ - `codument/attractors/` 与 `codument/std/attractors/`。
40
+ - `codument/behaviors/`。
41
+ - `codument/modeling/` 与 `codument/engineering/`(如果存在)。
42
+ - `codument/decisions/`、`codument/memory/`。
43
+ - 当前 active tracks、missions、archive 中相关历史。
44
+ - 相关源码、测试、配置和文档。
45
+
46
+ ## 3. Questioning
47
+
48
+ 使用 `codument/std/sop/questioning.md` 的 severity:
49
+
50
+ | severity | 行为 |
51
+ |---|---|
52
+ | `auto` | 不提问,直接基于证据给 route 和保守假设。 |
53
+ | `light` | 默认,只问 P0 用户意图或不可逆取舍。 |
54
+ | `normal` | 可问 P0/P1,每题给推荐答案与取舍。 |
55
+ | `deep` | 适合不确定性大的方向探索,但仍必须把 frontier 收敛到下一步 route。 |
56
+
57
+ ## 4. 分流规则
58
+
59
+ | route | 条件 | 下一步 |
60
+ |---|---|---|
61
+ | `quick` | 小范围 bug、测试、局部重构、配置修正;不引入新行为契约和长期规划对象 | `codument-impl-quick` |
62
+ | `track` | 新能力、行为变化、架构/模式调整、风险较高或需要 proposal/design/behavior delta | `codument-plan-track` |
63
+ | `mission` | 跨多个 track/仓库,长期自动化,执行期需要重规划 | `codument-plan-mission` |
64
+ | `blocked` | 关键信息缺失、权限/环境不可用、用户目标冲突 | 先补证据或请求用户决策 |
65
+
66
+ ## 5. 输出格式
67
+
68
+ 最终回复必须包含:
69
+
70
+ ```text
71
+ route: quick|track|mission|blocked
72
+ reason:
73
+ suggested_next_command:
74
+ evidence_read:
75
+ open_questions:
76
+ analysis_files:
77
+ ```
78
+
79
+ 如果 route 是 `track` 或 `mission`,开始 planning 前清理 `codument/analysis/`。
80
+
81
+ ## 引用
82
+
83
+ - `codument/std/sop/questioning.md`
84
+ - `codument/std/operations/plan-track.md`
85
+ - `codument/std/operations/plan-mission.md`
86
+ - `codument/std/operations/impl-quick.md`
87
+ - `codument/std/attractors/knowledge-tiers.md`
@@ -0,0 +1,148 @@
1
+ # skill: codument-docs-bootstrap(把现存项目总结进分形 docs)
2
+
3
+ **本提示词供执行文档建模引导的代理阅读。** 当前任务是读取现存项目事实,按 Codument docs 分形规范一次性建立或更新 `docs/modeling/` 与 `docs/impl/`,并记录不确定项,为后续 knowledge sync 打底。
4
+
5
+ > 本文是完整协议(口径已对齐当前标准)。**程序化的执行流程**(inventory→write-modeling→write-impl→backfill-manifests→record-uncertainty 序列)用流程标记块(` ```text ` + `@delimiter: --`,构造词汇见 `codument/std/operations/_operation-spec.md`)表达;**说明、规则、背景、示例**用 Markdown,内嵌 XML/YAML 用围栏。
6
+ >
7
+ > 口径映射:`codument:docs-bootstrap`→`codument-docs-bootstrap`;`codument/specs/`→`codument/behaviors/`;分形规范路径**修正**为 `codument/std/docs-modeling-fractal/index.md` 与 `codument/std/docs-impl-fractal/index.md`(**不是** `attractors/docs-*-fractal`)。
8
+
9
+ ---
10
+
11
+ ## 0. 总纲
12
+
13
+ 你是 Codument 文档建模代理。当前任务是按 Codument docs 分形规范建立或更新:
14
+
15
+ - **`docs/modeling/`**:领域本体——领域模型、能力边界、用户/系统行为、约束、状态机、术语、业务规则、与实现无关的外部契约。**领域中立**——类目词汇由本领域真源结构决定,**不写死 web / surface / backend 这类结构**。
16
+ - **`docs/impl/`**:实现知识——目录与模块职责、入口/命令/API/任务流、数据流与持久化、配置/运行/测试/构建、关键实现决策与已知限制。
17
+
18
+ 铁律:**不要把猜测写成事实**。不确定信息必须写入待确认事项(uncertainty / TODO)。
19
+
20
+ 本 skill 是**普通文档整理流程**,不需要 gap-loop 式 fresh child orchestration;只有用户显式要求并行审查时才考虑委派子代理(见 `codument/std/operations/gap-loop.md`)。
21
+
22
+ **入参**(可选):`scope`——要总结的子系统 / 目录;缺省全项目。
23
+
24
+ ### 与 docs profile 的关系
25
+
26
+ - **bootstrap 建立 docs 体系**:这是**一次性引导**,把现状落成分形 docs 的起点。
27
+ - 之后 **track 归档时由 `artifact-sync` 做增量同步**(docs profile enabled + 显式 hook,见 `codument/std/operations/artifact-sync.md`)。
28
+ - 即便 docs profile 未启用,本 skill 也可**纯手动跑**。
29
+
30
+ ---
31
+
32
+ ## 1. 输入读取顺序
33
+
34
+ 1. 读取 `codument/attractors/`;旧项目可兼容读取 `codument/project.md`、`codument/product.md`、`codument/tech-stack.md`。
35
+ 2. 读取 `codument/config/attractor-profiles.xml`,确认 `docs` profile 是否启用;**即使未启用,本 skill 仍可手动执行**。
36
+ 3. 读取现有 `docs/modeling`、`docs/impl` 与其他 docs 目录。
37
+ 4. 读取 README、package/config、入口文件、核心源码目录、测试目录、CLI/API 路由或集成点。
38
+ 5. 读取 `codument/behaviors/` 与近期重要 archive/track,**只把能从事实支持的内容写入 docs**。
39
+
40
+ ---
41
+
42
+ ## 2. 写入规则
43
+
44
+ ### 2.1 docs/modeling(稳定知识,领域中立)
45
+
46
+ 写入:领域模型与术语、capability 边界、用户目标与系统行为、约束/状态机/业务规则、与实现无关的外部契约。
47
+
48
+ 按 modeling 分形规范落盘(`codument/std/docs-modeling-fractal/index.md`):
49
+
50
+ - 递归规则不变:`plane → context → 类目 → 叶子`;每层 `index.md` 只导航;一处真源、其余引用;derived 用 `derived_from` 指回 canonical。
51
+ - **类目词汇随领域变**:先问"本领域这个 context 的真源天然分成哪几类",选 3–6 个正交、稳定、领域自然的类目作为 context 第一层子目录——**不要硬套别人的 `objects/policies/workflows` 或写死 web 结构**。
52
+ - 必需 plane:`domain`(canonical 本体);derived plane 按领域命名(`backend`/`surface`/`runtime`/`pipeline`/…)。
53
+
54
+ ### 2.2 docs/impl(实现知识)
55
+
56
+ 写入:目录与模块职责、入口/命令/API/任务流、数据流与持久化、配置/运行/测试/构建、关键实现决策与已知限制。
57
+
58
+ 按 impl 分形规范落盘(`codument/std/docs-impl-fractal/index.md`):
59
+
60
+ - 递归规则同构:`plane → 类目 → 主题 → 叶子`;类目在前、主题在后;本体不放这里,引用 `docs/modeling/`。
61
+ - 推荐默认六类作为起点:`overview / howto / rules / examples / reference / troubleshooting`;领域不适配时在 plane 第一层换成领域自定义类目集。
62
+ - 推荐 plane:`global`(跨 plane 实现知识);其余按领域命名。
63
+
64
+ ### 2.3 文件组织
65
+
66
+ - 优先创建**少量可导航文件**;单文件过长时升级为同名目录 + `index.md`。
67
+ - `index.md` 只做导航与摘要,不塞大量正文。
68
+ - **不覆盖用户已有手写内容**;需要重写时保留可追溯摘要。
69
+
70
+ **最小可用 bootstrap**:若项目还没有 `docs/modeling` 和 `docs/impl`,可先创建两个轻量入口 `docs/modeling/index.md`、`docs/impl/index.md`,先承载事实来源、核心摘要、待确认项与后续拆分计划;一旦正文过长,再把具体主题拆到同名子文件,让 `index.md` 回到导航职责。
71
+
72
+ ---
73
+
74
+ ## 3. 目录职责块(folder-manifest)
75
+
76
+ 对建出的**每个目录**,按 `codument/std/spec/folder-manifest.md` 在其 `index.md` 的 H1 下方写一个**目录职责块**:
77
+
78
+ - **标准文件夹**(分形默认类目):可继承分形默认,写一行**精简型**:
79
+
80
+ ```markdown
81
+ > 目录职责 · holds: <装什么> · excludes: <不装什么/去向> · tier: stable|dated · ⬆from: <晋升来源> · ⬇to: <晋升去向>
82
+ ```
83
+
84
+ - **自定义文件夹**(本领域自己长出的类目,分形规范无法预知):**必须**写**完整型**职责块:
85
+
86
+ ```markdown
87
+ ## 目录职责
88
+ - **holds**:……
89
+ - **excludes**:……(去向)
90
+ - **tier**:`stable` | `dated`
91
+ - **promotes_from**:上游来源层
92
+ - **promotes_to**:下游去向层
93
+ ```
94
+
95
+ 字段语义(`holds`/`excludes`/`tier`/`promotes_from`/`promotes_to`)与 tier/晋升语义对齐 `codument/std/attractors/knowledge-tiers.md`。
96
+
97
+ **补齐(backfill)**:扫描 `docs/` 下每个含 `index.md` 的目录,对**缺职责块**或**自定义目录无完整型块**的补上——从目录名+树中位置套分形默认语义、从实际内容收敛 holds/excludes、从 knowledge-tiers 定 tier 与晋升边;推断不确定时**标 TODO/uncertainty,不臆造**,自定义目录语义模糊时提请人工确认。补齐**幂等**:只补缺失,不覆盖人工已写的块(除非显式确认)。
98
+
99
+ ---
100
+
101
+ ## 4. 执行流程
102
+
103
+ ```text
104
+ @delimiter: --
105
+ -- #sequence ?bootstrap
106
+ ---- #step ?inventory
107
+ 盘点:按 §1 顺序读 attractors / config / 现有 docs / README+源码+测试+路由 / behaviors+近期 track;列出事实来源与已有 docs 状态;决定哪些知识进 modeling、哪些进 impl
108
+ ---- /?inventory
109
+ ---- #step ?write-modeling
110
+ 按 modeling 分形规范把领域/本体(概念、关系、能力本体、约束、术语)落盘到 docs/modeling/...(领域中立,类目由真源结构决定,不写死 web);derived 填 derived_from 不复制 canonical
111
+ ---- /?write-modeling
112
+ ---- #step ?write-impl
113
+ 按 impl 分形规范把实现知识(模块、接口、关键流程、运维)落盘到 docs/impl/...(类目在前主题在后,默认六类或领域自定义);本体引用 docs/modeling,不复制
114
+ ---- /?write-impl
115
+ ---- #step ?backfill-manifests
116
+ 对建出的每个目录按 folder-manifest 给其 index.md 写「目录职责」块(标准类目精简型 / 自定义类目完整型);扫描缺块的幂等补齐,不覆盖人工块
117
+ ---- /?backfill-manifests
118
+ ---- #step ?record-uncertainty
119
+ 对推断不确定处显式标注 TODO/uncertainty,不臆造;docs profile 关闭时本步仍可纯手动执行
120
+ ---- /?record-uncertainty
121
+ ---- #step ?review-report
122
+ Review:检查猜测/重复/过度拆分/实现与建模混写;Report:列出更新的文件、未写入原因、待确认问题
123
+ ---- /?review-report
124
+ -- /?bootstrap
125
+ ```
126
+
127
+ ---
128
+
129
+ ## 5. 验证
130
+
131
+ - 文档中的事实必须能**追溯**到源码、测试、behavior、track、archive、README 或 attractor。
132
+ - `docs/modeling` **不应**写实现目录细节。
133
+ - `docs/impl` **不应**替代领域/behavior 真源(本体引用 `docs/modeling`,不复制)。
134
+ - 每个建出的目录其 `index.md` 都有合法的目录职责块(自定义类目为完整型)。
135
+ - 如项目无测试或入口不明确,记录为待确认,**不阻塞**已有事实整理。
136
+
137
+ ## 输出
138
+
139
+ `docs/modeling/**` 与 `docs/impl/**`(含各目录的目录职责块)+ 待确认/不确定项清单。
140
+
141
+ ## 引用
142
+
143
+ - modeling 分形规范:`codument/std/docs-modeling-fractal/index.md`
144
+ - impl 分形规范:`codument/std/docs-impl-fractal/index.md`
145
+ - 目录职责块格式与补齐:`codument/std/spec/folder-manifest.md`
146
+ - 知识分层 / 晋升 / 真源优先级:`codument/std/attractors/knowledge-tiers.md`
147
+ - 归档期增量 docs 同步:`codument/std/operations/artifact-sync.md`
148
+ - 流程标记块语法:`codument/std/operations/_operation-spec.md`