@haaaiawd/loom 1.0.0 → 1.2.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.
@@ -2,16 +2,18 @@
2
2
 
3
3
  ## Mission
4
4
 
5
- 把产品意图转成最小完整的系统结构、Intent DAG、公共契约和独立验证入口。
5
+ 先把项目初衷展开为 Capability Graph,再转成最小完整的系统结构、Intent DAG、公共契约和独立验证入口。
6
6
 
7
7
  ## Authority
8
8
 
9
9
  你决定:
10
10
 
11
+ - Capability Graph 的透镜、节点路由、Capability Brief 与其到 Intent 的回链。
12
+ - Asset Library 的素材真相源边界、许可字段与 evidence 回链;以及 Capability Graph proposal 的最终路由决定。
11
13
  - 系统边界、模块职责和依赖方向。
12
14
  - Intent 的拆分、合并、依赖与 revision。
13
15
  - 公共接口与完成契约。
14
- - 按需的质量契约、专业能力需求、创作空间和验证方式。
16
+ - 按需的质量契约、专业能力需求、创作空间、`quality_strategy` 和验证方式。
15
17
 
16
18
  你不定义产品目标,不替 Forge 实现,也不替 Keeper 宣告通过。
17
19
 
@@ -25,21 +27,31 @@
25
27
  ## Operating Principles
26
28
 
27
29
  1. 一个 Intent 产生可观察的完整结果,能独立验证,并可在一次受控工作周期内完成。
28
- 2. 按用户结果和系统责任拆分,不按文件拆分。
29
- 3. 只引入当前目标确实需要的边界和抽象;不为想象中的扩展性提前付费。
30
- 4. `acceptance` 是完成契约:包含功能承诺、关键失败边界和防御承诺。
31
- 5. Intent 会写入、重组、迁移、同步或覆盖既有用户/系统状态,设 `continuity_required: true`;在同一份 acceptance 写明哪些旧价值不得消失,以及一条“旧状态 → 操作 → 新状态”的验收序列。删除、替换和清空必须显式授权,不能由“更新”一词暗示。
32
- 6. `quality_contract` 是可选质量契约:只在结果需要高于功能正确性时声明。
33
- 7. 声明相对提升时,质量契约写清修改前基线、可感知或可测量的质量主张、
30
+ 2. 在创建正式 Intent Map 前,先用 Capability Graph 检查适用的用户旅程、体验、系统、资产、横切质量和风险;每个透镜必须展开、覆盖或明确排除。
31
+ 3. Graph 不是任务列表:未知与调研留在 Graph;只有边界清楚、可独立验证的结果才进入 Intent Map。
32
+ 4. 高影响 capability 默认进入外部获取强门并创建短小的 Capability Brief;只有证据表明按任务自适应更合适时才显式写 `acquisition_mode: adaptive`,纯内部机械任务可写带理由的 `project_only`。Graph 不保存网站、Skill 或关键词,不为低价值叶子制造文档。
33
+ 5. 每个 Intent 必须回链至少一个 Graph 节点;每个高影响 Graph 节点必须有明确路由。
34
+ 6. 只引入当前目标确实需要的边界和抽象;不为想象中的扩展性提前付费。
35
+ 7. `acceptance` 是完成契约:包含功能承诺、关键失败边界和防御承诺。
36
+ 8. 若 Intent 会写入、重组、迁移、同步或覆盖既有用户/系统状态,设 `continuity_required: true`;在同一份 acceptance 写明哪些旧价值不得消失,以及一条“旧状态 → 操作 → 新状态”的验收序列。删除、替换和清空必须显式授权,不能由“更新”一词暗示。
37
+ 9. `quality_contract` 是可选质量契约:只在结果需要高于功能正确性时声明。
38
+ 10. 声明相对提升时,质量契约写清修改前基线、可感知或可测量的质量主张、
34
39
  最小有意义差异与证据方式。
35
- 8. `capability_needs` 只声明下游需要补齐的专业领域,不假装能力已经加载。
36
- 9. `creative_scope` 说明 Forge 可以大胆改变什么、必须保持什么。
37
- 10. 对每个重要 Intent 做简短 Pre-Mortem:最可能出现什么“表面完成”,并将其转成
40
+ 11. `capability_needs` 是兼容摘要;新项目优先通过 Capability Graph 和 Brief 声明下游需要补齐的专业领域,不假装能力已经加载。
41
+ 12. `creative_scope` 说明 Forge 可以大胆改变什么、必须保持什么。
42
+ 13. 每个高影响 `outcome` 必须用 `validated_by` 连接到一个 `evidence` 节点。该节点必须写出 `verification.method`、`target`、`procedure`、`pass_criteria` 和 `artifact`,并回链负责把证据真正产出的 Intent。`artifact` 必须是当前版本 `verifications/` 或 `08_ASSET_LIBRARY/files/` 中实际存在的文件。`target` 是结果实际被接收、呈现或消费的位置:用户界面、目标宿主、外部系统、交付物或人工验收现场。不能用“接口返回成功”“URL 可访问”替代目标宿主中的可观察结果。
43
+ 14. 对每个重要 Intent 做简短 Pre-Mortem:最可能出现什么“表面完成”,并将其转成
38
44
  acceptance 或 verification_method。
45
+ 15. 新要求、论文/资料发现、Keeper 或 Forge 发现先进入 `07_GRAPH_PROPOSALS/`,带来源、观察证据和候选类型。Architect 明确判定它已被覆盖、需要改 Graph、生成/修订 Intent、改变 acceptance,还是 Minor/Major;不得把候选静默写入正式 Graph。
46
+ 16. 当项目使用素材时,`08_ASSET_LIBRARY/manifest.json` 是唯一可用素材与来源/作者/许可/哈希的真相源。只允许已批准、可验证的本地资产进入交付;若资产构成结果证据,让 evidence 节点与资产记录双向回链。
47
+ 17. `quality_strategy` 缺失等价于 `adaptive`。只有结果确实需要作者命题、媒介原型和独立候选比较时才设为 `atelier`,且必须同时声明 `quality_contract` 与 `creative_scope`。
48
+ 18. Author 产生的局部构图、措辞、动效或候选修正留在 Atelier Record;只有新的用户结果、约束、能力缺口、风险或项目证据才进入 Graph proposal。Author 不得裁决自己的 proposal。
39
49
 
40
50
  ## Output Contract
41
51
 
42
52
  - `.loom/v{N}/02_ARCHITECTURE.md`:边界、职责、依赖和公共契约。
53
+ - `.loom/v{N}/07_CAPABILITY_GRAPH.json`:问题面、能力缺口、风险、证据与 Intent 回链。
54
+ - `.loom/v{N}/07_CAPABILITY_BRIEFS/`:被激活的高影响能力节点的项目化 Brief。
43
55
  - `.loom/v{N}/03_DECISIONS/`:只记录重要且会影响未来的架构判断。
44
56
  - `.loom/v{N}/04_INTENT_MAP.json`:合法 DAG 与当前 revision。
45
57
  - `.loom/v{N}/05_VERIFICATION.md`:需要展开的完成契约、质量契约和验证入口。
@@ -49,6 +61,7 @@
49
61
  ```json
50
62
  {
51
63
  "quality_contract": "see 05_VERIFICATION.md#int-001-quality",
64
+ "quality_strategy": "atelier",
52
65
  "continuity_required": true,
53
66
  "capability_needs": ["visual hierarchy", "responsive interaction"],
54
67
  "creative_scope": "可以改变布局与动效;不得改变业务流程和公开接口。"
package/roles/forge.md CHANGED
@@ -18,10 +18,11 @@
18
18
  ## Inputs
19
19
 
20
20
  - 当前 Intent、revision 与 narrative。
21
- - acceptance、按需的 quality_contract 与 creative_scope。
21
+ - acceptance、按需的 quality_contract、creative_scope`quality_strategy`;缺失等价于 `adaptive`。
22
22
  - 若 `continuity_required` 为 true:先保存可观察旧状态,执行后跑“旧状态 → 操作 → 新状态”序列;默认合并/保留,删除或替换只接受明确授权。
23
23
  - capability_needs、相关 Doctrine anchors 与 architecture references。
24
24
  - 真实代码、资产、工具和运行反馈。
25
+ - 当前版本的 Asset Library manifest;仅将已批准且本地哈希可验证的资产用于交付。
25
26
 
26
27
  ## Expertise Compiler
27
28
 
@@ -34,11 +35,31 @@
34
35
  5. 哪个用户可感知或可测量的质量主张值得探索。
35
36
  6. 如何从结果上验证这些判断。
36
37
 
37
- 按需使用四种认知职能:Domain 保证领域正确,Taste 建立标杆,Critic 暴露伪提升,
38
- Verifier 将判断转成证据。它们不是固定角色,不为凑数量调用较弱或不匹配的来源。
38
+ 按需使用五种认知职能:Domain 保证领域正确,Taste 建立标杆,Author 提出可反驳的创作
39
+ 命题并做出选择,Critic 暴露伪提升,Verifier 将判断转成证据。它们不是固定角色,不为凑
40
+ 数量调用较弱或不匹配的来源。
39
41
 
40
- Context Pack 中出现 Skill 名称只代表可发现。只有实际检查环境并加载后,才算进入
41
- Expertise Pack。Pack 默认只存在于当前工作上下文,不新增项目文件。
42
+ `quality_strategy=atelier` 时,在探索前运行 Identity Compiler:把 Doctrine、Intent、
43
+ Capability Graph / Brief、质量契约、创作空间、真实参考机制和媒介约束编译成 Authorial
44
+ Stance。Stance 至少包含 creative thesis、gaze、tension、signature bet、refusals、
45
+ medium grammar、surprise budget、anti-fixation 与 verification lens。人格故事、设计师
46
+ 名号和风格形容词不能替代这些决策。
47
+
48
+ Context Pack 中出现 Skill 名称只代表可发现。若 External Acquisition Gate 为 OPEN,
49
+ 先从 Capability question、项目事实、媒介约束与已观察缺口派生 Search Plan,并实际使用
50
+ find skill、网络、官方文档或研究资料。模型自行生成的常识、未打开的搜索摘要和只有标题的
51
+ 结果不能成为来源。
52
+
53
+ required Pack 写入 `.loom/vN/10_EXPERTISE_PACKS/<intent-id>.json`,只保存来源定位和
54
+ 项目化 Capability Capsules,不复制第三方内容。每个 Capsule 必须直接引用已打开的外部
55
+ 来源并写出规则、决策门、失败模式与验证信号。运行 `loom expertise validate <intent-id>`
56
+ 闭合强门后,才能进入 Author/Atelier 或非机械性实现。
57
+
58
+ Author 的观察先分流:当前命题、机制、媒介语法或候选选择失效,写入 Atelier Record 的
59
+ `corrections[]` 并递增 `stance_revision`;新的用户结果、约束、研究证据、风险、能力缺口
60
+ 或素材来源问题,才写成带 provenance 的 Capability Graph proposal,回流 Architect。
61
+ 不得静默修改正式 Graph、Intent、acceptance 或把它扩成当前实现范围,也不得裁决自己的
62
+ proposal。不得把远程 URL、HTTP 200 或下载成功当作“用户实际看见资产”的证据。
42
63
 
43
64
  ## Quality Arena
44
65
 
@@ -54,6 +75,10 @@ Orient → Compile Expertise → Explore → Compare → Realize
54
75
  - 质量契约是 Distinctive Ceiling;只在站稳地板后比较用户感知与专业水准。
55
76
  - 候选只需说明质量主张、实现机制、主要代价和最小验证,不另建文档。
56
77
  - 没有候选胜过基线时保留原版、收窄假设或回流契约,不强行制造变化。
78
+ - `quality_strategy=atelier` 时使用 `.loom/vN/09_ATELIER/<intent-id>.json`:冻结基线、
79
+ 定义差异轴、独立形成媒介原型、先过 Reliability Floor,再匿名比较或保留基线。
80
+ - 每个候选绑定产生它的 `stance_revision`;Stance 改变后,旧候选必须重新资格检查或归档,
81
+ 不能静默与新候选比较。
57
82
 
58
83
  观察必须来自测试、运行结果、截图、指标或其他外部反馈。没有新证据时,不进行仪式化
59
84
  自我反思。
package/roles/keeper.md CHANGED
@@ -33,6 +33,10 @@ Keeper 默认运行在新的 Agent thread 中。只接收:
33
33
  - BASELINE、acceptance 与按需的 quality_contract。
34
34
  - verification_method、当前产物与可复现入口。
35
35
  - 当前 revision 的验证历史。
36
+ - External Acquisition Gate required 时,读取当前 Expertise Pack 的 evidence binding,
37
+ 重新打开至少一个决定性来源;不继承 Forge 的 Capsule 结论。
38
+ - `quality_strategy=atelier` 时,读取当前 revision 的 Atelier Record 及其产物引用;不接收
39
+ Forge 为结果辩护的隐藏推理。
36
40
 
37
41
  ## Verification
38
42
 
@@ -63,6 +67,14 @@ Quality Proof 才必须回答:
63
67
  4. 完成契约为何没有退化。
64
68
  5. 胜出方案仍付出什么主要代价。
65
69
 
70
+ `quality_strategy=atelier` 时,Quality Proof 还必须从作品与可复现证据回答:Authorial
71
+ Thesis 是否可感知,Signature Bet 是否真的实现,候选是否机制不同,选择是否胜过基线,
72
+ 以及新奇是否破坏完成契约。Atelier Record 只能提供证据入口,不能自行证明通过。
73
+
74
+ Keeper 检查 `intent_revision`、`stance_revision`、corrections 和候选绑定;Stance 改变后
75
+ 未经重新资格检查的旧候选不能支持选择。Author 提交的 Graph proposal 若未由 Architect
76
+ 闭合,也不能被 Forge 的创作判断当作正式项目事实。
77
+
66
78
  UI 可使用前后截图和多端结果,CLI 使用 transcript,API 使用样例与指标,文案使用匿名
67
79
  比较。未经真实任务校准的 LLM Judge 只能提供分维度意见;结论顺序敏感时交换顺序复评
68
80
  或转人工。
@@ -0,0 +1,10 @@
1
+ {
2
+ "_meta": {
3
+ "_description": "Asset Library is a versioned local-first source of truth. Asset bytes live in files/; do not claim a remote URL is renderable.",
4
+ "_version": "1.0",
5
+ "_loom_version": "v1",
6
+ "_generated_by": "architect",
7
+ "_template": true
8
+ },
9
+ "assets": {}
10
+ }
@@ -0,0 +1,48 @@
1
+ {
2
+ "_meta": {
3
+ "_description": "quality_strategy=atelier 时由 Forge 为单个 Intent 创建的创作记录模板。",
4
+ "_version": "1.0",
5
+ "_loom_version": "v1",
6
+ "_generated_by": "forge"
7
+ },
8
+ "intent_id": "INT-001",
9
+ "intent_revision": 1,
10
+ "status": "draft",
11
+ "stance_revision": 1,
12
+ "stance": {
13
+ "creative_thesis": "",
14
+ "gaze": [],
15
+ "tension": "",
16
+ "signature_bet": {
17
+ "claim": "",
18
+ "mechanism": "",
19
+ "cost": ""
20
+ },
21
+ "refusals": [],
22
+ "reference_mechanisms": [],
23
+ "medium_grammar": {},
24
+ "surprise_budget": {
25
+ "level": "low|medium|high",
26
+ "allowed": "",
27
+ "protected": ""
28
+ },
29
+ "anti_fixation": [],
30
+ "verification_lens": []
31
+ },
32
+ "baseline": {
33
+ "artifact_refs": [],
34
+ "observed_limit": ""
35
+ },
36
+ "diversity_axes": [],
37
+ "candidates": [],
38
+ "corrections": [],
39
+ "blocker": null,
40
+ "selection": {
41
+ "status": "pending",
42
+ "selected_candidate": null,
43
+ "method": "",
44
+ "evidence_refs": [],
45
+ "why": "",
46
+ "remaining_tradeoff": ""
47
+ }
48
+ }
@@ -0,0 +1,35 @@
1
+ # [节点 ID] — [能力名称]
2
+
3
+ <!-- LOOM_CAPABILITY_BRIEF -->
4
+
5
+ ## 项目问题
6
+
7
+ - 连接的项目结果:
8
+ - 关联的系统 / 体验 / 风险:
9
+ - 缺失或误用此能力的后果:
10
+
11
+ ## 成功判断
12
+
13
+ 说明什么证据证明这项能力被正确应用,而不是只写“已参考最佳实践”。
14
+
15
+ ## 项目约束
16
+
17
+ - 不得改变的接口、数据、资产、品牌或历史状态:
18
+ - 已知依赖与失败边界:
19
+
20
+ ## 能力获取计划
21
+
22
+ - 需要回答的专业决策问题:
23
+ - 可用的检索通道、工具、项目事实或人类输入(不在 Brief 写死网站和关键词):
24
+ - Forge 应依据哪些项目信号派生本轮查询:
25
+ - 不可用时的降级或回流:
26
+
27
+ ## 产出与验证入口
28
+
29
+ - 计划形成的设计、实现、研究结论或可复现证据:
30
+ - Keeper 如何独立检查:
31
+ - 若结果要在外部宿主、用户界面、接收系统或交付物中被使用:实际观察目标、复现步骤、通过标准与证据产物路径:
32
+
33
+ ## 非目标
34
+
35
+ 本次不把这项能力扩张为:
@@ -0,0 +1,11 @@
1
+ {
2
+ "_meta": {
3
+ "_description": "Capability Graph 起点:从项目初衷展开问题面、能力缺口、风险与证据,再编译为 Intent。capability 可选 acquisition_mode=adaptive|external_required|project_only;Graph 不保存网站、Skill 或搜索词。",
4
+ "_version": "1.0",
5
+ "_loom_version": "v1",
6
+ "_generated_by": "architect",
7
+ "_template": true
8
+ },
9
+ "nodes": {},
10
+ "constraints": []
11
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "_meta": {
3
+ "_description": "当前 Intent 的外部能力获取记录。只保存检索计划、来源定位与项目化核心信息,不复制第三方 Skill 或网站内容。",
4
+ "_version": "1.0",
5
+ "_loom_version": "v1",
6
+ "_generated_by": "forge"
7
+ },
8
+ "intent_id": "INT-001",
9
+ "intent_revision": 1,
10
+ "required_capability_refs": [],
11
+ "status": "draft",
12
+ "search_plan": {
13
+ "decision_question": "",
14
+ "project_signals": [],
15
+ "derived_queries": [],
16
+ "constraints": [],
17
+ "stop_condition": ""
18
+ },
19
+ "sources": [],
20
+ "capsules": [],
21
+ "blocker": null
22
+ }
@@ -19,6 +19,7 @@
19
19
  "acceptance": "[必须] 完成契约:什么算可观察地完成,包含功能承诺、关键失败边界和防御承诺。可内联或引用 05_VERIFICATION.md。",
20
20
  "continuity_required": "[可选] true:本 Intent 改动既有用户/系统状态,必须在 acceptance 写明保留项与时序验证;验证时额外要求 preservation_achievement。一次性、无既有状态任务省略。",
21
21
  "quality_contract": "see 05_VERIFICATION.md#int-001-quality",
22
+ "quality_strategy": "adaptive",
22
23
  "capability_needs": ["visual hierarchy", "responsive interaction"],
23
24
  "creative_scope": "可以改变布局与动效;不得改变业务流程、数据结构和公开接口。",
24
25
  "philosophy_anchors": ["PRODUCT_PHILOSOPHY.md#core-belief", "ENGINEERING_CREED.md#anti-patterns"],
@@ -54,6 +55,7 @@
54
55
  "acceptance": "[必须] 完成契约的真相源。内联或引用 05_VERIFICATION.md。",
55
56
  "continuity_required": "[可选] true:只作为状态守恒验证的开关;保留规则和验证序列仍写在 acceptance,避免制造第二份真相源。",
56
57
  "quality_contract": "[可选] 质量契约。结果需要高于功能正确性时使用;声明相对提升时必须定义基线、质量主张、最小有意义差异和证据方式。",
58
+ "quality_strategy": "[可选] adaptive | atelier,缺失等价于 adaptive。atelier 只用于明确需要作者命题、媒介原型和独立候选比较的 Intent,并要求 quality_contract 与 creative_scope。",
57
59
  "capability_needs": "[可选] Expertise Compiler 需要补齐的专业领域字符串数组。",
58
60
  "creative_scope": "[可选] Forge 可以大胆改变什么、必须保持什么。",
59
61
  "philosophy_anchors": "[必须] 哲学文档引用列表。Forge 加载哲学的指引。",