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

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 +153 -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 +209 -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 +45 -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 +300 -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 +776 -15
@@ -0,0 +1,300 @@
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
+ "viewSubject": {
31
+ "$ref": "#/$defs/viewSubject"
32
+ },
33
+ "observer": {
34
+ "$ref": "#/$defs/observer"
35
+ },
36
+ "acceptedFacts": {
37
+ "type": "array",
38
+ "items": {
39
+ "$ref": "#/$defs/acceptedFactSource"
40
+ },
41
+ "minItems": 1
42
+ },
43
+ "projectionPolicy": {
44
+ "$ref": "#/$defs/projectionPolicy"
45
+ },
46
+ "causalConstraints": {
47
+ "type": "array",
48
+ "items": {
49
+ "$ref": "#/$defs/causalConstraint"
50
+ },
51
+ "default": []
52
+ },
53
+ "degradedEvidence": {
54
+ "type": "array",
55
+ "items": {
56
+ "$ref": "#/$defs/degradedEvidence"
57
+ },
58
+ "default": []
59
+ },
60
+ "verification": {
61
+ "$ref": "#/$defs/verification"
62
+ }
63
+ },
64
+ "additionalProperties": false,
65
+ "$defs": {
66
+ "viewSubject": {
67
+ "type": "object",
68
+ "required": [
69
+ "kind",
70
+ "description"
71
+ ],
72
+ "properties": {
73
+ "kind": {
74
+ "enum": [
75
+ "timeline",
76
+ "history",
77
+ "replay",
78
+ "sync",
79
+ "ordering",
80
+ "mixed-source-work-state",
81
+ "other"
82
+ ]
83
+ },
84
+ "description": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ }
88
+ },
89
+ "additionalProperties": false
90
+ },
91
+ "observer": {
92
+ "type": "object",
93
+ "required": [
94
+ "id",
95
+ "kind"
96
+ ],
97
+ "properties": {
98
+ "id": {
99
+ "type": "string",
100
+ "minLength": 1
101
+ },
102
+ "kind": {
103
+ "enum": [
104
+ "human",
105
+ "agent",
106
+ "runtime-location",
107
+ "product-view",
108
+ "service",
109
+ "other"
110
+ ]
111
+ },
112
+ "location": {
113
+ "type": "string"
114
+ },
115
+ "description": {
116
+ "type": "string"
117
+ }
118
+ },
119
+ "additionalProperties": false
120
+ },
121
+ "acceptedFactSource": {
122
+ "type": "object",
123
+ "required": [
124
+ "sourceId",
125
+ "sourceKind"
126
+ ],
127
+ "properties": {
128
+ "sourceId": {
129
+ "type": "string",
130
+ "minLength": 1
131
+ },
132
+ "sourceKind": {
133
+ "enum": [
134
+ "local-runtime",
135
+ "remote-runtime",
136
+ "imported-bundle",
137
+ "adapter",
138
+ "repository",
139
+ "release-artifact",
140
+ "external-system",
141
+ "other"
142
+ ]
143
+ },
144
+ "location": {
145
+ "type": "string"
146
+ },
147
+ "acceptedRange": {
148
+ "type": "string"
149
+ },
150
+ "watermark": {
151
+ "type": "string"
152
+ },
153
+ "manifest": {
154
+ "type": "string"
155
+ },
156
+ "freshness": {
157
+ "type": "string"
158
+ },
159
+ "provenance": {
160
+ "type": "string"
161
+ }
162
+ },
163
+ "additionalProperties": false
164
+ },
165
+ "projectionPolicy": {
166
+ "type": "object",
167
+ "required": [
168
+ "policyVersion",
169
+ "causalDominance",
170
+ "tieBreaker"
171
+ ],
172
+ "properties": {
173
+ "policyVersion": {
174
+ "type": "string",
175
+ "minLength": 1
176
+ },
177
+ "observerLocation": {
178
+ "type": "string"
179
+ },
180
+ "sourcePriority": {
181
+ "type": "array",
182
+ "items": {
183
+ "type": "string"
184
+ },
185
+ "default": []
186
+ },
187
+ "causalDominance": {
188
+ "const": true
189
+ },
190
+ "concurrentOrdering": {
191
+ "type": "string",
192
+ "description": "How concurrent or causally unrelated facts are ordered under this perspective."
193
+ },
194
+ "tieBreaker": {
195
+ "type": "string",
196
+ "minLength": 1
197
+ }
198
+ },
199
+ "additionalProperties": false
200
+ },
201
+ "causalConstraint": {
202
+ "type": "object",
203
+ "required": [
204
+ "before",
205
+ "after",
206
+ "basis"
207
+ ],
208
+ "properties": {
209
+ "before": {
210
+ "type": "string",
211
+ "minLength": 1
212
+ },
213
+ "after": {
214
+ "type": "string",
215
+ "minLength": 1
216
+ },
217
+ "basis": {
218
+ "enum": [
219
+ "causal-parent",
220
+ "trigger-frame",
221
+ "stream-topology",
222
+ "manifest-boundary",
223
+ "accepted-range",
224
+ "source-local-order",
225
+ "other"
226
+ ]
227
+ },
228
+ "evidence": {
229
+ "type": "string"
230
+ }
231
+ },
232
+ "additionalProperties": false
233
+ },
234
+ "degradedEvidence": {
235
+ "type": "object",
236
+ "required": [
237
+ "id",
238
+ "state",
239
+ "reason"
240
+ ],
241
+ "properties": {
242
+ "id": {
243
+ "type": "string",
244
+ "minLength": 1
245
+ },
246
+ "state": {
247
+ "enum": [
248
+ "missing-causality",
249
+ "missing-payload",
250
+ "missing-schema",
251
+ "stale-source",
252
+ "incomplete-range",
253
+ "unknown-policy-version",
254
+ "unverified-source",
255
+ "other"
256
+ ]
257
+ },
258
+ "reason": {
259
+ "type": "string",
260
+ "minLength": 1
261
+ },
262
+ "impact": {
263
+ "enum": [
264
+ "display-warning",
265
+ "trust-downgrade",
266
+ "view-invalid",
267
+ "action-required"
268
+ ]
269
+ }
270
+ },
271
+ "additionalProperties": false
272
+ },
273
+ "verification": {
274
+ "type": "object",
275
+ "required": [
276
+ "result"
277
+ ],
278
+ "properties": {
279
+ "result": {
280
+ "enum": [
281
+ "pass",
282
+ "degraded",
283
+ "fail",
284
+ "not-checked"
285
+ ]
286
+ },
287
+ "command": {
288
+ "type": "string"
289
+ },
290
+ "checkedAt": {
291
+ "type": "string"
292
+ },
293
+ "notes": {
294
+ "type": "string"
295
+ }
296
+ },
297
+ "additionalProperties": false
298
+ }
299
+ }
300
+ }
@@ -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