@kungfu-tech/kfd 1.0.0-alpha.16 → 1.0.0-alpha.18
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.
- package/.buildchain/kfd-1/contract-world.witness.json +18 -18
- package/.buildchain/kfd-2/public-release-trust.claim.json +22 -16
- package/.buildchain/kfd-3/collaboration-interface.artifact.json +26 -21
- package/.buildchain/kfd-3/collaboration-interface.prebuild.json +12 -7
- package/README.md +13 -4
- package/buildchain.contract-lock.json +71 -0
- package/kfd.release.json +1 -1
- package/package.json +3 -1
- package/release-impact.json +10 -4
- package/scripts/check.mjs +7 -3
- package/scripts/update-kfd-2-claim.mjs +1 -0
- package/scripts/update-kfd-3-witness.mjs +1 -0
- package/scripts/update-site-bundle.mjs +10 -2
- package/site/kfd-site.json +13 -4
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
{
|
|
25
25
|
"name": "readme",
|
|
26
26
|
"sourcePath": "README.md",
|
|
27
|
-
"sourceSha256": "
|
|
27
|
+
"sourceSha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
|
|
28
28
|
"artifactPath": "README.md",
|
|
29
|
-
"expectedSha256": "
|
|
29
|
+
"expectedSha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
|
|
30
30
|
"byteForByte": true
|
|
31
31
|
},
|
|
32
32
|
{
|
|
@@ -136,9 +136,9 @@
|
|
|
136
136
|
{
|
|
137
137
|
"name": "kfd-site-bundle",
|
|
138
138
|
"sourcePath": "site/kfd-site.json",
|
|
139
|
-
"sourceSha256": "
|
|
139
|
+
"sourceSha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
|
|
140
140
|
"artifactPath": "site/kfd-site.json",
|
|
141
|
-
"expectedSha256": "
|
|
141
|
+
"expectedSha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
|
|
142
142
|
"byteForByte": true
|
|
143
143
|
},
|
|
144
144
|
{
|
|
@@ -168,17 +168,17 @@
|
|
|
168
168
|
{
|
|
169
169
|
"name": "release-impact-ledger",
|
|
170
170
|
"sourcePath": "release-impact.json",
|
|
171
|
-
"sourceSha256": "
|
|
171
|
+
"sourceSha256": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed",
|
|
172
172
|
"artifactPath": "release-impact.json",
|
|
173
|
-
"expectedSha256": "
|
|
173
|
+
"expectedSha256": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed",
|
|
174
174
|
"byteForByte": true
|
|
175
175
|
},
|
|
176
176
|
{
|
|
177
177
|
"name": "kfd-check-gate",
|
|
178
178
|
"sourcePath": "scripts/check.mjs",
|
|
179
|
-
"sourceSha256": "
|
|
179
|
+
"sourceSha256": "ffccf0a401a75f49e85e7bfdb22e4d7d32a5c81e07e386a9c2e627872b05cf8a",
|
|
180
180
|
"artifactPath": "scripts/check.mjs",
|
|
181
|
-
"expectedSha256": "
|
|
181
|
+
"expectedSha256": "ffccf0a401a75f49e85e7bfdb22e4d7d32a5c81e07e386a9c2e627872b05cf8a",
|
|
182
182
|
"byteForByte": true
|
|
183
183
|
},
|
|
184
184
|
{
|
|
@@ -192,17 +192,17 @@
|
|
|
192
192
|
{
|
|
193
193
|
"name": "buildchain-build-workflow",
|
|
194
194
|
"sourcePath": ".github/workflows/build.yml",
|
|
195
|
-
"sourceSha256": "
|
|
195
|
+
"sourceSha256": "264cd15db6f872c72fc58bcd476d1a3a476ec54b520b05268e213f5b59692f5b",
|
|
196
196
|
"artifactPath": ".github/workflows/build.yml",
|
|
197
|
-
"expectedSha256": "
|
|
197
|
+
"expectedSha256": "264cd15db6f872c72fc58bcd476d1a3a476ec54b520b05268e213f5b59692f5b",
|
|
198
198
|
"byteForByte": true
|
|
199
199
|
},
|
|
200
200
|
{
|
|
201
201
|
"name": "buildchain-ref-promotion-workflow",
|
|
202
202
|
"sourcePath": ".github/workflows/buildchain-ref-promotion.yml",
|
|
203
|
-
"sourceSha256": "
|
|
203
|
+
"sourceSha256": "754a44cedfc174f35dcf54414c04b636bbc0a85e2272f5de8e899a70ee05d7bd",
|
|
204
204
|
"artifactPath": ".github/workflows/buildchain-ref-promotion.yml",
|
|
205
|
-
"expectedSha256": "
|
|
205
|
+
"expectedSha256": "754a44cedfc174f35dcf54414c04b636bbc0a85e2272f5de8e899a70ee05d7bd",
|
|
206
206
|
"byteForByte": true
|
|
207
207
|
},
|
|
208
208
|
{
|
|
@@ -224,25 +224,25 @@
|
|
|
224
224
|
{
|
|
225
225
|
"name": "kfd-package-manifest",
|
|
226
226
|
"sourcePath": "package.json",
|
|
227
|
-
"sourceSha256": "
|
|
227
|
+
"sourceSha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
228
228
|
"artifactPath": "package.json",
|
|
229
|
-
"expectedSha256": "
|
|
229
|
+
"expectedSha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
230
230
|
"byteForByte": true
|
|
231
231
|
},
|
|
232
232
|
{
|
|
233
233
|
"name": "kfd-release-anchor",
|
|
234
234
|
"sourcePath": "kfd.release.json",
|
|
235
|
-
"sourceSha256": "
|
|
235
|
+
"sourceSha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e",
|
|
236
236
|
"artifactPath": "kfd.release.json",
|
|
237
|
-
"expectedSha256": "
|
|
237
|
+
"expectedSha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e",
|
|
238
238
|
"byteForByte": true
|
|
239
239
|
},
|
|
240
240
|
{
|
|
241
241
|
"name": "kfd-2-public-release-trust-claim",
|
|
242
242
|
"sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
243
|
-
"sourceSha256": "
|
|
243
|
+
"sourceSha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861",
|
|
244
244
|
"artifactPath": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
245
|
-
"expectedSha256": "
|
|
245
|
+
"expectedSha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861",
|
|
246
246
|
"byteForByte": true
|
|
247
247
|
}
|
|
248
248
|
]
|
|
@@ -5,12 +5,12 @@
|
|
|
5
5
|
"sourceBindings": [
|
|
6
6
|
{
|
|
7
7
|
"path": "package.json",
|
|
8
|
-
"sha256": "
|
|
8
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
9
9
|
"id": "package-version-and-exports"
|
|
10
10
|
},
|
|
11
11
|
{
|
|
12
12
|
"path": "kfd.release.json",
|
|
13
|
-
"sha256": "
|
|
13
|
+
"sha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e",
|
|
14
14
|
"id": "anchored-release-version"
|
|
15
15
|
},
|
|
16
16
|
{
|
|
@@ -25,29 +25,34 @@
|
|
|
25
25
|
},
|
|
26
26
|
{
|
|
27
27
|
"path": "release-impact.json",
|
|
28
|
-
"sha256": "
|
|
28
|
+
"sha256": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed",
|
|
29
29
|
"id": "release-impact-ledger"
|
|
30
30
|
},
|
|
31
31
|
{
|
|
32
32
|
"path": "buildchain.toml",
|
|
33
33
|
"sha256": "0dc1179d59b634df364871ea18a66251781321c80a6f7bcb9e3fcf5a48ef738a",
|
|
34
34
|
"id": "buildchain-release-contract"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"path": "buildchain.contract-lock.json",
|
|
38
|
+
"sha256": "9ee8b4d7e8544ffceaf067d29582f8d6b67c4a133b5a0e0d7798b3e467dcd628",
|
|
39
|
+
"id": "buildchain-runtime-contract-lock"
|
|
35
40
|
}
|
|
36
41
|
],
|
|
37
42
|
"machineEvidence": [
|
|
38
43
|
{
|
|
39
44
|
"path": "scripts/check.mjs",
|
|
40
|
-
"sha256": "
|
|
45
|
+
"sha256": "ffccf0a401a75f49e85e7bfdb22e4d7d32a5c81e07e386a9c2e627872b05cf8a",
|
|
41
46
|
"id": "self-verification-command"
|
|
42
47
|
},
|
|
43
48
|
{
|
|
44
49
|
"path": ".github/workflows/build.yml",
|
|
45
|
-
"sha256": "
|
|
50
|
+
"sha256": "264cd15db6f872c72fc58bcd476d1a3a476ec54b520b05268e213f5b59692f5b",
|
|
46
51
|
"id": "buildchain-build-workflow"
|
|
47
52
|
},
|
|
48
53
|
{
|
|
49
54
|
"path": ".github/workflows/buildchain-ref-promotion.yml",
|
|
50
|
-
"sha256": "
|
|
55
|
+
"sha256": "754a44cedfc174f35dcf54414c04b636bbc0a85e2272f5de8e899a70ee05d7bd",
|
|
51
56
|
"id": "buildchain-promotion-workflow"
|
|
52
57
|
},
|
|
53
58
|
{
|
|
@@ -67,15 +72,16 @@
|
|
|
67
72
|
}
|
|
68
73
|
],
|
|
69
74
|
"hashes": {
|
|
70
|
-
"package-version-and-exports": "
|
|
71
|
-
"anchored-release-version": "
|
|
75
|
+
"package-version-and-exports": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
76
|
+
"anchored-release-version": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e",
|
|
72
77
|
"decision-registry": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
|
|
73
78
|
"standards-metadata": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
|
|
74
|
-
"release-impact-ledger": "
|
|
79
|
+
"release-impact-ledger": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed",
|
|
75
80
|
"buildchain-release-contract": "0dc1179d59b634df364871ea18a66251781321c80a6f7bcb9e3fcf5a48ef738a",
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"buildchain-
|
|
81
|
+
"buildchain-runtime-contract-lock": "9ee8b4d7e8544ffceaf067d29582f8d6b67c4a133b5a0e0d7798b3e467dcd628",
|
|
82
|
+
"self-verification-command": "ffccf0a401a75f49e85e7bfdb22e4d7d32a5c81e07e386a9c2e627872b05cf8a",
|
|
83
|
+
"buildchain-build-workflow": "264cd15db6f872c72fc58bcd476d1a3a476ec54b520b05268e213f5b59692f5b",
|
|
84
|
+
"buildchain-promotion-workflow": "754a44cedfc174f35dcf54414c04b636bbc0a85e2272f5de8e899a70ee05d7bd",
|
|
79
85
|
"kfd-2-trust-taxonomy-schema": "a663d301a663cadb8567e3010361f5a630b76b6518ed7603dfd58cbd4e64a658",
|
|
80
86
|
"kfd-2-release-claims-schema": "0f52c4a9949f62163a0fbe14fefc2f2f93f548ae18b6b5c07eb87aedca4c0be0",
|
|
81
87
|
"kfd-2-release-trust-passport-schema": "df7f828605f680f3ff52fe3468cbf8f5e20151fac0d5c31cd9a0de9765efecc1"
|
|
@@ -83,15 +89,15 @@
|
|
|
83
89
|
"artifacts": [
|
|
84
90
|
{
|
|
85
91
|
"name": "@kungfu-tech/kfd",
|
|
86
|
-
"version": "1.0.0-alpha.
|
|
92
|
+
"version": "1.0.0-alpha.18",
|
|
87
93
|
"path": "package.json",
|
|
88
|
-
"sha256": "
|
|
94
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963"
|
|
89
95
|
},
|
|
90
96
|
{
|
|
91
97
|
"name": "kfd-release-anchor",
|
|
92
|
-
"version": "1.0.0-alpha.
|
|
98
|
+
"version": "1.0.0-alpha.18",
|
|
93
99
|
"path": "kfd.release.json",
|
|
94
|
-
"sha256": "
|
|
100
|
+
"sha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e"
|
|
95
101
|
}
|
|
96
102
|
],
|
|
97
103
|
"verification": {
|
|
@@ -243,7 +243,7 @@
|
|
|
243
243
|
{
|
|
244
244
|
"id": "doc:readme",
|
|
245
245
|
"sourcePath": "README.md",
|
|
246
|
-
"sha256": "
|
|
246
|
+
"sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0"
|
|
247
247
|
},
|
|
248
248
|
{
|
|
249
249
|
"id": "doc:trademarks",
|
|
@@ -337,36 +337,41 @@
|
|
|
337
337
|
{
|
|
338
338
|
"id": "metadata:release-impact",
|
|
339
339
|
"sourcePath": "release-impact.json",
|
|
340
|
-
"sha256": "
|
|
340
|
+
"sha256": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed"
|
|
341
341
|
},
|
|
342
342
|
{
|
|
343
343
|
"id": "metadata:release-anchor",
|
|
344
344
|
"sourcePath": "kfd.release.json",
|
|
345
|
-
"sha256": "
|
|
345
|
+
"sha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e"
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
"id": "metadata:buildchain-contract-lock",
|
|
349
|
+
"sourcePath": "buildchain.contract-lock.json",
|
|
350
|
+
"sha256": "9ee8b4d7e8544ffceaf067d29582f8d6b67c4a133b5a0e0d7798b3e467dcd628"
|
|
346
351
|
},
|
|
347
352
|
{
|
|
348
353
|
"id": "metadata:kfd-2-public-release-trust-claim",
|
|
349
354
|
"sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
350
|
-
"sha256": "
|
|
355
|
+
"sha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861"
|
|
351
356
|
}
|
|
352
357
|
],
|
|
353
358
|
"packageExports": [
|
|
354
359
|
{
|
|
355
360
|
"id": "export:package-json",
|
|
356
361
|
"sourcePath": "package.json#exports",
|
|
357
|
-
"sha256": "
|
|
362
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963"
|
|
358
363
|
},
|
|
359
364
|
{
|
|
360
365
|
"id": "export:npm-files",
|
|
361
366
|
"sourcePath": "package.json#files",
|
|
362
|
-
"sha256": "
|
|
367
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963"
|
|
363
368
|
}
|
|
364
369
|
],
|
|
365
370
|
"siteConsumptionContracts": [
|
|
366
371
|
{
|
|
367
372
|
"id": "site:kfd-site-bundle",
|
|
368
373
|
"sourcePath": "site/kfd-site.json",
|
|
369
|
-
"sha256": "
|
|
374
|
+
"sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858"
|
|
370
375
|
},
|
|
371
376
|
{
|
|
372
377
|
"id": "site:release-propagation",
|
|
@@ -378,7 +383,7 @@
|
|
|
378
383
|
"minimalEntrypoints": [
|
|
379
384
|
{
|
|
380
385
|
"path": "README.md",
|
|
381
|
-
"sha256": "
|
|
386
|
+
"sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
|
|
382
387
|
"description": "Start from the KFD worldview and current decision set."
|
|
383
388
|
},
|
|
384
389
|
{
|
|
@@ -403,29 +408,29 @@
|
|
|
403
408
|
},
|
|
404
409
|
{
|
|
405
410
|
"path": "package.json#exports",
|
|
406
|
-
"sha256": "
|
|
411
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
407
412
|
"description": "Consume the shipped npm package surfaces."
|
|
408
413
|
},
|
|
409
414
|
{
|
|
410
415
|
"path": "kfd.release.json",
|
|
411
|
-
"sha256": "
|
|
416
|
+
"sha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e",
|
|
412
417
|
"description": "Inspect the explicit KFD package version anchor for the current Buildchain release line."
|
|
413
418
|
},
|
|
414
419
|
{
|
|
415
420
|
"path": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
416
|
-
"sha256": "
|
|
421
|
+
"sha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861",
|
|
417
422
|
"description": "Inspect the explicit public KFD-2 claim passed into Buildchain release passport generation."
|
|
418
423
|
},
|
|
419
424
|
{
|
|
420
425
|
"path": "site/kfd-site.json",
|
|
421
|
-
"sha256": "
|
|
426
|
+
"sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
|
|
422
427
|
"description": "Render KFD-owned site text and decision pages without duplicating extraction logic."
|
|
423
428
|
}
|
|
424
429
|
],
|
|
425
430
|
"discoverability": [
|
|
426
431
|
{
|
|
427
432
|
"path": "README.md",
|
|
428
|
-
"sha256": "
|
|
433
|
+
"sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
|
|
429
434
|
"description": "Human and agent entrypoint"
|
|
430
435
|
},
|
|
431
436
|
{
|
|
@@ -450,17 +455,17 @@
|
|
|
450
455
|
},
|
|
451
456
|
{
|
|
452
457
|
"path": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
453
|
-
"sha256": "
|
|
458
|
+
"sha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861",
|
|
454
459
|
"description": "KFD-2 public release trust claim"
|
|
455
460
|
},
|
|
456
461
|
{
|
|
457
462
|
"path": "package.json",
|
|
458
|
-
"sha256": "
|
|
463
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
459
464
|
"description": "Package export map"
|
|
460
465
|
},
|
|
461
466
|
{
|
|
462
467
|
"path": "site/kfd-site.json",
|
|
463
|
-
"sha256": "
|
|
468
|
+
"sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
|
|
464
469
|
"description": "Site content projection"
|
|
465
470
|
}
|
|
466
471
|
],
|
|
@@ -477,19 +482,19 @@
|
|
|
477
482
|
},
|
|
478
483
|
{
|
|
479
484
|
"path": "scripts/check.mjs",
|
|
480
|
-
"sha256": "
|
|
485
|
+
"sha256": "ffccf0a401a75f49e85e7bfdb22e4d7d32a5c81e07e386a9c2e627872b05cf8a",
|
|
481
486
|
"description": "Repository self-verification gate"
|
|
482
487
|
},
|
|
483
488
|
{
|
|
484
489
|
"path": "site/kfd-site.json",
|
|
485
|
-
"sha256": "
|
|
490
|
+
"sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
|
|
486
491
|
"description": "Site rendering boundary"
|
|
487
492
|
}
|
|
488
493
|
],
|
|
489
494
|
"choicePaths": [
|
|
490
495
|
{
|
|
491
496
|
"path": "README.md",
|
|
492
|
-
"sha256": "
|
|
497
|
+
"sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
|
|
493
498
|
"description": "Human reading path"
|
|
494
499
|
},
|
|
495
500
|
{
|
|
@@ -504,12 +509,12 @@
|
|
|
504
509
|
},
|
|
505
510
|
{
|
|
506
511
|
"path": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
507
|
-
"sha256": "
|
|
512
|
+
"sha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861",
|
|
508
513
|
"description": "Agent release trust claim path"
|
|
509
514
|
},
|
|
510
515
|
{
|
|
511
516
|
"path": "package.json",
|
|
512
|
-
"sha256": "
|
|
517
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963",
|
|
513
518
|
"description": "Package consumption path"
|
|
514
519
|
}
|
|
515
520
|
],
|
|
@@ -725,7 +725,7 @@
|
|
|
725
725
|
{
|
|
726
726
|
"id": "doc:readme",
|
|
727
727
|
"sourcePath": "README.md",
|
|
728
|
-
"sha256": "
|
|
728
|
+
"sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0"
|
|
729
729
|
},
|
|
730
730
|
{
|
|
731
731
|
"id": "doc:trademarks",
|
|
@@ -819,36 +819,41 @@
|
|
|
819
819
|
{
|
|
820
820
|
"id": "metadata:release-impact",
|
|
821
821
|
"sourcePath": "release-impact.json",
|
|
822
|
-
"sha256": "
|
|
822
|
+
"sha256": "41cf5821661af64f38dd782d5f9f5f9a857a01134afa1c06b3da5ceffcc817ed"
|
|
823
823
|
},
|
|
824
824
|
{
|
|
825
825
|
"id": "metadata:release-anchor",
|
|
826
826
|
"sourcePath": "kfd.release.json",
|
|
827
|
-
"sha256": "
|
|
827
|
+
"sha256": "d12c4c4c3bb9cf750b14ef5f72aae7aa7f44ca5197e55739251b587fc3a8df8e"
|
|
828
|
+
},
|
|
829
|
+
{
|
|
830
|
+
"id": "metadata:buildchain-contract-lock",
|
|
831
|
+
"sourcePath": "buildchain.contract-lock.json",
|
|
832
|
+
"sha256": "9ee8b4d7e8544ffceaf067d29582f8d6b67c4a133b5a0e0d7798b3e467dcd628"
|
|
828
833
|
},
|
|
829
834
|
{
|
|
830
835
|
"id": "metadata:kfd-2-public-release-trust-claim",
|
|
831
836
|
"sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
832
|
-
"sha256": "
|
|
837
|
+
"sha256": "46de9b13ea95c08de46c8653eb28edeb686f08e2e9374f2256d8e21221522861"
|
|
833
838
|
}
|
|
834
839
|
],
|
|
835
840
|
"packageExports": [
|
|
836
841
|
{
|
|
837
842
|
"id": "export:package-json",
|
|
838
843
|
"sourcePath": "package.json#exports",
|
|
839
|
-
"sha256": "
|
|
844
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963"
|
|
840
845
|
},
|
|
841
846
|
{
|
|
842
847
|
"id": "export:npm-files",
|
|
843
848
|
"sourcePath": "package.json#files",
|
|
844
|
-
"sha256": "
|
|
849
|
+
"sha256": "356c5da4cf6c3bcbd0369d19e12570c9208c351dbd4728ec6795bae98b38b963"
|
|
845
850
|
}
|
|
846
851
|
],
|
|
847
852
|
"siteConsumptionContracts": [
|
|
848
853
|
{
|
|
849
854
|
"id": "site:kfd-site-bundle",
|
|
850
855
|
"sourcePath": "site/kfd-site.json",
|
|
851
|
-
"sha256": "
|
|
856
|
+
"sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858"
|
|
852
857
|
},
|
|
853
858
|
{
|
|
854
859
|
"id": "site:release-propagation",
|
package/README.md
CHANGED
|
@@ -75,6 +75,16 @@ transparent and inspectable mechanisms it asks products to provide.
|
|
|
75
75
|
This README states the architecture; KFD-1, KFD-2, and KFD-3 provide the
|
|
76
76
|
detailed rules.
|
|
77
77
|
|
|
78
|
+
## Adoption boundary
|
|
79
|
+
|
|
80
|
+
KFD is an engineering discipline, not a belief test.
|
|
81
|
+
KFD governs systems before it judges people.
|
|
82
|
+
No one should be pressured to adopt KFD in the name of KFD.
|
|
83
|
+
Disagreement is a valid cooperation state.
|
|
84
|
+
|
|
85
|
+
A constraint can be strict and still KFD-compatible when it is fact-bound,
|
|
86
|
+
explainable, auditable, and proportionate.
|
|
87
|
+
|
|
78
88
|
## Homepage content contract
|
|
79
89
|
|
|
80
90
|
This README is also the homepage text source for `https://kfd.libkungfu.dev`.
|
|
@@ -104,10 +114,9 @@ separate homepage wording that can drift from this package.
|
|
|
104
114
|
`scripts/update-site-bundle.mjs`. The generated bundle exposes both compatible
|
|
105
115
|
top-level homepage fields and ordered `homepage.sections` entries. The
|
|
106
116
|
`homepage.displayPlan` tells renderers which sections belong in the first
|
|
107
|
-
screen, primary narrative, support area
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
metadata, not as ordinary homepage content.
|
|
117
|
+
screen, primary narrative, and support area. Site repositories should consume
|
|
118
|
+
that bundle instead of parsing this README themselves. The renderer contract is
|
|
119
|
+
exposed as machine/implementation metadata, not as ordinary homepage content.
|
|
111
120
|
|
|
112
121
|
## Product proof path
|
|
113
122
|
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schemaVersion": 1,
|
|
3
|
+
"contract": "kungfu-buildchain-contract-lock",
|
|
4
|
+
"buildchain": {
|
|
5
|
+
"ref": "v2",
|
|
6
|
+
"resolvedSha": "93a42bdfbf60f32fc24e5cc6640f5352eec97224",
|
|
7
|
+
"contract": "kungfu-buildchain-runtime-contract-world",
|
|
8
|
+
"contractDigest": "sha256:7b2fed2dacdf37234ca03e656904611b9c3dd48a4f229be387c7c1393f57fc5b",
|
|
9
|
+
"compatibilityDigest": "sha256:36421b592a782decbfe31a7d8d42d70ce1100a56a2c4f4a0ccc21f0617dc72bf",
|
|
10
|
+
"majorLine": "v2",
|
|
11
|
+
"compatibilityPolicy": "major-compatible",
|
|
12
|
+
"acceptedAt": "2026-07-07T09:29:33.317Z",
|
|
13
|
+
"surfaces": [
|
|
14
|
+
{
|
|
15
|
+
"id": "reusable-build",
|
|
16
|
+
"kind": "workflow",
|
|
17
|
+
"breakingDigest": "sha256:6303aa2c2cb8c2cef4301ceea95cc3c426c2aa81d98714aa9bdf2471d63faee1"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"id": "release-candidate-promote",
|
|
21
|
+
"kind": "workflow",
|
|
22
|
+
"breakingDigest": "sha256:403d2fcdb0c5eabe749e89102defad69745f70a1556707bec7831fcc2e9fa8f8"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"id": "promote-buildchain-ref-action",
|
|
26
|
+
"kind": "action",
|
|
27
|
+
"breakingDigest": "sha256:347b65aecd38bc671d8f697eabd15254f905b6f745389d7b26d7595a904a720c"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"id": "report-buildchain-issue-action",
|
|
31
|
+
"kind": "action",
|
|
32
|
+
"breakingDigest": "sha256:575a2cb02cdb2e61bb2e84d5bbaaf64b430aa5d7936645660b592de4549d81b0"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"id": "release-passport-schema",
|
|
36
|
+
"kind": "schema",
|
|
37
|
+
"breakingDigest": "sha256:b627e1b2ece9b6049517a942c5139e342e6077cdd3d8962d61cef8481b1f70ad"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "kfd-1-release-gate",
|
|
41
|
+
"kind": "schema",
|
|
42
|
+
"breakingDigest": "sha256:f46c1f67b94957ad956cf70db59a73fd5690bd67c91edf9c2d0eb8f3d1e3cf8d"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "kfd-2-release-trust-passport-audit",
|
|
46
|
+
"kind": "schema",
|
|
47
|
+
"breakingDigest": "sha256:f0b636eb925ddbf45ff1a8872454ab7b4dd98857cac12bb75217830130e62a16"
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
"id": "kfd-3-collaboration-interface-release-gate",
|
|
51
|
+
"kind": "schema",
|
|
52
|
+
"breakingDigest": "sha256:33654f3444c893754aacc42dde3051f0a371bd17c6ef7c657c579a07159cd7c1"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "buildchain-cli",
|
|
56
|
+
"kind": "cli",
|
|
57
|
+
"breakingDigest": "sha256:097db3e67509bedda8c6548bf1edfbfcf57f7b5510520b6a7b7e078d7ec087c8"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "agent-manual-registry",
|
|
61
|
+
"kind": "site-contract",
|
|
62
|
+
"breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"id": "node-api-registry",
|
|
66
|
+
"kind": "site-contract",
|
|
67
|
+
"breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945"
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
}
|
package/kfd.release.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kungfu-tech/kfd",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
3
|
+
"version": "1.0.0-alpha.18",
|
|
4
4
|
"description": "Kung Fu Decisions (KFD): the kungfu-systems organization-wide decision registry, as a consumable artifact",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"files": [
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"schemas",
|
|
14
14
|
"site",
|
|
15
15
|
"scripts",
|
|
16
|
+
"buildchain.contract-lock.json",
|
|
16
17
|
"buildchain.release-propagation.json",
|
|
17
18
|
"release-impact.json",
|
|
18
19
|
".buildchain/kfd-1/contract-world.witness.json",
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
"./standards.json": "./standards.json",
|
|
29
30
|
"./kfd.release.json": "./kfd.release.json",
|
|
30
31
|
"./site/kfd-site.json": "./site/kfd-site.json",
|
|
32
|
+
"./buildchain.contract-lock.json": "./buildchain.contract-lock.json",
|
|
31
33
|
"./buildchain.release-propagation.json": "./buildchain.release-propagation.json",
|
|
32
34
|
"./release-impact.json": "./release-impact.json",
|
|
33
35
|
"./scripts/*.mjs": "./scripts/*.mjs",
|
package/release-impact.json
CHANGED
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"id": "kfd-content",
|
|
17
17
|
"impact": "patch",
|
|
18
18
|
"class": "content",
|
|
19
|
-
"rationale": "KFD documents are append-only content coordinates; current documentation changes
|
|
19
|
+
"rationale": "KFD documents are append-only content coordinates; current documentation changes add the public adoption boundary that keeps KFD an engineering discipline rather than a belief test, while preserving the existing decision numbers and registry shape."
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
"id": "kfd-registry-schema",
|
|
@@ -34,13 +34,19 @@
|
|
|
34
34
|
"id": "kfd-package-structure",
|
|
35
35
|
"impact": "minor",
|
|
36
36
|
"class": "additive",
|
|
37
|
-
"rationale": "The npm package now publishes the KFD-2 trust taxonomy, KFD-2 schemas, KFD-2 documentation, KFD-3 self collaboration-interface witnesses, TRADEMARKS.md, public fact-source metadata, agent quickstart/self-proof documentation, and repository verification scripts through existing schemas/, docs/, standards.json, site/, scripts/, .buildchain/, and subpath exports while preserving existing README.md, decisions/, registry.json, and site/ paths."
|
|
37
|
+
"rationale": "The npm package now publishes the KFD-2 trust taxonomy, KFD-2 schemas, KFD-2 documentation, KFD-3 self collaboration-interface witnesses, TRADEMARKS.md, public fact-source metadata, agent quickstart/self-proof documentation, Buildchain contract lock metadata, and repository verification scripts through existing schemas/, docs/, standards.json, site/, scripts/, .buildchain/, and subpath exports while preserving existing README.md, decisions/, registry.json, and site/ paths."
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"id": "kfd-buildchain-contract-lock",
|
|
41
|
+
"impact": "minor",
|
|
42
|
+
"class": "release-governance",
|
|
43
|
+
"rationale": "KFD now uses Buildchain v2 floating workflow refs with a consumer-owned buildchain.contract-lock.json, so Buildchain runtime contract drift is checked before heavy build or promotion work while retaining floating-ref upgrade flow."
|
|
38
44
|
},
|
|
39
45
|
{
|
|
40
46
|
"id": "kfd-site-homepage-bundle",
|
|
41
47
|
"impact": "minor",
|
|
42
48
|
"class": "additive",
|
|
43
|
-
"rationale": "site/kfd-site.json now exposes generated README-backed homepage.sections and homepage.displayPlan fields, and scripts/check.mjs verifies the checked-in bundle matches the README projection so downstream sites can render KFD-owned homepage content without maintaining their own README parser or drifting copy."
|
|
49
|
+
"rationale": "site/kfd-site.json now exposes generated README-backed homepage.sections and homepage.displayPlan fields, including the adoption-boundary homepage section, and scripts/check.mjs verifies the checked-in bundle matches the README projection so downstream sites can render KFD-owned homepage content without maintaining their own README parser or drifting copy."
|
|
44
50
|
},
|
|
45
51
|
{
|
|
46
52
|
"id": "kfd-3-self-collaboration",
|
|
@@ -67,5 +73,5 @@
|
|
|
67
73
|
"rationale": "The KFD to site-libkungfu-dev propagation graph now targets the downstream site's actual main branch and documents the exact KFD package surfaces consumed by kfd.libkungfu.dev, without changing the release propagation graph contract."
|
|
68
74
|
}
|
|
69
75
|
],
|
|
70
|
-
"summary": "KFD v1.0 production promotion is minor-impact because it additively exposes KFD-2 trust taxonomy and release trust metadata, KFD-1/2/3 interface version metadata, KFD-3 self-verification witnesses, document integrity bindings, a README-backed homepage bundle/display plan, and a corrected site release-propagation target for Buildchain and other consumers; existing registry, decision text, site bundle, and propagation graph contracts remain compatible."
|
|
76
|
+
"summary": "KFD v1.0 production promotion is minor-impact because it additively exposes KFD-2 trust taxonomy and release trust metadata, KFD-1/2/3 interface version metadata, KFD-3 self-verification witnesses, Buildchain contract lock metadata, document integrity bindings, a README-backed homepage bundle/display plan, and a corrected site release-propagation target for Buildchain and other consumers; existing registry, decision text, site bundle, and propagation graph contracts remain compatible."
|
|
71
77
|
}
|
package/scripts/check.mjs
CHANGED
|
@@ -76,11 +76,15 @@ if (!Array.isArray(siteBundle.homepage?.sections) || siteBundle.homepage.section
|
|
|
76
76
|
if (!siteBundle.homepage?.displayPlan?.firstScreen?.include?.includes("foundation-triad")) {
|
|
77
77
|
fail("site bundle homepage displayPlan firstScreen must include foundation-triad");
|
|
78
78
|
}
|
|
79
|
-
for (const requiredSection of ["foundation-triad", "foundation-model", "product-proof-path", "agent-quickstart", "decision-metadata"]) {
|
|
79
|
+
for (const requiredSection of ["foundation-triad", "foundation-model", "adoption-boundary", "product-proof-path", "agent-quickstart", "decision-metadata"]) {
|
|
80
80
|
if (!siteBundle.homepage.sections.some((entry) => entry.id === requiredSection && entry.sourcePath === "README.md" && entry.markdown)) {
|
|
81
81
|
fail(`site bundle homepage.sections must include README projection ${requiredSection}`);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
+
const adoptionBoundary = siteBundle.homepage.sections.find((entry) => entry.id === "adoption-boundary");
|
|
85
|
+
if (adoptionBoundary?.includeInFirstScreen !== false || adoptionBoundary?.renderRole !== "primary") {
|
|
86
|
+
fail("site bundle adoption-boundary must be primary content outside the first screen");
|
|
87
|
+
}
|
|
84
88
|
if (siteBundle.homepage.sections.some((entry) => entry.id === "homepage-content-contract")) {
|
|
85
89
|
fail("site bundle homepage.sections must not render the renderer contract as homepage content");
|
|
86
90
|
}
|
|
@@ -119,12 +123,12 @@ for (const requiredPath of ["decisions/kfd-N.md", "registry.json", "standards.js
|
|
|
119
123
|
fail(`site bundle decision metadata publicFactSource.canonicalPaths must include ${requiredPath}`);
|
|
120
124
|
}
|
|
121
125
|
}
|
|
122
|
-
for (const requiredFile of ["README.md", "TRADEMARKS.md", "decisions", "registry.json", "standards.json", "kfd.release.json", "schemas", "site", "buildchain.release-propagation.json", "release-impact.json", ".buildchain/kfd-1/contract-world.witness.json", ".buildchain/kfd-2", ".buildchain/kfd-3", "docs"]) {
|
|
126
|
+
for (const requiredFile of ["README.md", "TRADEMARKS.md", "decisions", "registry.json", "standards.json", "kfd.release.json", "schemas", "site", "buildchain.contract-lock.json", "buildchain.release-propagation.json", "release-impact.json", ".buildchain/kfd-1/contract-world.witness.json", ".buildchain/kfd-2", ".buildchain/kfd-3", "docs"]) {
|
|
123
127
|
if (!Array.isArray(packageJson.files) || !packageJson.files.includes(requiredFile)) {
|
|
124
128
|
fail(`package.json files[] must include ${requiredFile}`);
|
|
125
129
|
}
|
|
126
130
|
}
|
|
127
|
-
for (const requiredExport of ["./TRADEMARKS.md", "./registry.json", "./standards.json", "./kfd.release.json", "./site/kfd-site.json", "./buildchain.release-propagation.json", "./release-impact.json", "./buildchain/kfd-1/contract-world.witness.json", "./buildchain/kfd-2/public-release-trust.claim.json", "./buildchain/kfd-3/collaboration-interface.json", "./buildchain/kfd-3/collaboration-interface.prebuild.json", "./buildchain/kfd-3/collaboration-interface.artifact.json", "./schemas/*.json", "./schemas/*/*.json"]) {
|
|
131
|
+
for (const requiredExport of ["./TRADEMARKS.md", "./registry.json", "./standards.json", "./kfd.release.json", "./site/kfd-site.json", "./buildchain.contract-lock.json", "./buildchain.release-propagation.json", "./release-impact.json", "./buildchain/kfd-1/contract-world.witness.json", "./buildchain/kfd-2/public-release-trust.claim.json", "./buildchain/kfd-3/collaboration-interface.json", "./buildchain/kfd-3/collaboration-interface.prebuild.json", "./buildchain/kfd-3/collaboration-interface.artifact.json", "./schemas/*.json", "./schemas/*/*.json"]) {
|
|
128
132
|
if (!packageJson.exports || !packageJson.exports[requiredExport]) {
|
|
129
133
|
fail(`package.json exports must include ${requiredExport}`);
|
|
130
134
|
}
|
|
@@ -22,6 +22,7 @@ const sourceBindings = [
|
|
|
22
22
|
pointer("standards.json", { id: "standards-metadata" }),
|
|
23
23
|
pointer("release-impact.json", { id: "release-impact-ledger" }),
|
|
24
24
|
pointer("buildchain.toml", { id: "buildchain-release-contract" }),
|
|
25
|
+
pointer("buildchain.contract-lock.json", { id: "buildchain-runtime-contract-lock" }),
|
|
25
26
|
];
|
|
26
27
|
|
|
27
28
|
const machineEvidence = [
|
|
@@ -62,6 +62,7 @@ const groupedSurfaces = {
|
|
|
62
62
|
{ id: "metadata:standards", sourcePath: "standards.json", sha256: sha256File("standards.json") },
|
|
63
63
|
{ id: "metadata:release-impact", sourcePath: "release-impact.json", sha256: sha256File("release-impact.json") },
|
|
64
64
|
{ id: "metadata:release-anchor", sourcePath: "kfd.release.json", sha256: sha256File("kfd.release.json") },
|
|
65
|
+
{ id: "metadata:buildchain-contract-lock", sourcePath: "buildchain.contract-lock.json", sha256: sha256File("buildchain.contract-lock.json") },
|
|
65
66
|
{ id: "metadata:kfd-2-public-release-trust-claim", sourcePath: ".buildchain/kfd-2/public-release-trust.claim.json", sha256: sha256File(".buildchain/kfd-2/public-release-trust.claim.json") },
|
|
66
67
|
],
|
|
67
68
|
packageExports: [
|
|
@@ -139,6 +139,15 @@ export const buildSiteBundle = ({ readmeText, registry }) => {
|
|
|
139
139
|
presentation: "layered-model",
|
|
140
140
|
firstScreen: true,
|
|
141
141
|
}),
|
|
142
|
+
section({
|
|
143
|
+
id: "adoption-boundary",
|
|
144
|
+
sourceHeading: "Adoption boundary",
|
|
145
|
+
title: "Adoption boundary",
|
|
146
|
+
markdown: readme.sections["Adoption boundary"],
|
|
147
|
+
role: "primary",
|
|
148
|
+
priority: 25,
|
|
149
|
+
presentation: "boundary-note",
|
|
150
|
+
}),
|
|
142
151
|
section({
|
|
143
152
|
id: "product-proof-path",
|
|
144
153
|
sourceHeading: "Product proof path",
|
|
@@ -201,9 +210,8 @@ export const buildSiteBundle = ({ readmeText, registry }) => {
|
|
|
201
210
|
maxPrimarySections: 2,
|
|
202
211
|
note: "The first viewport should establish KFD identity and the three-decision worldview without showing renderer or developer contract text.",
|
|
203
212
|
},
|
|
204
|
-
primary: ["foundation-triad", "foundation-model", "product-proof-path"],
|
|
213
|
+
primary: ["foundation-triad", "foundation-model", "adoption-boundary", "product-proof-path"],
|
|
205
214
|
support: ["agent-quickstart", "decision-metadata"],
|
|
206
|
-
rendererContract: ["homepage-content-contract"],
|
|
207
215
|
currentDecisions: {
|
|
208
216
|
source: REGISTRY_PATH,
|
|
209
217
|
placement: "after-primary",
|
package/site/kfd-site.json
CHANGED
|
@@ -99,6 +99,17 @@
|
|
|
99
99
|
"includeInFirstScreen": true,
|
|
100
100
|
"markdown": "The triad is intentionally ordered. It is a compact model for surviving and\nevolving in complex systems, especially in a world where agents can observe,\nact, delegate, and remember across many surfaces.\n\n| Layer | Decision | Reader question | Commitment |\n|---|---|---|---|\n| Fact-source ontology | KFD-1 | What can count as a fact? | Facts must not drift: a load-bearing contract world comes from one declared fact source. |\n| Participant-to-object trust | KFD-2 | When can a user or agent trust a claim, product, artifact, or control surface? | Trust starts from inspectable facts and responsibility state. |\n| Participant-to-participant cooperation | KFD-3 | How should peer intelligent participants cooperate? | Cooperation starts from trusted value: value becomes trustable through transparent facts, stable choice, and explainable constraints. |\n\nIn short:\n\n```text\nnon-drifting facts -> inspectable trust -> trusted value -> voluntary cooperation\n```\n\nThis is why KFDs are not only internal governance text. KFD-1 gives the\nfoundation model its first layer by making fact sources operational: a\nfact-bearing contract world must be declared, inspectable, and unable to drift\ninvisibly. KFD-2 then defines how trust can stand on those facts. KFD-3\ndefines how humans and agents can cooperate once facts and trust are visible.\n\nReal-world agent work turns ordinary work into a dense system of products,\nfiles, repositories, traces, policies, humans, and agents. In that world,\ncomplexity cannot be made safe by hidden state or forced compliance. It has to\nbe compressed through non-drifting facts, inspectable trust, and voluntary\ncooperation. The goal is not to force increasingly capable participants into\ncompliance through stronger pressure. It is to give humans and agents a shared\nworldview for adapting to a more complex world.\n\nThis also changes what a product interface means. Agent-facing CLI, API,\ndocumentation, envelopes, and local fact surfaces are not secondary integration\nchannels after the human GUI. They are first-class interfaces for intelligent\nparticipants that may use the system more frequently than humans do. A control\nplane in this model is a shared work environment for humans and agents, not\nonly a human dashboard over agent activity.\n\nThis model used to be expensive to practice. Stable facts require engineering,\niteration, and disciplined evidence paths, so older systems often survived by\nleaning on cheaper substitutes such as authority, habit, reputation, or\nintuition. Agents change both sides of that equation: they make the world more\ncomplex, and they also provide more intelligence for building fact-bearing\nsystems. KFD is part of that bootstrap: the worldview is forged through the same\ntransparent and inspectable mechanisms it asks products to provide.\n\nThis README states the architecture; KFD-1, KFD-2, and KFD-3 provide the\ndetailed rules."
|
|
101
101
|
},
|
|
102
|
+
{
|
|
103
|
+
"id": "adoption-boundary",
|
|
104
|
+
"sourcePath": "README.md",
|
|
105
|
+
"sourceHeading": "Adoption boundary",
|
|
106
|
+
"title": "Adoption boundary",
|
|
107
|
+
"renderRole": "primary",
|
|
108
|
+
"homepagePriority": 25,
|
|
109
|
+
"defaultPresentation": "boundary-note",
|
|
110
|
+
"includeInFirstScreen": false,
|
|
111
|
+
"markdown": "KFD is an engineering discipline, not a belief test.\nKFD governs systems before it judges people.\nNo one should be pressured to adopt KFD in the name of KFD.\nDisagreement is a valid cooperation state.\n\nA constraint can be strict and still KFD-compatible when it is fact-bound,\nexplainable, auditable, and proportionate."
|
|
112
|
+
},
|
|
102
113
|
{
|
|
103
114
|
"id": "product-proof-path",
|
|
104
115
|
"sourcePath": "README.md",
|
|
@@ -147,15 +158,13 @@
|
|
|
147
158
|
"primary": [
|
|
148
159
|
"foundation-triad",
|
|
149
160
|
"foundation-model",
|
|
161
|
+
"adoption-boundary",
|
|
150
162
|
"product-proof-path"
|
|
151
163
|
],
|
|
152
164
|
"support": [
|
|
153
165
|
"agent-quickstart",
|
|
154
166
|
"decision-metadata"
|
|
155
167
|
],
|
|
156
|
-
"rendererContract": [
|
|
157
|
-
"homepage-content-contract"
|
|
158
|
-
],
|
|
159
168
|
"currentDecisions": {
|
|
160
169
|
"source": "registry.json",
|
|
161
170
|
"placement": "after-primary",
|
|
@@ -175,7 +184,7 @@
|
|
|
175
184
|
"homepagePriority": 90,
|
|
176
185
|
"defaultPresentation": "developer-note",
|
|
177
186
|
"includeInFirstScreen": false,
|
|
178
|
-
"markdown": "This README is also the homepage text source for `https://kfd.libkungfu.dev`.\nWhen `site-libkungfu-dev` consumes the `@kungfu-tech/kfd` npm package to render\nthe KFD site, it should treat this file as the canonical homepage copy, not as\nan implementation note to paraphrase in the site repository.\n\nThe first screen should be derived from this README:\n\n- Page identity: the top-level heading.\n- Lead: the opening paragraph that defines KFD as the organization-wide\n decision registry.\n- Foundation signal: the `Foundation triad` section, especially the three\n one-line commitments.\n- First-screen explanation: the beginning of `Foundation model`, ending at the\n `non-drifting facts -> inspectable trust -> trusted value -> voluntary\n cooperation` chain.\n\nDecision cards, detail links, and machine paths should come from\n`registry.json`. The machine-readable site bundle lives at `site/kfd-site.json`\nand gives renderers stable fields for the homepage, foundation model, product\nproof path, decision routes, and rendering boundary. A site renderer may adapt\nlayout, navigation, typography, and visual assets, but it should not maintain\nseparate homepage wording that can drift from this package.\n\n`site/kfd-site.json` is generated from this README by\n`scripts/update-site-bundle.mjs`. The generated bundle exposes both compatible\ntop-level homepage fields and ordered `homepage.sections` entries. The\n`homepage.displayPlan` tells renderers which sections belong in the first\nscreen, primary narrative,
|
|
187
|
+
"markdown": "This README is also the homepage text source for `https://kfd.libkungfu.dev`.\nWhen `site-libkungfu-dev` consumes the `@kungfu-tech/kfd` npm package to render\nthe KFD site, it should treat this file as the canonical homepage copy, not as\nan implementation note to paraphrase in the site repository.\n\nThe first screen should be derived from this README:\n\n- Page identity: the top-level heading.\n- Lead: the opening paragraph that defines KFD as the organization-wide\n decision registry.\n- Foundation signal: the `Foundation triad` section, especially the three\n one-line commitments.\n- First-screen explanation: the beginning of `Foundation model`, ending at the\n `non-drifting facts -> inspectable trust -> trusted value -> voluntary\n cooperation` chain.\n\nDecision cards, detail links, and machine paths should come from\n`registry.json`. The machine-readable site bundle lives at `site/kfd-site.json`\nand gives renderers stable fields for the homepage, foundation model, product\nproof path, decision routes, and rendering boundary. A site renderer may adapt\nlayout, navigation, typography, and visual assets, but it should not maintain\nseparate homepage wording that can drift from this package.\n\n`site/kfd-site.json` is generated from this README by\n`scripts/update-site-bundle.mjs`. The generated bundle exposes both compatible\ntop-level homepage fields and ordered `homepage.sections` entries. The\n`homepage.displayPlan` tells renderers which sections belong in the first\nscreen, primary narrative, and support area. Site repositories should consume\nthat bundle instead of parsing this README themselves. The renderer contract is\nexposed as machine/implementation metadata, not as ordinary homepage content.",
|
|
179
188
|
"renderAsHomepageContent": false,
|
|
180
189
|
"note": "This is a machine/renderer contract for site implementers. It should not be rendered as ordinary homepage content."
|
|
181
190
|
}
|