@haaaiawd/loom 0.9.0 → 1.0.0

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 (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +87 -52
  3. package/cli/bin/loom.js +438 -149
  4. package/cli/help/concepts.md +93 -72
  5. package/cli/help/doctor.md +71 -121
  6. package/cli/help/loop.md +120 -135
  7. package/cli/help/patch.md +33 -0
  8. package/cli/help/preview.md +2 -1
  9. package/cli/help/version.md +92 -16
  10. package/cli/help/workflow.md +89 -100
  11. package/cli/src/activate.js +302 -73
  12. package/cli/src/auto.js +41 -18
  13. package/cli/src/diagnostics.js +223 -50
  14. package/cli/src/guide.js +127 -38
  15. package/cli/src/init.js +50 -29
  16. package/cli/src/intent-draft.js +303 -0
  17. package/cli/src/intent-map.js +540 -54
  18. package/cli/src/patch.js +214 -0
  19. package/cli/src/philosophy.js +181 -156
  20. package/cli/src/preview-prompt.md +13 -6
  21. package/cli/src/preview.js +1 -0
  22. package/cli/src/shared/intent-ref.js +38 -0
  23. package/cli/src/shared/proof-reference.js +19 -0
  24. package/cli/src/shared/verification-method.js +32 -0
  25. package/cli/src/verify.js +204 -51
  26. package/cli/src/version.js +5 -4
  27. package/dimensions/PART_DECOMPOSITION.md +42 -203
  28. package/dimensions/SEARCH_METHODOLOGY.md +101 -97
  29. package/dimensions/examples/AGENT_SYSTEM/README.md +1 -1
  30. package/dimensions/examples/CLI_TOOL/README.md +1 -1
  31. package/dimensions/universal/COLLABORATION_PHILOSOPHY.md +28 -77
  32. package/dimensions/universal/ENGINEERING_CREED.md +30 -74
  33. package/dimensions/universal/PRODUCT_PHILOSOPHY.md +32 -70
  34. package/meta/BASELINE.md +91 -276
  35. package/meta/INTENT_LOOP.md +242 -737
  36. package/meta/PHILOSOPHY_WEAVER.md +110 -343
  37. package/meta/ROLE_ACTIVATION.md +103 -267
  38. package/package.json +4 -3
  39. package/roles/architect.md +71 -111
  40. package/roles/forge.md +87 -126
  41. package/roles/keeper.md +99 -223
  42. package/roles/visionary.md +57 -86
  43. package/templates/INTENT_MAP_TEMPLATE.json +24 -10
  44. package/templates/PHILOSOPHY_TEMPLATE.md +44 -75
  45. package/templates/VISION_TEMPLATE.md +44 -67
@@ -43,7 +43,8 @@ preview_mtime >= source_latest_mtime → fresh
43
43
  - `03_DECISIONS/`
44
44
  - `04_INTENT_MAP.json`
45
45
  - `05_VERIFICATION.md`
46
- - `06_CHANGELOG.md`
46
+ - `06_CHANGELOG.json`(Patch 唯一权威来源)
47
+ - `06_CHANGELOG.md`(确定性生成投影)
47
48
  - `verifications/`
48
49
 
49
50
  ## 为什么不直接打开旧 preview
@@ -2,23 +2,95 @@
2
2
 
3
3
  LOOM 用 .loom/v{N}/ 目录支持多版本共存与演进。
4
4
 
5
- ## 什么时候升级版本
6
-
7
- | 变更类型 | 判定标准 | 处理方式 |
8
- |---|---|---|
9
- | Minor | 不改哲学前提、不改愿景北极星、不改架构边界 | 当前版本内改(变更回流机制) |
10
- | Major | 哲学前提变了、愿景北极星变了、架构边界变了 | 创建新版本 |
11
-
12
- 判定由用户 + Agent 对话完成,CLI 不做决策。
13
-
14
- ## Major 升级流程
5
+ ## 什么时候演进版本
6
+
7
+ | 变更类型 | 判定标准 | 处理方式 |
8
+ |---|---|---|
9
+ | Patch | 不触及 Intent,不改变验收契约,只修 bug / 样式 / 实现细节 | 当前版本内修正,跑验证并记录 changelog;不进入 Intent Loop |
10
+ | Minor | 新增或修改 Intent,但不改哲学前提、不改愿景北极星、不改架构边界 | 当前版本内改(变更回流机制),相关 Intent 进入 pending / needs_review |
11
+ | Major | 哲学前提变了、愿景北极星变了、架构边界变了 | 创建新版本 |
12
+
13
+ 判定由用户 + Agent 对话完成,CLI 不做决策。
14
+
15
+ 哲学修订可用 CLI 做后果分析和审计记录,但 CLI 不自动编辑哲学正文:
16
+
17
+ ```bash
18
+ loom philosophy impact <anchor>
19
+ loom philosophy revise <anchor> --classification clarification --reason "<why>"
20
+ loom philosophy revise <anchor> --classification minor --reason "<why>"
21
+ loom philosophy revise <anchor> --classification major --reason "<why>"
22
+ ```
23
+
24
+ 前两条 revise 在没有 `--confirm` 时严格只读,并返回精确确认命令。确认 clarification 时 `--review` 必须为空,所有直接引用和传递影响均归入 `--unaffected`。确认 minor 时每个影响必须恰好一次归入 `--review` 或 `--unaffected`;review 中仅 `completed` 转为 `needs_review`,其余状态原样报告。两者均不改 acceptance,并写入下一个 `03_DECISIONS/PHIL-REV-NNN.md`。Major 即使带 `--confirm` 也不改当前版本,只提示 `loom version new`。哲学正文随后由 Weaver/用户单独编辑。
25
+
26
+ ## Patch 流程
27
+
28
+ Patch 用于纯实现修正:bugfix、样式微调、文案 typo、测试补强。它不改变 Intent,也不改变验收契约。
29
+
30
+ ```bash
31
+ # 1. 确认当前 Intent 都已完成
32
+ loom guide
33
+
34
+ # 2. 修改实现细节后,按项目约定跑测试 / lint
35
+
36
+ # 3. 如修复影响已有承诺,补一条验证记录
37
+ loom verify write --json-file <path>
38
+
39
+ # 4. 通过 CLI 写入权威 JSON 并生成 Markdown 投影
40
+ loom patch record --json-file <path>
41
+ loom patch validate
42
+ ```
43
+
44
+ Patch 不应使用 `loom version new`,也不应新增 Intent。如果变更需要改验收契约,它已经不是 Patch。
45
+ 完整输入契约见 `loom help patch`。
46
+
47
+ ## Minor 流程
48
+
49
+ Minor 用于当前哲学和架构边界内的能力演进。
50
+
51
+ 常见情况:
52
+ - 新增功能 → 由 Visionary 补叙事,Architect 增加 Intent,再进入 Intent Loop
53
+ - 修改已有功能承诺 → 将相关 Intent 标记为 `needs_review`,重新验证 / 实现
54
+ - 一个改动影响已完成 Intent → 通过反向依赖 / 哲学引用找影响面,标记 `needs_review`
55
+ - 当前版本能力退出但仍需保留历史与依赖图 → 用 `intent deprecate` 记录 lifecycle,不虚构 `deprecated` status
56
+
57
+ ```bash
58
+ # 新增:先创建 draft,再分别由 Visionary / Architect 补齐叙事、契约和锚点
59
+ loom intent add --title "<title>" --depends-on INT-001,INT-002
60
+ loom activate visionary --intent INT-003
61
+ loom activate architect --intent INT-003
62
+ loom intent finalize INT-003
63
+
64
+ # 修订:revision 自动递增,并返回直接/传递反向依赖
65
+ loom intent revise <id> --reason "<why>"
66
+ loom activate visionary --intent <id>
67
+ loom activate architect --intent <id>
68
+ # 必须完整分类所有直接与传递下游;review 会使已完成下游回流复验
69
+ loom intent finalize <id> --review <ids> --unaffected <ids>
70
+
71
+ # 弃用:先评估,确认时完整分类所有直接和传递依赖方
72
+ loom intent deprecate <id> --reason "<why>"
73
+ loom intent deprecate <id> --reason "<why>" --confirm --review <ids> --unaffected <ids>
74
+
75
+ # 继续按 guide 进入收敛趟
76
+ loom guide
77
+ ```
78
+
79
+ `add` / `revise` 在 finalize 前不修改官方 `04_INTENT_MAP.json` 和 `topo_order`。`add` 还会向愿景和验证文档追加明确标记的 draft 章节;finalize 通过后提升这些章节并删除 draft。新增 Intent 是 `pending`;修订保留 `pending` / `in_progress` / `blocked` / `needs_review`,原 `completed` 变为 `needs_review`,旧 revision 的验证自动失效。
80
+
81
+ 当前版本内演进不是偷懒;只要哲学前提、北极星、架构边界没变,Minor 就应该留在当前版本。
82
+
83
+ 弃用要求目标已完成。它写入 `lifecycle.deprecation = { deprecated_at, reason, replacement }`,不改变目标的 `completed` status,也不删除节点、依赖或契约。可选 replacement 必须是另一个当前版本 Intent。所有直接和传递依赖方必须在 review/unaffected 中恰好分类一次;叶子无需分类。重复确认会失败,避免不同参数被误认为已应用。
84
+
85
+ ## Major 升级流程
15
86
 
16
87
  \`\`\`bash
17
88
  # 1. 创建新版本(空目录 + 模板,自动切换为当前)
18
89
  loom version new
19
90
 
20
- # 2. 看看旧版本有什么(Agent 决定参考什么)
21
- loom version diff v1 v2
91
+ # 2. 看文件变化与显式 Intent 沿革
92
+ loom version diff v1 v2
93
+ loom intent diff v1 v2
22
94
 
23
95
  # 3. Weaver 读旧哲学,织造新哲学
24
96
  loom activate weaver
@@ -39,7 +111,9 @@ loom activate architect
39
111
 
40
112
  - **空目录 + 模板**:\`loom version new\` 不自动复制旧版本内容。强制重新思考——参考 ≠ 复制。
41
113
  - **旧版本只读**:当前指针指向的版本是当前真相,旧版本保留作历史参考。
42
- - **Intent ID 重新编号**:v2 INT-001 v1 INT-001 没有关系。追溯靠 Git history \`loom version diff\`。
114
+ - **显式 Intent lineage**:可用 `lineage: { predecessors: [{ version: "v1", intent_id: "INT-003" }], change_summary, change_ref? }` 表达修订、拆分或合并。它不属于 `depends_on`;同 ID/标题不会自动映射。
115
+ - **版本元数据**:脚手架写入真实 `_loom_version`,并写入 `_parent_version`(v1 为 `null`,新版本为创建前的当前版本)。
116
+ - **历史只读**:`v1:INT-003` 可用于 `intent get/narrative/trace` 和 `verify history`,写命令仍只操作当前版本。
43
117
 
44
118
  ## 版本管理命令
45
119
 
@@ -48,13 +122,15 @@ loom version list # 列出所有版本(* 标记当前)
48
122
  loom version current # 显示当前版本
49
123
  loom version new # 创建 v{N+1} + 自动切换
50
124
  loom version use <v> # 切换当前版本
51
- loom version diff <v1> <v2> # 对比文件差异
125
+ loom version diff <v1> <v2> # 对比文件差异
126
+ loom intent diff <v1> <v2> # 对比显式 lineage 与语义字段
127
+ loom verify history v2:INT-007 --across-versions
52
128
  \`\`\`
53
129
 
54
130
  ## 切换回旧版本
55
131
 
56
132
  \`\`\`bash
57
133
  loom version use v1 # 切回 v1 查看历史
58
- loom intent trace <id> # v1 中追溯 Intent 历史
134
+ loom intent trace v1:INT-003 # 无需切换即可只读历史 Intent
59
135
  loom version use v2 # 切回 v2 继续
60
- \`\`\`
136
+ \`\`\`
@@ -1,100 +1,89 @@
1
- ## LOOM 工作流
2
-
3
- 从零到交付的完整流程。每个阶段有明确的产出和验收标准。
4
-
5
- ## 第一步:诊断当前阶段
6
-
7
- \`\`\`bash
8
- loom guide
9
- \`\`\`
10
-
11
- guide 检测项目当前在哪个阶段,输出"你在阶段 X,下一步做 Y"。
12
- Agent 每完成一步都跑 guide 确认下一步。
13
- 审计、预演、子代理探测时用 `loom guide --dry-run`,避免写 `.loom/heartbeat.json`。
14
-
15
- ## AUTO 模式
16
-
17
- \`\`\`bash
18
- loom auto on # 开启:Agent 自动连续执行,不等确认
19
- loom auto off # 关闭:每步需要用户确认
20
- \`\`\`
21
-
22
- AUTO on Agent 一路跑到底,跑完生成 preview 给人看。
23
- AUTO off 时每步停下等用户说继续。
24
-
25
- ## 阶段 1:织造哲学(Weaver)
26
-
27
- \`\`\`bash
28
- loom activate weaver
29
- \`\`\`
30
-
31
- Weaver 根据项目特征从真实思想体系织造定制化哲学。产出:
32
- - PRODUCT_PHILOSOPHY.md — 产品价值观、反模式清单、决策取舍规则
33
- - ENGINEERING_CREED.md — 工程原则(按需)
34
- - DECISION_RUBRIC.md — 冲突时的优先级(按需)
35
- - PROJECT_BASELINE.md — 项目特定底线(按需)
36
-
37
- **验收**:哲学有北极星、有反模式、有决策标准。全是空话就重做。
38
-
39
- ## 阶段 2:定义愿景(Visionary)
40
-
41
- \`\`\`bash
42
- loom activate visionary
43
- \`\`\`
44
-
45
- 基于哲学定义产品愿景,为每个 Intent 写意图叙事("为什么存在")。产出:
46
- - 01_VISION.md — 北极星 + 意图叙事列表
47
-
48
- **验收**:叙事是"为什么"不是"做什么"。写成功能列表就重做。
49
-
50
- ## 阶段 3:设计系统(Architect)
51
-
52
- \`\`\`bash
53
- loom activate architect
54
- \`\`\`
55
-
56
- 基于愿景设计系统结构,绘制 Intent Map。产出:
57
- - 02_ARCHITECTURE.md — 系统设计
58
- - 04_INTENT_MAP.json — Intent 依赖图 + 验收契约 + 哲学锚点
59
-
60
- **验收**:验收契约具体到可验证,依赖无环,每个 Intent 有叙事引用。
61
- \`loom intent validate\` 校验结构,跑 \`loom doctor\` 检查完整性。
62
-
63
- ## 阶段 4:Intent Loop
64
-
65
- \`\`\`bash
66
- loom activate keeper # Keeper 选 Intent、验证
67
- loom activate forge # Forge 实现
68
- loom intent next # 下一个可执行 Intent
69
- loom context # 当前状态摘要
70
- \`\`\`
71
-
72
- 每个 Intent 独立走一圈:选 → 实现 → 验证 → 闭合或修正。
73
- 详细流程见 \`loom help loop\`。
74
-
75
- ## 阶段 5:人类预览
76
-
77
- \`\`\`bash
78
- loom preview status
79
- loom preview
80
- loom preview --regen
81
- \`\`\`
82
-
83
- preview 是给人看的只读投影。Agent 应先跑 `loom preview status`:
84
- - `fresh=true` → 运行 `loom preview` 打开
85
- - `fresh=false` 运行 `loom preview --regen`,按提示词重写 `loom-preview.html`,再打开
86
- - 用户明确要看旧版 `loom preview --stale`
87
-
88
- 详细规则见 `loom help preview`。
89
-
90
- ## 阶段 6:版本演进(按需)
91
-
92
- 当哲学前提/愿景北极星/架构边界变了,需要 Major 升级。
93
- 详细流程见 \`loom help version\`。
94
-
95
- ## 核心原则
96
-
97
- - **哲学是经线,意图是纬线** — 所有角色共享哲学锚点
98
- - **底线不可协商** — BASELINE 5 条 + 项目特定底线,角色激活时强制加载
99
- - **意图可回溯** — 每个 Intent 携带叙事,Keeper 独立验证忠实度
100
- - **文档开销不超过开发开销** — 小项目可以粗粒度,不必教条
1
+ ## LOOM 工作流
2
+
3
+ ## 0. 诊断
4
+
5
+ ```bash
6
+ loom guide
7
+ loom context
8
+ ```
9
+
10
+ 只读探测使用 `loom guide --dry-run`。
11
+
12
+ ## 1. Doctrine — Weaver
13
+
14
+ ```bash
15
+ loom activate weaver
16
+ loom philosophy check
17
+ ```
18
+
19
+ 输出项目长期判断、卓越标准、决策原则、创作空间、反模式与 Evidence Map。
20
+ 研究数量不设配额;只保留真实改变判断、能够追溯的证据。
21
+
22
+ ## 2. Intent Visionary
23
+
24
+ ```bash
25
+ loom activate visionary
26
+ ```
27
+
28
+ 输出产品目标、成功图景、非目标与 Intent narrative。Visionary 不写 acceptance、DAG 或架构。
29
+
30
+ ## 3. Contract — Architect
31
+
32
+ ```bash
33
+ loom activate architect
34
+ loom intent validate
35
+ loom doctor
36
+ ```
37
+
38
+ Architect 产出系统边界、Intent DAG、完成契约和可选质量契约,并声明
39
+ `capability_needs` `creative_scope`。
40
+
41
+ 完成契约定义 **Reliability Floor**:做到什么才算可靠完成。
42
+ 质量契约定义 **Distinctive Ceiling**:什么可观察差异让结果不止合格。
43
+
44
+ ## 4. Quality Engine — Forge 与 Keeper
45
+
46
+ ```bash
47
+ loom intent next
48
+ loom intent update <id> --status in_progress
49
+ loom activate forge --intent <id>
50
+ loom activate keeper --intent <id>
51
+ ```
52
+
53
+ Forge 编译 Expertise Pack,在 Quality Arena 中实现与比较。
54
+ Keeper 从当前磁盘事实和契约独立验证,不继承 Forge 的解释。
55
+
56
+ 无质量契约时,四个基础维度通过即可闭合。存在质量契约时,额外验证
57
+ `quality_achievement`;声明相对提升时,在该维度中链接 Quality Proof:
58
+
59
+ ```bash
60
+ loom verify pass <id> \
61
+ --summary "<具体证据>" \
62
+ --reproduction-command "<可复现命令>" \
63
+ --quality-proof "<基线、比较和稳定性证据的位置>"
64
+
65
+ loom intent done <id>
66
+ ```
67
+
68
+ 复杂或混合判定使用 `loom verify write --json-file <path>`。
69
+
70
+ ## 5. Reflow
71
+
72
+ 验证偏离时,不要把所有问题都扔回 Forge:
73
+
74
+ - Doctrine 不足 → Weaver
75
+ - 产品目标错误 → Visionary
76
+ - 契约、边界或依赖错误 → Architect
77
+ - 专业判断或实现不足 → Forge
78
+ - 证据不足 → Keeper 补证或 `pending_human`
79
+
80
+ 连续三次 `deviated` 自动升级为 `blocked`。所有当前 revision 和当前验证 epoch 的 Intent 都有最新 passed
81
+ 记录,且没有 `needs_review`、`loom doctor` 没有 fatal/high 风险时,本轮收敛。
82
+
83
+ ## 6. 演进
84
+
85
+ - Patch:不改变 Intent 语义,验证后记录 changelog。
86
+ - Minor:用 `loom intent add|revise` 创建 draft,经限定作用域的 Visionary/Architect 更新后 finalize。
87
+ - Major:Doctrine、北极星或主要架构边界改变,使用 `loom version new`。
88
+
89
+ 原则只有一句:流程成本必须小于它降低的风险;质量声明必须小于等于它拥有的证据。