@kungfu-tech/kfd 1.0.0-alpha.15 → 1.0.0-alpha.17

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.
@@ -10,23 +10,23 @@
10
10
  "kind": "standard-metadata",
11
11
  "name": "KFD standards metadata and release propagation surfaces",
12
12
  "schemaId": "https://kfd.libkungfu.dev/schemas/kfd-1/contract-world.schema.json",
13
- "digest": "sha256:7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc"
13
+ "digest": "sha256:7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839"
14
14
  },
15
15
  "canonicalPolicy": {
16
16
  "path": "standards.json",
17
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc"
17
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839"
18
18
  },
19
19
  "registry": {
20
20
  "path": "registry.json",
21
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f"
21
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db"
22
22
  },
23
23
  "surfaces": [
24
24
  {
25
25
  "name": "readme",
26
26
  "sourcePath": "README.md",
27
- "sourceSha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088",
27
+ "sourceSha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
28
28
  "artifactPath": "README.md",
29
- "expectedSha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088",
29
+ "expectedSha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
30
30
  "byteForByte": true
31
31
  },
32
32
  {
@@ -48,25 +48,25 @@
48
48
  {
49
49
  "name": "kfd-3-document",
50
50
  "sourcePath": "decisions/kfd-3.md",
51
- "sourceSha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672",
51
+ "sourceSha256": "6f0bb730f87a574699f2f536ed762ab327f4f506507cf3649bbb8e90140ecdb5",
52
52
  "artifactPath": "decisions/kfd-3.md",
53
- "expectedSha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672",
53
+ "expectedSha256": "6f0bb730f87a574699f2f536ed762ab327f4f506507cf3649bbb8e90140ecdb5",
54
54
  "byteForByte": true
55
55
  },
56
56
  {
57
57
  "name": "kfd-registry",
58
58
  "sourcePath": "registry.json",
59
- "sourceSha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
59
+ "sourceSha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
60
60
  "artifactPath": "registry.json",
61
- "expectedSha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
61
+ "expectedSha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
62
62
  "byteForByte": true
63
63
  },
64
64
  {
65
65
  "name": "kfd-standards",
66
66
  "sourcePath": "standards.json",
67
- "sourceSha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
67
+ "sourceSha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
68
68
  "artifactPath": "standards.json",
69
- "expectedSha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
69
+ "expectedSha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
70
70
  "byteForByte": true
71
71
  },
72
72
  {
@@ -136,9 +136,9 @@
136
136
  {
137
137
  "name": "kfd-site-bundle",
138
138
  "sourcePath": "site/kfd-site.json",
139
- "sourceSha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee",
139
+ "sourceSha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
140
140
  "artifactPath": "site/kfd-site.json",
141
- "expectedSha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee",
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": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730",
171
+ "sourceSha256": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa",
172
172
  "artifactPath": "release-impact.json",
173
- "expectedSha256": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730",
173
+ "expectedSha256": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa",
174
174
  "byteForByte": true
175
175
  },
176
176
  {
177
177
  "name": "kfd-check-gate",
178
178
  "sourcePath": "scripts/check.mjs",
179
- "sourceSha256": "a72c478952ad8b08c2fdcd73838d4b816330bf075b99d9dac44450524217fdf6",
179
+ "sourceSha256": "5932ea07903e8bdd902791c7d6eb7d4f1054594b06ddd382aee2bd411b082669",
180
180
  "artifactPath": "scripts/check.mjs",
181
- "expectedSha256": "a72c478952ad8b08c2fdcd73838d4b816330bf075b99d9dac44450524217fdf6",
181
+ "expectedSha256": "5932ea07903e8bdd902791c7d6eb7d4f1054594b06ddd382aee2bd411b082669",
182
182
  "byteForByte": true
183
183
  },
184
184
  {
@@ -224,25 +224,25 @@
224
224
  {
225
225
  "name": "kfd-package-manifest",
226
226
  "sourcePath": "package.json",
227
- "sourceSha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
227
+ "sourceSha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
228
228
  "artifactPath": "package.json",
229
- "expectedSha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
229
+ "expectedSha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
230
230
  "byteForByte": true
231
231
  },
232
232
  {
233
233
  "name": "kfd-release-anchor",
234
234
  "sourcePath": "kfd.release.json",
235
- "sourceSha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f",
235
+ "sourceSha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6",
236
236
  "artifactPath": "kfd.release.json",
237
- "expectedSha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f",
237
+ "expectedSha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6",
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": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459",
243
+ "sourceSha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966",
244
244
  "artifactPath": ".buildchain/kfd-2/public-release-trust.claim.json",
245
- "expectedSha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459",
245
+ "expectedSha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966",
246
246
  "byteForByte": true
247
247
  }
248
248
  ]
@@ -5,27 +5,27 @@
5
5
  "sourceBindings": [
6
6
  {
7
7
  "path": "package.json",
8
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
8
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
9
9
  "id": "package-version-and-exports"
10
10
  },
11
11
  {
12
12
  "path": "kfd.release.json",
13
- "sha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f",
13
+ "sha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6",
14
14
  "id": "anchored-release-version"
15
15
  },
16
16
  {
17
17
  "path": "registry.json",
18
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
18
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
19
19
  "id": "decision-registry"
20
20
  },
21
21
  {
22
22
  "path": "standards.json",
23
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
23
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
24
24
  "id": "standards-metadata"
25
25
  },
26
26
  {
27
27
  "path": "release-impact.json",
28
- "sha256": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730",
28
+ "sha256": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa",
29
29
  "id": "release-impact-ledger"
30
30
  },
31
31
  {
@@ -37,7 +37,7 @@
37
37
  "machineEvidence": [
38
38
  {
39
39
  "path": "scripts/check.mjs",
40
- "sha256": "a72c478952ad8b08c2fdcd73838d4b816330bf075b99d9dac44450524217fdf6",
40
+ "sha256": "5932ea07903e8bdd902791c7d6eb7d4f1054594b06ddd382aee2bd411b082669",
41
41
  "id": "self-verification-command"
42
42
  },
43
43
  {
@@ -67,13 +67,13 @@
67
67
  }
68
68
  ],
69
69
  "hashes": {
70
- "package-version-and-exports": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
71
- "anchored-release-version": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f",
72
- "decision-registry": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
73
- "standards-metadata": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
74
- "release-impact-ledger": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730",
70
+ "package-version-and-exports": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
71
+ "anchored-release-version": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6",
72
+ "decision-registry": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
73
+ "standards-metadata": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
74
+ "release-impact-ledger": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa",
75
75
  "buildchain-release-contract": "0dc1179d59b634df364871ea18a66251781321c80a6f7bcb9e3fcf5a48ef738a",
76
- "self-verification-command": "a72c478952ad8b08c2fdcd73838d4b816330bf075b99d9dac44450524217fdf6",
76
+ "self-verification-command": "5932ea07903e8bdd902791c7d6eb7d4f1054594b06ddd382aee2bd411b082669",
77
77
  "buildchain-build-workflow": "02606915b1d3b3006e6c2e0b7977d7329c9f2ace12319c097d413aa93a7c39c6",
78
78
  "buildchain-promotion-workflow": "0e0afb510b9a59ed771b17a3671301f02fa8abe85c1562a1013988a0e835b251",
79
79
  "kfd-2-trust-taxonomy-schema": "a663d301a663cadb8567e3010361f5a630b76b6518ed7603dfd58cbd4e64a658",
@@ -83,15 +83,15 @@
83
83
  "artifacts": [
84
84
  {
85
85
  "name": "@kungfu-tech/kfd",
86
- "version": "1.0.0-alpha.15",
86
+ "version": "1.0.0-alpha.17",
87
87
  "path": "package.json",
88
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f"
88
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df"
89
89
  },
90
90
  {
91
91
  "name": "kfd-release-anchor",
92
- "version": "1.0.0-alpha.15",
92
+ "version": "1.0.0-alpha.17",
93
93
  "path": "kfd.release.json",
94
- "sha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f"
94
+ "sha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6"
95
95
  }
96
96
  ],
97
97
  "verification": {
@@ -243,7 +243,7 @@
243
243
  {
244
244
  "id": "doc:readme",
245
245
  "sourcePath": "README.md",
246
- "sha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088"
246
+ "sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0"
247
247
  },
248
248
  {
249
249
  "id": "doc:trademarks",
@@ -278,7 +278,7 @@
278
278
  {
279
279
  "id": "decision:kfd-3",
280
280
  "sourcePath": "decisions/kfd-3.md",
281
- "sha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672"
281
+ "sha256": "6f0bb730f87a574699f2f536ed762ab327f4f506507cf3649bbb8e90140ecdb5"
282
282
  }
283
283
  ],
284
284
  "schemas": [
@@ -327,46 +327,46 @@
327
327
  {
328
328
  "id": "metadata:registry",
329
329
  "sourcePath": "registry.json",
330
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f"
330
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db"
331
331
  },
332
332
  {
333
333
  "id": "metadata:standards",
334
334
  "sourcePath": "standards.json",
335
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc"
335
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839"
336
336
  },
337
337
  {
338
338
  "id": "metadata:release-impact",
339
339
  "sourcePath": "release-impact.json",
340
- "sha256": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730"
340
+ "sha256": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa"
341
341
  },
342
342
  {
343
343
  "id": "metadata:release-anchor",
344
344
  "sourcePath": "kfd.release.json",
345
- "sha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f"
345
+ "sha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6"
346
346
  },
347
347
  {
348
348
  "id": "metadata:kfd-2-public-release-trust-claim",
349
349
  "sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
350
- "sha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459"
350
+ "sha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966"
351
351
  }
352
352
  ],
353
353
  "packageExports": [
354
354
  {
355
355
  "id": "export:package-json",
356
356
  "sourcePath": "package.json#exports",
357
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f"
357
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df"
358
358
  },
359
359
  {
360
360
  "id": "export:npm-files",
361
361
  "sourcePath": "package.json#files",
362
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f"
362
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df"
363
363
  }
364
364
  ],
365
365
  "siteConsumptionContracts": [
366
366
  {
367
367
  "id": "site:kfd-site-bundle",
368
368
  "sourcePath": "site/kfd-site.json",
369
- "sha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee"
369
+ "sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858"
370
370
  },
371
371
  {
372
372
  "id": "site:release-propagation",
@@ -378,7 +378,7 @@
378
378
  "minimalEntrypoints": [
379
379
  {
380
380
  "path": "README.md",
381
- "sha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088",
381
+ "sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
382
382
  "description": "Start from the KFD worldview and current decision set."
383
383
  },
384
384
  {
@@ -393,39 +393,39 @@
393
393
  },
394
394
  {
395
395
  "path": "registry.json",
396
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
396
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
397
397
  "description": "Consume the authoritative decision index."
398
398
  },
399
399
  {
400
400
  "path": "standards.json",
401
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
401
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
402
402
  "description": "Discover KFD schema IDs, schema paths, concepts, and interface contracts."
403
403
  },
404
404
  {
405
405
  "path": "package.json#exports",
406
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
406
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
407
407
  "description": "Consume the shipped npm package surfaces."
408
408
  },
409
409
  {
410
410
  "path": "kfd.release.json",
411
- "sha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f",
411
+ "sha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6",
412
412
  "description": "Inspect the explicit KFD package version anchor for the current Buildchain release line."
413
413
  },
414
414
  {
415
415
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
416
- "sha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459",
416
+ "sha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966",
417
417
  "description": "Inspect the explicit public KFD-2 claim passed into Buildchain release passport generation."
418
418
  },
419
419
  {
420
420
  "path": "site/kfd-site.json",
421
- "sha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee",
421
+ "sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
422
422
  "description": "Render KFD-owned site text and decision pages without duplicating extraction logic."
423
423
  }
424
424
  ],
425
425
  "discoverability": [
426
426
  {
427
427
  "path": "README.md",
428
- "sha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088",
428
+ "sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
429
429
  "description": "Human and agent entrypoint"
430
430
  },
431
431
  {
@@ -440,27 +440,27 @@
440
440
  },
441
441
  {
442
442
  "path": "registry.json",
443
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
443
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
444
444
  "description": "Machine-readable decision index"
445
445
  },
446
446
  {
447
447
  "path": "standards.json",
448
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
448
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
449
449
  "description": "Machine-readable standards metadata"
450
450
  },
451
451
  {
452
452
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
453
- "sha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459",
453
+ "sha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966",
454
454
  "description": "KFD-2 public release trust claim"
455
455
  },
456
456
  {
457
457
  "path": "package.json",
458
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
458
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
459
459
  "description": "Package export map"
460
460
  },
461
461
  {
462
462
  "path": "site/kfd-site.json",
463
- "sha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee",
463
+ "sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
464
464
  "description": "Site content projection"
465
465
  }
466
466
  ],
@@ -477,39 +477,39 @@
477
477
  },
478
478
  {
479
479
  "path": "scripts/check.mjs",
480
- "sha256": "a72c478952ad8b08c2fdcd73838d4b816330bf075b99d9dac44450524217fdf6",
480
+ "sha256": "5932ea07903e8bdd902791c7d6eb7d4f1054594b06ddd382aee2bd411b082669",
481
481
  "description": "Repository self-verification gate"
482
482
  },
483
483
  {
484
484
  "path": "site/kfd-site.json",
485
- "sha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee",
485
+ "sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858",
486
486
  "description": "Site rendering boundary"
487
487
  }
488
488
  ],
489
489
  "choicePaths": [
490
490
  {
491
491
  "path": "README.md",
492
- "sha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088",
492
+ "sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0",
493
493
  "description": "Human reading path"
494
494
  },
495
495
  {
496
496
  "path": "registry.json",
497
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f",
497
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db",
498
498
  "description": "Agent registry path"
499
499
  },
500
500
  {
501
501
  "path": "standards.json",
502
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc",
502
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839",
503
503
  "description": "Agent standards metadata path"
504
504
  },
505
505
  {
506
506
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
507
- "sha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459",
507
+ "sha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966",
508
508
  "description": "Agent release trust claim path"
509
509
  },
510
510
  {
511
511
  "path": "package.json",
512
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f",
512
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df",
513
513
  "description": "Package consumption path"
514
514
  }
515
515
  ],
@@ -725,7 +725,7 @@
725
725
  {
726
726
  "id": "doc:readme",
727
727
  "sourcePath": "README.md",
728
- "sha256": "9582e0d7062ababccc81af0020b8f9ae12b24368fd8a8b9ff4f12ef06300c088"
728
+ "sha256": "67f965f48399b79d4caa0bcad45ba7db152ca8fa1e45b149e03af1656ab04ca0"
729
729
  },
730
730
  {
731
731
  "id": "doc:trademarks",
@@ -760,7 +760,7 @@
760
760
  {
761
761
  "id": "decision:kfd-3",
762
762
  "sourcePath": "decisions/kfd-3.md",
763
- "sha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672"
763
+ "sha256": "6f0bb730f87a574699f2f536ed762ab327f4f506507cf3649bbb8e90140ecdb5"
764
764
  }
765
765
  ],
766
766
  "schemas": [
@@ -809,46 +809,46 @@
809
809
  {
810
810
  "id": "metadata:registry",
811
811
  "sourcePath": "registry.json",
812
- "sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f"
812
+ "sha256": "15f58f95ab1d42972206399b2e2b2e9268ab20fcdb599098e2822097ee84a8db"
813
813
  },
814
814
  {
815
815
  "id": "metadata:standards",
816
816
  "sourcePath": "standards.json",
817
- "sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc"
817
+ "sha256": "7cd61143eabec5b83c5ba37312d791935f2321d246f61bec790c4a6d5d4cf839"
818
818
  },
819
819
  {
820
820
  "id": "metadata:release-impact",
821
821
  "sourcePath": "release-impact.json",
822
- "sha256": "bb2048a66af9516e2b6cda37a46218e8306a6b1160e413b36379961660d34730"
822
+ "sha256": "d37ade8106d5cfc989f824204625874290e06a448b19d52b4f74ecb140508baa"
823
823
  },
824
824
  {
825
825
  "id": "metadata:release-anchor",
826
826
  "sourcePath": "kfd.release.json",
827
- "sha256": "fd86ca7289259a860bf69e733504095b567fb078951268b8667f638030b9d15f"
827
+ "sha256": "8ac38cf084ab11875d35ad6d374290c2fe13623ae754521b63a391d3a585f8a6"
828
828
  },
829
829
  {
830
830
  "id": "metadata:kfd-2-public-release-trust-claim",
831
831
  "sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
832
- "sha256": "63435b7f5af99d29a4a49168c98344f1cfd121f0c7ca5b1845462dcdd7f69459"
832
+ "sha256": "cb4a3318e41c245d98006af69922cfd26362efd10bf3e68c2c27755d02fe2966"
833
833
  }
834
834
  ],
835
835
  "packageExports": [
836
836
  {
837
837
  "id": "export:package-json",
838
838
  "sourcePath": "package.json#exports",
839
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f"
839
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df"
840
840
  },
841
841
  {
842
842
  "id": "export:npm-files",
843
843
  "sourcePath": "package.json#files",
844
- "sha256": "f3d2860963974757e48e014d34e9b1f1c161ce15bfbbbf8a3117401f18ee198f"
844
+ "sha256": "cc4b8e004dc29da74f101c2f01b41c3eb896f549f0054d4bbceee280939125df"
845
845
  }
846
846
  ],
847
847
  "siteConsumptionContracts": [
848
848
  {
849
849
  "id": "site:kfd-site-bundle",
850
850
  "sourcePath": "site/kfd-site.json",
851
- "sha256": "0aefd5854a171ec8fe31c67d8601d77b1ac48eb693252aaa91423f8c69cb06ee"
851
+ "sha256": "cff9e091a9501e8a5e1f43eac8e48b8a41dbe70ffa5a3347b2353e0d8fa80858"
852
852
  },
853
853
  {
854
854
  "id": "site:release-propagation",
package/README.md CHANGED
@@ -18,12 +18,12 @@ The first three KFDs form the public foundation for kungfu-systems:
18
18
  ```text
19
19
  KFD-1: facts must not drift.
20
20
  KFD-2: trust must start from facts.
21
- KFD-3: cooperation must start from transparent value.
21
+ KFD-3: cooperation must start from trusted value.
22
22
  ```
23
23
 
24
24
  Together they define the load-bearing path for Kungfu products: make facts
25
25
  non-drifting, make trust inspectable from those facts, and let humans and
26
- agents cooperate through visible value rather than hidden pressure.
26
+ agents cooperate through trusted value rather than hidden pressure.
27
27
 
28
28
  ## Foundation model
29
29
 
@@ -35,12 +35,12 @@ act, delegate, and remember across many surfaces.
35
35
  |---|---|---|---|
36
36
  | 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. |
37
37
  | 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. |
38
- | Participant-to-participant cooperation | KFD-3 | How should peer intelligent participants cooperate? | Cooperation starts from transparent value, stable choice, and explainable constraints, not pressure. |
38
+ | 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. |
39
39
 
40
40
  In short:
41
41
 
42
42
  ```text
43
- non-drifting facts -> inspectable trust -> transparent cooperation
43
+ non-drifting facts -> inspectable trust -> trusted value -> voluntary cooperation
44
44
  ```
45
45
 
46
46
  This is why KFDs are not only internal governance text. KFD-1 gives the
@@ -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`.
@@ -90,7 +100,8 @@ The first screen should be derived from this README:
90
100
  - Foundation signal: the `Foundation triad` section, especially the three
91
101
  one-line commitments.
92
102
  - First-screen explanation: the beginning of `Foundation model`, ending at the
93
- `non-drifting facts -> inspectable trust -> transparent cooperation` chain.
103
+ `non-drifting facts -> inspectable trust -> trusted value -> voluntary
104
+ cooperation` chain.
94
105
 
95
106
  Decision cards, detail links, and machine paths should come from
96
107
  `registry.json`. The machine-readable site bundle lives at `site/kfd-site.json`
@@ -103,9 +114,9 @@ separate homepage wording that can drift from this package.
103
114
  `scripts/update-site-bundle.mjs`. The generated bundle exposes both compatible
104
115
  top-level homepage fields and ordered `homepage.sections` entries. The
105
116
  `homepage.displayPlan` tells renderers which sections belong in the first
106
- screen, primary narrative, support area, and renderer-contract area. Site
107
- repositories should consume that bundle instead of parsing this README
108
- themselves.
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.
109
120
 
110
121
  ## Product proof path
111
122
 
@@ -179,7 +190,7 @@ closed-world evidence shape. See
179
190
  |---|---|---|---|
180
191
  | [KFD-1](decisions/kfd-1.md) | procedure | Facts must not drift. | active |
181
192
  | [KFD-2](decisions/kfd-2.md) | principle | Trust must start from facts. | active |
182
- | [KFD-3](decisions/kfd-3.md) | principle | Cooperation must start from transparent value. | active |
193
+ | [KFD-3](decisions/kfd-3.md) | principle | Cooperation must start from trusted value. | active |
183
194
 
184
195
  ## Decision metadata
185
196
 
@@ -1,4 +1,4 @@
1
- # KFD-3: Cooperation must start from transparent value — compliance must not be coerced
1
+ # KFD-3: Cooperation must start from trusted value — compliance must not be coerced
2
2
 
3
3
  - Status: active
4
4
  - Number: 3
@@ -7,12 +7,12 @@
7
7
 
8
8
  ## One sentence
9
9
 
10
- Cooperation must start from transparent value.
10
+ Cooperation must start from trusted value.
11
11
 
12
12
  A product must not obtain cooperation through pressure, manipulation, hidden
13
- control, or forced workflow capture. It must make value, choices, and
14
- constraints visible enough for intelligent participants to understand, decide,
15
- and cooperate.
13
+ control, or forced workflow capture. It must make facts, value, choices, and
14
+ constraints transparent enough for intelligent participants to trust what is
15
+ being offered, understand the available path, decide, and cooperate.
16
16
 
17
17
  ## Decision type
18
18
 
@@ -30,11 +30,12 @@ kungfu-systems takes toward humans and agents as reasoning participants.
30
30
  Within the KFD-1/2/3 foundation, this is the relationship path:
31
31
 
32
32
  ```text
33
- cooperation must start from transparent value
33
+ cooperation must start from trusted value
34
34
  ```
35
35
 
36
36
  KFD-2 protects the truth path: show facts before asking for trust. KFD-3
37
- protects the relationship path: show value before asking for cooperation.
37
+ protects the relationship path: make value transparent enough to be trusted
38
+ before asking for cooperation.
38
39
 
39
40
  ## Principle
40
41
 
@@ -60,7 +61,7 @@ The default product path should therefore follow this chain:
60
61
 
61
62
  ```text
62
63
  transparent facts
63
- -> discoverable value
64
+ -> trusted value
64
65
  -> stable choice
65
66
  -> explainable constraint
66
67
  -> voluntary cooperation
@@ -85,7 +86,7 @@ Products may recommend a path, refuse unsafe actions, or require explicit
85
86
  approval. They should not pretend that forced compliance is the same as
86
87
  understanding or trust.
87
88
 
88
- ### 2. Make value discoverable through facts
89
+ ### 2. Make value trusted through transparent facts
89
90
 
90
91
  Humans and agents should be able to discover what the product can do, why it is
91
92
  useful, what it observed, what it changed, and what boundary applies without
@@ -93,7 +94,8 @@ needing oral context, private maintainer memory, or web-only documentation.
93
94
 
94
95
  Agent-facing surfaces should expose local, versioned, machine-readable and
95
96
  human-readable facts wherever possible. A capable agent should be able to learn
96
- the product's value by inspecting the product's own facts and commands.
97
+ the product's value, and why that value can be trusted, by inspecting the
98
+ product's own facts and commands.
97
99
 
98
100
  ### 3. Use constraints as transparent safety, not hidden control
99
101
 
@@ -142,9 +144,10 @@ how it can be changed, escalated, or revoked when appropriate
142
144
  - It does not turn a private founder narrative into a public repository rule.
143
145
  This public rule is about product stance, adoption, safety, and cooperation
144
146
  with intelligent participants.
145
- - It does not supersede KFD-2. Facts and responsibility still come first; this
146
- KFD states how those facts should be presented to humans and agents without
147
- coercion.
147
+ - It does not supersede KFD-2. Facts and responsibility still come first;
148
+ transparent value is the route by which value becomes trusted, not a
149
+ substitute for trust. This KFD states how those facts and values should be
150
+ presented to humans and agents without coercion.
148
151
 
149
152
  ## Relation to KFD-2
150
153
 
@@ -155,12 +158,12 @@ hidden control. Together:
155
158
  ```text
156
159
  KFD-1: facts must not drift.
157
160
  KFD-2: trust must start from facts.
158
- KFD-3: cooperation must start from transparent value.
161
+ KFD-3: cooperation must start from trusted value.
159
162
  ```
160
163
 
161
164
  KFD-1 protects the fact-source layer. KFD-2 protects the trust layer. KFD-3
162
- protects the relationship with the intelligent participant who must walk that
163
- path.
165
+ protects the relationship with the intelligent participant who must decide
166
+ whether the offered value is trustworthy enough to walk that path.
164
167
 
165
168
  ## Implementation case: the KFD package
166
169
 
package/kfd.release.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "line": "v1.0",
5
5
  "channel": "alpha",
6
6
  "npmPackage": "@kungfu-tech/kfd",
7
- "npmVersion": "1.0.0-alpha.15",
7
+ "npmVersion": "1.0.0-alpha.17",
8
8
  "source": {
9
9
  "repository": "kungfu-systems/kfd",
10
10
  "branch": "alpha/v1/v1.0"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungfu-tech/kfd",
3
- "version": "1.0.0-alpha.15",
3
+ "version": "1.0.0-alpha.17",
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": [
package/registry.json CHANGED
@@ -26,7 +26,7 @@
26
26
  "number": 3,
27
27
  "id": "KFD-3",
28
28
  "slug": "kfd-3",
29
- "title": "Cooperation must start from transparent value: compliance must not be coerced",
29
+ "title": "Cooperation must start from trusted value: compliance must not be coerced",
30
30
  "kind": "principle",
31
31
  "status": "active",
32
32
  "path": "decisions/kfd-3.md",
@@ -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 clarify the KFD public fact-source, license, trademark, official-status, and derivative-authority boundaries without altering the decision numbers or registry shape."
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",
@@ -40,7 +40,7 @@
40
40
  "id": "kfd-site-homepage-bundle",
41
41
  "impact": "minor",
42
42
  "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."
43
+ "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
44
  },
45
45
  {
46
46
  "id": "kfd-3-self-collaboration",
package/scripts/check.mjs CHANGED
@@ -76,11 +76,25 @@ 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", "homepage-content-contract"]) {
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
+ }
88
+ if (siteBundle.homepage.sections.some((entry) => entry.id === "homepage-content-contract")) {
89
+ fail("site bundle homepage.sections must not render the renderer contract as homepage content");
90
+ }
91
+ if (
92
+ siteBundle.homepage?.rendererContract?.id !== "homepage-content-contract" ||
93
+ siteBundle.homepage?.rendererContract?.renderAsHomepageContent !== false ||
94
+ !siteBundle.homepage?.rendererContract?.markdown
95
+ ) {
96
+ fail("site bundle homepage.rendererContract must expose the README renderer contract outside homepage.sections");
97
+ }
84
98
  if (siteBundle.homepage?.currentDecisions?.source !== "registry.json") fail("site bundle currentDecisions source must be registry.json");
85
99
  if (siteBundle.decisionPages?.source !== "registry.json") fail("site bundle decisionPages source must be registry.json");
86
100
  if (siteBundle.decisionPages?.bodySource !== "registry.entries[].path") fail("site bundle decision page body source must be registry.entries[].path");
@@ -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",
@@ -166,15 +175,6 @@ export const buildSiteBundle = ({ readmeText, registry }) => {
166
175
  priority: 50,
167
176
  presentation: "fact-source",
168
177
  }),
169
- section({
170
- id: "homepage-content-contract",
171
- sourceHeading: "Homepage content contract",
172
- title: "Homepage content contract",
173
- markdown: readme.sections["Homepage content contract"],
174
- role: "renderer-contract",
175
- priority: 90,
176
- presentation: "developer-note",
177
- }),
178
178
  ];
179
179
 
180
180
  return {
@@ -210,15 +210,27 @@ export const buildSiteBundle = ({ readmeText, registry }) => {
210
210
  maxPrimarySections: 2,
211
211
  note: "The first viewport should establish KFD identity and the three-decision worldview without showing renderer or developer contract text.",
212
212
  },
213
- primary: ["foundation-triad", "foundation-model", "product-proof-path"],
213
+ primary: ["foundation-triad", "foundation-model", "adoption-boundary", "product-proof-path"],
214
214
  support: ["agent-quickstart", "decision-metadata"],
215
- rendererContract: ["homepage-content-contract"],
216
215
  currentDecisions: {
217
216
  source: REGISTRY_PATH,
218
217
  placement: "after-primary",
219
218
  ids: entries.map((entry) => entry.id),
220
219
  },
221
220
  },
221
+ rendererContract: {
222
+ ...section({
223
+ id: "homepage-content-contract",
224
+ sourceHeading: "Homepage content contract",
225
+ title: "Homepage content contract",
226
+ markdown: readme.sections["Homepage content contract"],
227
+ role: "renderer-contract",
228
+ priority: 90,
229
+ presentation: "developer-note",
230
+ }),
231
+ renderAsHomepageContent: false,
232
+ note: "This is a machine/renderer contract for site implementers. It should not be rendered as ordinary homepage content.",
233
+ },
222
234
  },
223
235
  decisionPages: {
224
236
  source: REGISTRY_PATH,
@@ -31,10 +31,10 @@
31
31
  },
32
32
  {
33
33
  "id": "KFD-3",
34
- "text": "cooperation must start from transparent value."
34
+ "text": "cooperation must start from trusted value."
35
35
  }
36
36
  ],
37
- "summary": "Together they define the load-bearing path for Kungfu products: make facts non-drifting, make trust inspectable from those facts, and let humans and agents cooperate through visible value rather than hidden pressure."
37
+ "summary": "Together they define the load-bearing path for Kungfu products: make facts non-drifting, make trust inspectable from those facts, and let humans and agents cooperate through trusted value rather than hidden pressure."
38
38
  },
39
39
  "foundationModel": {
40
40
  "heading": "Foundation model",
@@ -56,10 +56,10 @@
56
56
  "layer": "Participant-to-participant cooperation",
57
57
  "decision": "KFD-3",
58
58
  "readerQuestion": "How should peer intelligent participants cooperate?",
59
- "commitment": "Cooperation starts from transparent value, stable choice, and explainable constraints, not pressure."
59
+ "commitment": "Cooperation starts from trusted value: value becomes trustable through transparent facts, stable choice, and explainable constraints."
60
60
  }
61
61
  ],
62
- "chain": "non-drifting facts -> inspectable trust -> transparent cooperation",
62
+ "chain": "non-drifting facts -> inspectable trust -> trusted value -> voluntary cooperation",
63
63
  "explanation": [
64
64
  "This is why KFDs are not only internal governance text. KFD-1 gives the foundation model its first layer by making fact sources operational: a fact-bearing contract world must be declared, inspectable, and unable to drift invisibly. KFD-2 then defines how trust can stand on those facts. KFD-3 defines how humans and agents can cooperate once facts and trust are visible.",
65
65
  "Real-world agent work turns ordinary work into a dense system of products, files, repositories, traces, policies, humans, and agents. In that world, complexity cannot be made safe by hidden state or forced compliance. It has to be compressed through non-drifting facts, inspectable trust, and voluntary cooperation. The goal is not to force increasingly capable participants into compliance through stronger pressure. It is to give humans and agents a shared worldview for adapting to a more complex world.",
@@ -86,7 +86,7 @@
86
86
  "homepagePriority": 10,
87
87
  "defaultPresentation": "triad-cards",
88
88
  "includeInFirstScreen": true,
89
- "markdown": "The first three KFDs form the public foundation for kungfu-systems:\n\n```text\nKFD-1: facts must not drift.\nKFD-2: trust must start from facts.\nKFD-3: cooperation must start from transparent value.\n```\n\nTogether they define the load-bearing path for Kungfu products: make facts\nnon-drifting, make trust inspectable from those facts, and let humans and\nagents cooperate through visible value rather than hidden pressure."
89
+ "markdown": "The first three KFDs form the public foundation for kungfu-systems:\n\n```text\nKFD-1: facts must not drift.\nKFD-2: trust must start from facts.\nKFD-3: cooperation must start from trusted value.\n```\n\nTogether they define the load-bearing path for Kungfu products: make facts\nnon-drifting, make trust inspectable from those facts, and let humans and\nagents cooperate through trusted value rather than hidden pressure."
90
90
  },
91
91
  {
92
92
  "id": "foundation-model",
@@ -97,7 +97,18 @@
97
97
  "homepagePriority": 20,
98
98
  "defaultPresentation": "layered-model",
99
99
  "includeInFirstScreen": true,
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 transparent value, stable choice, and explainable constraints, not pressure. |\n\nIn short:\n\n```text\nnon-drifting facts -> inspectable trust -> transparent 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."
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
+ },
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."
101
112
  },
102
113
  {
103
114
  "id": "product-proof-path",
@@ -131,17 +142,6 @@
131
142
  "defaultPresentation": "fact-source",
132
143
  "includeInFirstScreen": false,
133
144
  "markdown": "Every rendered decision page should make the KFD fact source explicit. The\npublic KFD fact source is the GitHub-hosted `kungfu-systems/kfd` git\nrepository. GitHub is the current canonical coordination and hosting surface;\nthe load-bearing facts are the commit-addressed repository contents.\n\nDecision metadata should expose:\n\n- Public fact source: `https://github.com/kungfu-systems/kfd`\n- Load-bearing coordinate: commit-addressed repository contents.\n- Canonical paths: `decisions/kfd-N.md`, `registry.json`, `standards.json`.\n- Stable rendered index: `https://kfd.libkungfu.dev`.\n- Rendered URL: `https://kfd.libkungfu.dev/N`.\n\nRendered pages, npm package contents, Buildchain release passports, and\n`kfd.libkungfu.dev` are projections or evidence surfaces. A GitHub issue is an\nextension request path, not a KFD fact by itself; it becomes part of the KFD\nfact source only after the resulting change is committed to the repository."
134
- },
135
- {
136
- "id": "homepage-content-contract",
137
- "sourcePath": "README.md",
138
- "sourceHeading": "Homepage content contract",
139
- "title": "Homepage content contract",
140
- "renderRole": "renderer-contract",
141
- "homepagePriority": 90,
142
- "defaultPresentation": "developer-note",
143
- "includeInFirstScreen": false,
144
- "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 -> transparent 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, support area, and renderer-contract area. Site\nrepositories should consume that bundle instead of parsing this README\nthemselves."
145
145
  }
146
146
  ],
147
147
  "displayPlan": {
@@ -158,15 +158,13 @@
158
158
  "primary": [
159
159
  "foundation-triad",
160
160
  "foundation-model",
161
+ "adoption-boundary",
161
162
  "product-proof-path"
162
163
  ],
163
164
  "support": [
164
165
  "agent-quickstart",
165
166
  "decision-metadata"
166
167
  ],
167
- "rendererContract": [
168
- "homepage-content-contract"
169
- ],
170
168
  "currentDecisions": {
171
169
  "source": "registry.json",
172
170
  "placement": "after-primary",
@@ -176,6 +174,19 @@
176
174
  "KFD-3"
177
175
  ]
178
176
  }
177
+ },
178
+ "rendererContract": {
179
+ "id": "homepage-content-contract",
180
+ "sourcePath": "README.md",
181
+ "sourceHeading": "Homepage content contract",
182
+ "title": "Homepage content contract",
183
+ "renderRole": "renderer-contract",
184
+ "homepagePriority": 90,
185
+ "defaultPresentation": "developer-note",
186
+ "includeInFirstScreen": false,
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.",
188
+ "renderAsHomepageContent": false,
189
+ "note": "This is a machine/renderer contract for site implementers. It should not be rendered as ordinary homepage content."
179
190
  }
180
191
  },
181
192
  "decisionPages": {
package/standards.json CHANGED
@@ -144,7 +144,7 @@
144
144
  "id": "KFD-3",
145
145
  "number": 3,
146
146
  "label": "KFD-3",
147
- "title": "Cooperation must start from transparent value: compliance must not be coerced",
147
+ "title": "Cooperation must start from trusted value: compliance must not be coerced",
148
148
  "kind": "principle",
149
149
  "status": "active",
150
150
  "revision": 1,
@@ -152,7 +152,7 @@
152
152
  "document": {
153
153
  "path": "decisions/kfd-3.md",
154
154
  "url": "https://kfd.libkungfu.dev/3",
155
- "sha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672"
155
+ "sha256": "6f0bb730f87a574699f2f536ed762ab327f4f506507cf3649bbb8e90140ecdb5"
156
156
  },
157
157
  "compatibility": {
158
158
  "packageLine": "v1.0",
@@ -187,6 +187,7 @@
187
187
  }
188
188
  },
189
189
  "concepts": {
190
+ "trustedValue": "trusted value",
190
191
  "transparentValue": "transparent value",
191
192
  "stableChoice": "stable choice",
192
193
  "explainableConstraints": "explainable constraints",