skill-family-engineering-kit 0.2.0 → 0.2.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 (70) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/CHANGELOG.zh-CN.md +21 -0
  3. package/NOTICE +10 -0
  4. package/README.md +157 -55
  5. package/README.zh-CN.md +207 -0
  6. package/candidate/index.mjs +4 -0
  7. package/candidate/profile-bundle.mjs +268 -0
  8. package/candidate/projection-bundle-cli.mjs +22 -0
  9. package/docs/404.html +1434 -408
  10. package/docs/agents/architecture-routing/index.html +1944 -0
  11. package/docs/agents/capability-catalog.en.json +1561 -0
  12. package/docs/agents/capability-catalog.json +934 -0
  13. package/docs/agents/capability-catalog.schema.json +179 -0
  14. package/docs/agents/capability-catalog.zh-CN.json +1561 -0
  15. package/docs/agents/index.html +1914 -0
  16. package/docs/architecture/index.html +1706 -497
  17. package/docs/assets/javascripts/lunr/tinyseg.js +2 -2
  18. package/docs/assets/javascripts/lunr/wordcut.js +37 -37
  19. package/docs/en/agents/architecture-routing/index.html +1944 -0
  20. package/docs/en/agents/index.html +1925 -0
  21. package/docs/en/architecture/index.html +2187 -0
  22. package/docs/en/examples-and-fixtures/index.html +1888 -0
  23. package/docs/en/help/index.html +2035 -0
  24. package/docs/en/index.html +1895 -0
  25. package/docs/en/licensing/index.html +1917 -0
  26. package/docs/en/migration/index.html +2334 -0
  27. package/docs/en/quickstart/index.html +1919 -0
  28. package/docs/en/recipes/adapter-text-closure/index.html +2000 -0
  29. package/docs/en/recipes/adopt-existing-repository/index.html +1986 -0
  30. package/docs/en/recipes/deterministic-human-report/index.html +1998 -0
  31. package/docs/en/recipes/domain-schema-validation/index.html +2007 -0
  32. package/docs/en/recipes/durable-local-state/index.html +2009 -0
  33. package/docs/en/recipes/host-profile-integration/index.html +2001 -0
  34. package/docs/en/recipes/index.html +1876 -0
  35. package/docs/en/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  36. package/docs/en/reference/api/index.html +1917 -0
  37. package/docs/en/reference/compatibility/index.html +1990 -0
  38. package/docs/en/reference/failure-and-side-effect-matrix/index.html +2216 -0
  39. package/docs/examples-and-fixtures/index.html +1871 -0
  40. package/docs/git-lifecycle/index.html +1508 -482
  41. package/docs/help/index.html +1655 -554
  42. package/docs/index.html +1479 -450
  43. package/docs/integration/audit/failure-evidence/index.html +1488 -462
  44. package/docs/integration/audit/independence/index.html +1513 -487
  45. package/docs/integration/audit/index.html +1514 -488
  46. package/docs/integration/audit/mutation-taxonomy/index.html +1548 -522
  47. package/docs/integration/audit/version-compatibility/index.html +1489 -463
  48. package/docs/licensing/index.html +1917 -0
  49. package/docs/migration/index.html +1678 -586
  50. package/docs/public/status/index.html +1542 -516
  51. package/docs/quickstart/index.html +1589 -539
  52. package/docs/recipes/adapter-text-closure/index.html +2000 -0
  53. package/docs/recipes/adopt-existing-repository/index.html +1986 -0
  54. package/docs/recipes/deterministic-human-report/index.html +1998 -0
  55. package/docs/recipes/domain-schema-validation/index.html +2007 -0
  56. package/docs/recipes/durable-local-state/index.html +2009 -0
  57. package/docs/recipes/host-profile-integration/index.html +2001 -0
  58. package/docs/recipes/index.html +1876 -0
  59. package/docs/recipes/safe-filesystem-and-atomic-write/index.html +1994 -0
  60. package/docs/reference/api/contracts/index.html +2532 -0
  61. package/docs/reference/api/engineering-kit/index.html +2551 -0
  62. package/docs/reference/api/harness/index.html +2608 -0
  63. package/docs/reference/api/index.html +1857 -0
  64. package/docs/reference/compatibility/index.html +1990 -0
  65. package/docs/reference/failure-and-side-effect-matrix/index.html +2216 -0
  66. package/docs/search/search_index.json +1 -1
  67. package/docs/setup/index.html +1494 -468
  68. package/docs/sitemap.xml +152 -0
  69. package/package.json +14 -4
  70. package/release-notes/0.2.1.yaml +23 -0
@@ -0,0 +1,179 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "skill-family.documentation-capability-catalog.schema",
4
+ "title": "Skill Family Foundation 能力目录 Schema(core + locale-overlay 双形态)",
5
+ "description": "约束 docs/agents/capability-catalog.json(locale-neutral core,仅机器事实)与 capability-catalog.zh-CN.json / capability-catalog.en.json(locale overlay,仅自然语言解释)。core 不得含任何自然语言说明;两个 overlay 的 capability ID 与字段集合必须完全相等,locale 只允许 en 与 zh-CN,不存在 fallback。该目录是文档层机器事实,不是 Contracts 的新公共对象;任何必填字段缺失或填入空字符串、TBD、营销语言都应被校验器拒绝。",
6
+ "type": "object",
7
+ "additionalProperties": false,
8
+ "required": [
9
+ "schemaVersion",
10
+ "kind",
11
+ "bundle",
12
+ "generatedFrom",
13
+ "capabilities"
14
+ ],
15
+ "properties": {
16
+ "schemaVersion": {
17
+ "type": "integer",
18
+ "const": 1,
19
+ "description": "目录 Schema 版本,当前固定为 1;Contract 权威版本另见 CONTRACTS_VERSION=1.4.0,两套版本并行,不混用。"
20
+ },
21
+ "kind": {
22
+ "type": "string",
23
+ "const": "skill-family.documentation-capability-catalog",
24
+ "description": "目录种类标识,用于机械比对与投影。"
25
+ },
26
+ "bundle": {
27
+ "type": "string",
28
+ "enum": ["core", "locale-overlay"],
29
+ "description": "形态:core 仅机器事实;locale-overlay 仅自然语言解释并携带 locale。"
30
+ },
31
+ "locale": {
32
+ "type": "string",
33
+ "enum": ["en", "zh-CN"],
34
+ "description": "仅 locale-overlay 使用;core 不出现此字段。禁止 locale fallback。"
35
+ },
36
+ "generatedFrom": {
37
+ "type": "array",
38
+ "description": "生成该目录所消费的机器真源路径清单(package.json、src/index.mjs、CLI、registry.json 等)。",
39
+ "items": { "type": "string", "minLength": 1 }
40
+ },
41
+ "capabilities": {
42
+ "type": "array",
43
+ "minItems": 1,
44
+ "items": { "$ref": "#/definitions/capability" }
45
+ }
46
+ },
47
+ "definitions": {
48
+ "capability": {
49
+ "oneOf": [
50
+ { "$ref": "#/definitions/coreCapability" },
51
+ { "$ref": "#/definitions/overlayCapability" }
52
+ ]
53
+ },
54
+ "coreCapability": {
55
+ "type": "object",
56
+ "additionalProperties": false,
57
+ "required": [
58
+ "id", "package", "layer", "since", "stability",
59
+ "entrypoints", "sourceRefs", "positiveTestRefs", "negativeTestRefs"
60
+ ],
61
+ "properties": {
62
+ "id": {
63
+ "type": "string",
64
+ "pattern": "^foundation\\.[a-z0-9\\-]+(\\.[a-z0-9\\-]+)+$",
65
+ "description": "稳定能力 ID,全局唯一,形如 foundation.harness.atomic-write。"
66
+ },
67
+ "package": {
68
+ "type": "string",
69
+ "minLength": 1,
70
+ "description": "承载该能力的包名或层名。取值为 skill-family-contracts、skill-family-harness-node、skill-family-engineering-kit、profiles、foundation 之一。"
71
+ },
72
+ "layer": {
73
+ "type": "string",
74
+ "enum": ["contracts", "harness", "engineering-kit", "profile", "unsupported"],
75
+ "description": "能力所在分层。"
76
+ },
77
+ "since": {
78
+ "type": "string",
79
+ "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+$",
80
+ "description": "该能力首次稳定出现的包版本,必须从 package.json 真源生成或经 fact-check 校验,不得使用 TBD。"
81
+ },
82
+ "stability": {
83
+ "type": "string",
84
+ "enum": ["stable", "unstable", "experimental", "unsupported"],
85
+ "description": "稳定性档位。unsupported 表示明确不在 Foundation 范围内,不得标为 stable。"
86
+ },
87
+ "entrypoints": {
88
+ "type": "array",
89
+ "items": { "type": "string", "minLength": 2 },
90
+ "description": "真实公共入口(函数名 + 源文件路径);unsupported 能力可空。"
91
+ },
92
+ "sourceRefs": {
93
+ "type": "array",
94
+ "items": { "type": "string", "minLength": 2 },
95
+ "description": "仓内真实源文件路径;校验器会核对文件存在。"
96
+ },
97
+ "positiveTestRefs": {
98
+ "type": "array",
99
+ "items": { "type": "string", "minLength": 2 },
100
+ "description": "验证正向行为的正例测试路径;unsupported 可空,其他必须非空且文件存在。"
101
+ },
102
+ "negativeTestRefs": {
103
+ "type": "array",
104
+ "items": { "type": "string", "minLength": 2 },
105
+ "description": "验证拒绝/失败行为的负例测试路径;unsupported 可空,其他必须非空且文件存在。"
106
+ }
107
+ }
108
+ },
109
+ "overlayCapability": {
110
+ "type": "object",
111
+ "additionalProperties": false,
112
+ "required": [
113
+ "id",
114
+ "intent", "useWhen", "doNotUseWhen",
115
+ "prerequisites", "inputs", "outputs",
116
+ "sideEffects", "failureSemantics", "invariants",
117
+ "ownedByCaller", "routeElsewhere"
118
+ ],
119
+ "properties": {
120
+ "id": {
121
+ "type": "string",
122
+ "pattern": "^foundation\\.[a-z0-9\\-]+(\\.[a-z0-9\\-]+)+$",
123
+ "description": "稳定能力 ID,必须与 core 完全一致。"
124
+ },
125
+ "intent": {
126
+ "type": "string",
127
+ "minLength": 4,
128
+ "description": "一句话说明能力解决的真实问题;禁止空泛或营销表述。"
129
+ },
130
+ "useWhen": {
131
+ "type": "array",
132
+ "items": { "type": "string", "minLength": 2 },
133
+ "description": "适用场景;unsupported 能力可空,其他能力至少一条,禁止空字符串或 TBD。"
134
+ },
135
+ "doNotUseWhen": {
136
+ "type": "array",
137
+ "items": { "type": "string", "minLength": 2 },
138
+ "description": "不适用场景;至少一条,禁止空字符串或 TBD。"
139
+ },
140
+ "prerequisites": {
141
+ "type": "array",
142
+ "items": { "type": "string", "minLength": 2 }
143
+ },
144
+ "inputs": {
145
+ "type": "array",
146
+ "items": { "type": "string", "minLength": 2 }
147
+ },
148
+ "outputs": {
149
+ "type": "array",
150
+ "items": { "type": "string", "minLength": 2 }
151
+ },
152
+ "sideEffects": {
153
+ "type": "array",
154
+ "items": { "type": "string", "minLength": 2 },
155
+ "description": "读写文件、spawn、Git、网络、残余状态等真实副作用;纯函数/只读以「无(...)」显式声明。"
156
+ },
157
+ "failureSemantics": {
158
+ "type": "array",
159
+ "items": { "type": "string", "minLength": 2 },
160
+ "description": "失败后的错误码、details.kind 与残余状态。"
161
+ },
162
+ "invariants": {
163
+ "type": "array",
164
+ "items": { "type": "string", "minLength": 2 }
165
+ },
166
+ "ownedByCaller": {
167
+ "type": "array",
168
+ "items": { "type": "string", "minLength": 2 },
169
+ "description": "仍由调用方拥有的业务语义。"
170
+ },
171
+ "routeElsewhere": {
172
+ "type": "array",
173
+ "items": { "type": "string", "minLength": 2 },
174
+ "description": "应转交其他项目(release-skill/loop-agent/artifact-graph/消费者)的情形。"
175
+ }
176
+ }
177
+ }
178
+ }
179
+ }