@kungfu-tech/kfd 1.0.0-alpha.2 → 1.0.0-alpha.20

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 (44) hide show
  1. package/.buildchain/kfd-1/contract-world.witness.json +753 -0
  2. package/.buildchain/kfd-2/kfd-foundation.trust-assessment.json +238 -0
  3. package/.buildchain/kfd-2/kfd-foundation.trust-claims.json +225 -0
  4. package/.buildchain/kfd-2/public-release-trust.claim.json +131 -0
  5. package/.buildchain/kfd-3/collaboration-interface.artifact.json +774 -0
  6. package/.buildchain/kfd-3/collaboration-interface.json +421 -0
  7. package/.buildchain/kfd-3/collaboration-interface.prebuild.json +1141 -0
  8. package/README.md +149 -29
  9. package/TRADEMARKS.md +60 -0
  10. package/buildchain.contract-lock.json +86 -0
  11. package/buildchain.release-propagation.json +32 -0
  12. package/decisions/{kfd-1.md → KFD-1.md} +77 -35
  13. package/decisions/{kfd-2.md → KFD-2.md} +63 -11
  14. package/decisions/{kfd-3.md → KFD-3.md} +54 -16
  15. package/decisions/KFD-4.md +182 -0
  16. package/docs/KFD-1-usage.md +37 -0
  17. package/docs/KFD-2-usage.md +123 -0
  18. package/docs/KFD-3-usage.md +98 -0
  19. package/docs/KFD-4-usage.md +31 -0
  20. package/docs/MAP.md +20 -3
  21. package/docs/release-governance.md +28 -0
  22. package/kfd.release.json +13 -0
  23. package/package.json +28 -2
  24. package/registry.json +15 -5
  25. package/release-impact.json +113 -0
  26. package/schemas/kfd-1/contract-world.schema.json +67 -4
  27. package/schemas/kfd-1/witness.schema.json +113 -0
  28. package/schemas/kfd-2/release-claims.schema.json +331 -0
  29. package/schemas/kfd-2/release-trust-passport.schema.json +276 -0
  30. package/schemas/kfd-2/trust-assessment.schema.json +313 -0
  31. package/schemas/kfd-2/trust-claims.schema.json +334 -0
  32. package/schemas/kfd-2/trust-taxonomy.schema.json +219 -0
  33. package/schemas/kfd-3/collaboration-interface.schema.json +542 -0
  34. package/schemas/kfd-3/witness.schema.json +167 -0
  35. package/schemas/kfd-4/observer-perspective.schema.json +272 -0
  36. package/schemas/kfd-standards.schema.json +163 -0
  37. package/scripts/check.mjs +930 -0
  38. package/scripts/npm-publish-transaction.mjs +220 -0
  39. package/scripts/update-kfd-1-witness.mjs +35 -0
  40. package/scripts/update-kfd-2-claim.mjs +304 -0
  41. package/scripts/update-kfd-3-witness.mjs +261 -0
  42. package/scripts/update-site-bundle.mjs +353 -0
  43. package/site/kfd-site.json +251 -12
  44. package/standards.json +775 -15
@@ -0,0 +1,272 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://kfd.libkungfu.dev/schemas/kfd-4/observer-perspective.schema.json",
4
+ "title": "KFD-4 observer perspective",
5
+ "type": "object",
6
+ "required": [
7
+ "schemaVersion",
8
+ "contract",
9
+ "standard",
10
+ "id",
11
+ "observer",
12
+ "acceptedFacts",
13
+ "projectionPolicy",
14
+ "verification"
15
+ ],
16
+ "properties": {
17
+ "schemaVersion": {
18
+ "const": 1
19
+ },
20
+ "contract": {
21
+ "const": "kfd-4-observer-perspective"
22
+ },
23
+ "standard": {
24
+ "const": "kfd-4"
25
+ },
26
+ "id": {
27
+ "type": "string",
28
+ "minLength": 1
29
+ },
30
+ "observer": {
31
+ "$ref": "#/$defs/observer"
32
+ },
33
+ "acceptedFacts": {
34
+ "type": "array",
35
+ "items": {
36
+ "$ref": "#/$defs/acceptedFactSource"
37
+ },
38
+ "minItems": 1
39
+ },
40
+ "projectionPolicy": {
41
+ "$ref": "#/$defs/projectionPolicy"
42
+ },
43
+ "causalConstraints": {
44
+ "type": "array",
45
+ "items": {
46
+ "$ref": "#/$defs/causalConstraint"
47
+ },
48
+ "default": []
49
+ },
50
+ "degradedEvidence": {
51
+ "type": "array",
52
+ "items": {
53
+ "$ref": "#/$defs/degradedEvidence"
54
+ },
55
+ "default": []
56
+ },
57
+ "verification": {
58
+ "$ref": "#/$defs/verification"
59
+ }
60
+ },
61
+ "additionalProperties": false,
62
+ "$defs": {
63
+ "observer": {
64
+ "type": "object",
65
+ "required": [
66
+ "id",
67
+ "kind"
68
+ ],
69
+ "properties": {
70
+ "id": {
71
+ "type": "string",
72
+ "minLength": 1
73
+ },
74
+ "kind": {
75
+ "enum": [
76
+ "human",
77
+ "agent",
78
+ "runtime-location",
79
+ "product-view",
80
+ "service",
81
+ "other"
82
+ ]
83
+ },
84
+ "location": {
85
+ "type": "string"
86
+ },
87
+ "description": {
88
+ "type": "string"
89
+ }
90
+ },
91
+ "additionalProperties": false
92
+ },
93
+ "acceptedFactSource": {
94
+ "type": "object",
95
+ "required": [
96
+ "sourceId",
97
+ "sourceKind"
98
+ ],
99
+ "properties": {
100
+ "sourceId": {
101
+ "type": "string",
102
+ "minLength": 1
103
+ },
104
+ "sourceKind": {
105
+ "enum": [
106
+ "local-runtime",
107
+ "remote-runtime",
108
+ "imported-bundle",
109
+ "adapter",
110
+ "repository",
111
+ "release-artifact",
112
+ "external-system",
113
+ "other"
114
+ ]
115
+ },
116
+ "location": {
117
+ "type": "string"
118
+ },
119
+ "acceptedRange": {
120
+ "type": "string"
121
+ },
122
+ "watermark": {
123
+ "type": "string"
124
+ },
125
+ "manifest": {
126
+ "type": "string"
127
+ },
128
+ "freshness": {
129
+ "type": "string"
130
+ },
131
+ "provenance": {
132
+ "type": "string"
133
+ }
134
+ },
135
+ "additionalProperties": false
136
+ },
137
+ "projectionPolicy": {
138
+ "type": "object",
139
+ "required": [
140
+ "policyVersion",
141
+ "causalDominance",
142
+ "tieBreaker"
143
+ ],
144
+ "properties": {
145
+ "policyVersion": {
146
+ "type": "string",
147
+ "minLength": 1
148
+ },
149
+ "observerLocation": {
150
+ "type": "string"
151
+ },
152
+ "sourcePriority": {
153
+ "type": "array",
154
+ "items": {
155
+ "type": "string"
156
+ },
157
+ "default": []
158
+ },
159
+ "causalDominance": {
160
+ "const": true
161
+ },
162
+ "concurrentOrdering": {
163
+ "type": "string",
164
+ "description": "How concurrent or causally unrelated facts are ordered under this perspective."
165
+ },
166
+ "tieBreaker": {
167
+ "type": "string",
168
+ "minLength": 1
169
+ }
170
+ },
171
+ "additionalProperties": false
172
+ },
173
+ "causalConstraint": {
174
+ "type": "object",
175
+ "required": [
176
+ "before",
177
+ "after",
178
+ "basis"
179
+ ],
180
+ "properties": {
181
+ "before": {
182
+ "type": "string",
183
+ "minLength": 1
184
+ },
185
+ "after": {
186
+ "type": "string",
187
+ "minLength": 1
188
+ },
189
+ "basis": {
190
+ "enum": [
191
+ "causal-parent",
192
+ "trigger-frame",
193
+ "stream-topology",
194
+ "manifest-boundary",
195
+ "accepted-range",
196
+ "source-local-order",
197
+ "other"
198
+ ]
199
+ },
200
+ "evidence": {
201
+ "type": "string"
202
+ }
203
+ },
204
+ "additionalProperties": false
205
+ },
206
+ "degradedEvidence": {
207
+ "type": "object",
208
+ "required": [
209
+ "id",
210
+ "state",
211
+ "reason"
212
+ ],
213
+ "properties": {
214
+ "id": {
215
+ "type": "string",
216
+ "minLength": 1
217
+ },
218
+ "state": {
219
+ "enum": [
220
+ "missing-causality",
221
+ "missing-payload",
222
+ "missing-schema",
223
+ "stale-source",
224
+ "incomplete-range",
225
+ "unknown-policy-version",
226
+ "unverified-source",
227
+ "other"
228
+ ]
229
+ },
230
+ "reason": {
231
+ "type": "string",
232
+ "minLength": 1
233
+ },
234
+ "impact": {
235
+ "enum": [
236
+ "display-warning",
237
+ "trust-downgrade",
238
+ "view-invalid",
239
+ "action-required"
240
+ ]
241
+ }
242
+ },
243
+ "additionalProperties": false
244
+ },
245
+ "verification": {
246
+ "type": "object",
247
+ "required": [
248
+ "result"
249
+ ],
250
+ "properties": {
251
+ "result": {
252
+ "enum": [
253
+ "pass",
254
+ "degraded",
255
+ "fail",
256
+ "not-checked"
257
+ ]
258
+ },
259
+ "command": {
260
+ "type": "string"
261
+ },
262
+ "checkedAt": {
263
+ "type": "string"
264
+ },
265
+ "notes": {
266
+ "type": "string"
267
+ }
268
+ },
269
+ "additionalProperties": false
270
+ }
271
+ }
272
+ }
@@ -142,6 +142,10 @@
142
142
  "url": {
143
143
  "type": "string",
144
144
  "format": "uri"
145
+ },
146
+ "sha256": {
147
+ "type": "string",
148
+ "pattern": "^[0-9a-f]{64}$"
145
149
  }
146
150
  },
147
151
  "additionalProperties": false
@@ -186,12 +190,171 @@
186
190
  "type": "string"
187
191
  }
188
192
  },
193
+ "interfaces": {
194
+ "type": "object",
195
+ "additionalProperties": {
196
+ "type": "object",
197
+ "required": [
198
+ "contract",
199
+ "schemaVersion",
200
+ "schemaId",
201
+ "schemaPath"
202
+ ],
203
+ "properties": {
204
+ "contract": {
205
+ "type": "string",
206
+ "minLength": 1
207
+ },
208
+ "schemaVersion": {
209
+ "type": "integer",
210
+ "minimum": 1
211
+ },
212
+ "schemaId": {
213
+ "type": "string",
214
+ "format": "uri"
215
+ },
216
+ "schemaPath": {
217
+ "type": "string",
218
+ "minLength": 1
219
+ },
220
+ "compatibilityRule": {
221
+ "type": "string",
222
+ "minLength": 1
223
+ }
224
+ },
225
+ "additionalProperties": false
226
+ }
227
+ },
189
228
  "concepts": {
190
229
  "type": "object",
191
230
  "minProperties": 1,
192
231
  "additionalProperties": {
193
232
  "type": "string"
194
233
  }
234
+ },
235
+ "surfaceRegister": {
236
+ "$ref": "#/$defs/surfaceRegister"
237
+ }
238
+ },
239
+ "additionalProperties": false
240
+ },
241
+ "surfaceClass": {
242
+ "enum": [
243
+ "integration-time",
244
+ "cross-time"
245
+ ]
246
+ },
247
+ "compatibilityImpact": {
248
+ "enum": [
249
+ "breaking",
250
+ "additive",
251
+ "none",
252
+ "unclassifiable"
253
+ ]
254
+ },
255
+ "impactProjection": {
256
+ "type": "object",
257
+ "required": [
258
+ "breaking",
259
+ "additive",
260
+ "none",
261
+ "unclassifiable"
262
+ ],
263
+ "properties": {
264
+ "breaking": {
265
+ "type": "string",
266
+ "minLength": 1
267
+ },
268
+ "additive": {
269
+ "type": "string",
270
+ "minLength": 1
271
+ },
272
+ "none": {
273
+ "type": "string",
274
+ "minLength": 1
275
+ },
276
+ "unclassifiable": {
277
+ "type": "string",
278
+ "minLength": 1
279
+ }
280
+ },
281
+ "additionalProperties": false
282
+ },
283
+ "registeredSurface": {
284
+ "type": "object",
285
+ "required": [
286
+ "id",
287
+ "class",
288
+ "description",
289
+ "sourcePath",
290
+ "impactProjection"
291
+ ],
292
+ "properties": {
293
+ "id": {
294
+ "type": "string",
295
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
296
+ },
297
+ "class": {
298
+ "$ref": "#/$defs/surfaceClass"
299
+ },
300
+ "classes": {
301
+ "type": "array",
302
+ "items": {
303
+ "$ref": "#/$defs/surfaceClass"
304
+ },
305
+ "uniqueItems": true,
306
+ "minItems": 1
307
+ },
308
+ "description": {
309
+ "type": "string",
310
+ "minLength": 1
311
+ },
312
+ "sourcePath": {
313
+ "type": "string",
314
+ "minLength": 1
315
+ },
316
+ "weldRationale": {
317
+ "type": "string",
318
+ "minLength": 1
319
+ },
320
+ "impactProjection": {
321
+ "$ref": "#/$defs/impactProjection"
322
+ }
323
+ },
324
+ "additionalProperties": false
325
+ },
326
+ "surfaceRegister": {
327
+ "type": "object",
328
+ "required": [
329
+ "factSource",
330
+ "surfaceClasses",
331
+ "compatibilityImpactClasses",
332
+ "surfaces"
333
+ ],
334
+ "properties": {
335
+ "factSource": {
336
+ "type": "string",
337
+ "minLength": 1
338
+ },
339
+ "surfaceClasses": {
340
+ "type": "array",
341
+ "items": {
342
+ "$ref": "#/$defs/surfaceClass"
343
+ },
344
+ "uniqueItems": true
345
+ },
346
+ "compatibilityImpactClasses": {
347
+ "type": "array",
348
+ "items": {
349
+ "$ref": "#/$defs/compatibilityImpact"
350
+ },
351
+ "uniqueItems": true
352
+ },
353
+ "surfaces": {
354
+ "type": "array",
355
+ "items": {
356
+ "$ref": "#/$defs/registeredSurface"
357
+ }
195
358
  }
196
359
  },
197
360
  "additionalProperties": false