@kungfu-tech/kfd 1.0.0-alpha.12 → 1.0.0-alpha.13
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 +93 -29
- package/.buildchain/kfd-2/public-release-trust.claim.json +28 -22
- package/.buildchain/kfd-3/collaboration-interface.artifact.json +100 -46
- package/.buildchain/kfd-3/collaboration-interface.json +50 -1
- package/.buildchain/kfd-3/collaboration-interface.prebuild.json +118 -24
- package/README.md +74 -28
- package/TRADEMARKS.md +60 -0
- package/decisions/kfd-1.md +37 -23
- package/decisions/kfd-2.md +30 -11
- package/decisions/kfd-3.md +25 -6
- package/docs/MAP.md +5 -0
- package/docs/kfd-2-release-trust.md +32 -0
- package/docs/kfd-3-collaboration-interface.md +18 -0
- package/kfd.release.json +1 -1
- package/package.json +3 -1
- package/registry.json +1 -1
- package/release-impact.json +5 -5
- package/schemas/kfd-2/release-claims.schema.json +1 -2
- package/schemas/kfd-2/release-trust-passport.schema.json +2 -4
- package/schemas/kfd-2/trust-taxonomy.schema.json +219 -0
- package/schemas/kfd-3/collaboration-interface.schema.json +134 -0
- package/schemas/kfd-3/witness.schema.json +6 -0
- package/site/kfd-site.json +37 -8
- package/standards.json +21 -5
|
@@ -10,9 +10,9 @@
|
|
|
10
10
|
"sourceRegistry": {
|
|
11
11
|
"id": "kfd-collaboration-interface",
|
|
12
12
|
"path": ".buildchain/kfd-3/collaboration-interface.json",
|
|
13
|
-
"sha256": "
|
|
13
|
+
"sha256": "e32f2196399d37db202ccc656386bddc346871243c3db6782d26b5a88f831595"
|
|
14
14
|
},
|
|
15
|
-
"collaborationInterfaceDigest": "sha256:
|
|
15
|
+
"collaborationInterfaceDigest": "sha256:e32f2196399d37db202ccc656386bddc346871243c3db6782d26b5a88f831595",
|
|
16
16
|
"collaborationInterface": {
|
|
17
17
|
"schemaVersion": 1,
|
|
18
18
|
"contract": "kfd-3-collaboration-interface",
|
|
@@ -25,6 +25,28 @@
|
|
|
25
25
|
"sourceRegistry": {
|
|
26
26
|
"path": "registry.json"
|
|
27
27
|
},
|
|
28
|
+
"factSources": [
|
|
29
|
+
{
|
|
30
|
+
"id": "public-kfd-fact-source",
|
|
31
|
+
"kind": "git-repository",
|
|
32
|
+
"host": "github",
|
|
33
|
+
"repository": "kungfu-systems/kfd",
|
|
34
|
+
"url": "https://github.com/kungfu-systems/kfd",
|
|
35
|
+
"loadBearingCoordinate": "commit-addressed repository contents",
|
|
36
|
+
"stableRenderedIndex": "https://kfd.libkungfu.dev",
|
|
37
|
+
"canonicalPaths": [
|
|
38
|
+
"decisions/kfd-N.md",
|
|
39
|
+
"registry.json",
|
|
40
|
+
"standards.json"
|
|
41
|
+
],
|
|
42
|
+
"projectionSurfaces": [
|
|
43
|
+
"https://kfd.libkungfu.dev/N",
|
|
44
|
+
"npm:@kungfu-tech/kfd",
|
|
45
|
+
"Buildchain release passports"
|
|
46
|
+
],
|
|
47
|
+
"extensionRequestNote": "GitHub issues are extension request paths; KFD facts are created only by committed repository contents."
|
|
48
|
+
}
|
|
49
|
+
],
|
|
28
50
|
"participants": [
|
|
29
51
|
{
|
|
30
52
|
"id": "human-reader",
|
|
@@ -77,6 +99,16 @@
|
|
|
77
99
|
],
|
|
78
100
|
"purpose": "Route readers and agents to the right KFD document or machine surface."
|
|
79
101
|
},
|
|
102
|
+
{
|
|
103
|
+
"id": "official-status-and-trademarks",
|
|
104
|
+
"surface": "TRADEMARKS.md",
|
|
105
|
+
"participants": [
|
|
106
|
+
"human-reader",
|
|
107
|
+
"agent-reader",
|
|
108
|
+
"package-consumer"
|
|
109
|
+
],
|
|
110
|
+
"purpose": "Understand what Apache-2.0 covers and what remains official, trademark-bound, or endorsement-bound."
|
|
111
|
+
},
|
|
80
112
|
{
|
|
81
113
|
"id": "registry",
|
|
82
114
|
"surface": "registry.json",
|
|
@@ -165,6 +197,21 @@
|
|
|
165
197
|
},
|
|
166
198
|
"maturity": "stable"
|
|
167
199
|
},
|
|
200
|
+
{
|
|
201
|
+
"id": "official-status-and-trademarks",
|
|
202
|
+
"kind": "markdown-doc",
|
|
203
|
+
"participants": [
|
|
204
|
+
"human-reader",
|
|
205
|
+
"agent-reader",
|
|
206
|
+
"package-consumer"
|
|
207
|
+
],
|
|
208
|
+
"value": "Apache-2.0 reuse boundary, trademark boundary, official source boundary, fork/derivative guidance, and agent-facing authority rule.",
|
|
209
|
+
"discoverability": {
|
|
210
|
+
"fromMinimalEntrypoint": true,
|
|
211
|
+
"path": "TRADEMARKS.md"
|
|
212
|
+
},
|
|
213
|
+
"maturity": "stable"
|
|
214
|
+
},
|
|
168
215
|
{
|
|
169
216
|
"id": "decision-texts",
|
|
170
217
|
"kind": "markdown-doc",
|
|
@@ -246,7 +293,7 @@
|
|
|
246
293
|
"site-consumer",
|
|
247
294
|
"agent-reader"
|
|
248
295
|
],
|
|
249
|
-
"value": "KFD-owned content projection consumed by the public site renderer.",
|
|
296
|
+
"value": "KFD-owned content projection consumed by the public site renderer, including decision metadata and the public KFD fact-source boundary.",
|
|
250
297
|
"discoverability": {
|
|
251
298
|
"fromMinimalEntrypoint": true,
|
|
252
299
|
"path": "site/kfd-site.json"
|
|
@@ -420,6 +467,24 @@
|
|
|
420
467
|
"choice": "Change KFD through PR review, node scripts/check.mjs, and Buildchain release gates."
|
|
421
468
|
}
|
|
422
469
|
],
|
|
470
|
+
"extensionRequests": [
|
|
471
|
+
{
|
|
472
|
+
"id": "kfd-2-trust-taxonomy-extension",
|
|
473
|
+
"participants": [
|
|
474
|
+
"agent-reader",
|
|
475
|
+
"maintainer",
|
|
476
|
+
"release-system",
|
|
477
|
+
"package-consumer"
|
|
478
|
+
],
|
|
479
|
+
"trigger": "A human or agent needs a residual-risk, trust-impact, machine-provability, agent-action, or downgrade-reason value that is not present in schemas/kfd-2/trust-taxonomy.schema.json.",
|
|
480
|
+
"requestPath": {
|
|
481
|
+
"kind": "github-issue",
|
|
482
|
+
"target": "https://github.com/kungfu-systems/kfd/issues/new?title=KFD-2%20trust%20taxonomy%20extension%20request",
|
|
483
|
+
"template": "State the missing value, the taxonomy field, the product or release scenario, and why existing KFD-2 values cannot express the case."
|
|
484
|
+
},
|
|
485
|
+
"expectedOutcome": "KFD maintainers either add the value to the KFD-2 trust taxonomy schema or explain which existing value should be used."
|
|
486
|
+
}
|
|
487
|
+
],
|
|
423
488
|
"closure": {
|
|
424
489
|
"classificationMode": "closed-world",
|
|
425
490
|
"unclassifiedEntrypointsPolicy": "fail",
|
|
@@ -457,6 +522,17 @@
|
|
|
457
522
|
"public": true,
|
|
458
523
|
"sourcePath": "docs/MAP.md"
|
|
459
524
|
},
|
|
525
|
+
{
|
|
526
|
+
"id": "official-status-and-trademarks",
|
|
527
|
+
"name": "official-status-and-trademarks",
|
|
528
|
+
"kind": "markdown-doc",
|
|
529
|
+
"participantProfile": "human-reader,agent-reader,package-consumer",
|
|
530
|
+
"availability": "stable",
|
|
531
|
+
"visibility": "public",
|
|
532
|
+
"participantFacing": true,
|
|
533
|
+
"public": true,
|
|
534
|
+
"sourcePath": "TRADEMARKS.md"
|
|
535
|
+
},
|
|
460
536
|
{
|
|
461
537
|
"id": "decision-texts",
|
|
462
538
|
"name": "decision-texts",
|
|
@@ -649,37 +725,42 @@
|
|
|
649
725
|
{
|
|
650
726
|
"id": "doc:readme",
|
|
651
727
|
"sourcePath": "README.md",
|
|
652
|
-
"sha256": "
|
|
728
|
+
"sha256": "25d733aa98a62dad100df10b9a3393364442f0cd06c2daab08e4a99471dd447b"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"id": "doc:trademarks",
|
|
732
|
+
"sourcePath": "TRADEMARKS.md",
|
|
733
|
+
"sha256": "c59e3e936c2a0f2e3598fc7f8977c734dfc1c23df506c8c8360eb39e8e2ee3e1"
|
|
653
734
|
},
|
|
654
735
|
{
|
|
655
736
|
"id": "doc:docs-map",
|
|
656
737
|
"sourcePath": "docs/MAP.md",
|
|
657
|
-
"sha256": "
|
|
738
|
+
"sha256": "c53b0d7bdc83c7e7c335e4aa23f54a76c9874908ea4d9e5d7861be3b0875bd8d"
|
|
658
739
|
},
|
|
659
740
|
{
|
|
660
741
|
"id": "doc:kfd-2-release-trust",
|
|
661
742
|
"sourcePath": "docs/kfd-2-release-trust.md",
|
|
662
|
-
"sha256": "
|
|
743
|
+
"sha256": "9ba323334750cf285f08de21286f58c04b872189febf38a4e8fd50c0791020b3"
|
|
663
744
|
},
|
|
664
745
|
{
|
|
665
746
|
"id": "doc:kfd-3-collaboration-interface",
|
|
666
747
|
"sourcePath": "docs/kfd-3-collaboration-interface.md",
|
|
667
|
-
"sha256": "
|
|
748
|
+
"sha256": "d483ff6f8423a2e3f8e5dc547b62139d5c365678f9974d62063f8b523f14edb0"
|
|
668
749
|
},
|
|
669
750
|
{
|
|
670
751
|
"id": "decision:kfd-1",
|
|
671
752
|
"sourcePath": "decisions/kfd-1.md",
|
|
672
|
-
"sha256": "
|
|
753
|
+
"sha256": "32016c0962edcea9286db04ba24dab6c55400e9b26ce16a9d4b4ad647e17e7df"
|
|
673
754
|
},
|
|
674
755
|
{
|
|
675
756
|
"id": "decision:kfd-2",
|
|
676
757
|
"sourcePath": "decisions/kfd-2.md",
|
|
677
|
-
"sha256": "
|
|
758
|
+
"sha256": "0c2da2113df6ef2829592f7ba67593059cb06e195ea527ee742501939efb3b9b"
|
|
678
759
|
},
|
|
679
760
|
{
|
|
680
761
|
"id": "decision:kfd-3",
|
|
681
762
|
"sourcePath": "decisions/kfd-3.md",
|
|
682
|
-
"sha256": "
|
|
763
|
+
"sha256": "f37320562b6d82630358663acc239a3ee84bdc930b287c6cb0b2fb0295110672"
|
|
683
764
|
}
|
|
684
765
|
],
|
|
685
766
|
"schemas": [
|
|
@@ -698,71 +779,76 @@
|
|
|
698
779
|
"sourcePath": "schemas/kfd-1/witness.schema.json",
|
|
699
780
|
"sha256": "50104a2962cb75cc1da634fa65553e993f87d8fb9b3c237f0609a2208ad4c1f3"
|
|
700
781
|
},
|
|
782
|
+
{
|
|
783
|
+
"id": "schema:kfd-2:trust-taxonomy",
|
|
784
|
+
"sourcePath": "schemas/kfd-2/trust-taxonomy.schema.json",
|
|
785
|
+
"sha256": "a663d301a663cadb8567e3010361f5a630b76b6518ed7603dfd58cbd4e64a658"
|
|
786
|
+
},
|
|
701
787
|
{
|
|
702
788
|
"id": "schema:kfd-2:release-claims",
|
|
703
789
|
"sourcePath": "schemas/kfd-2/release-claims.schema.json",
|
|
704
|
-
"sha256": "
|
|
790
|
+
"sha256": "0f52c4a9949f62163a0fbe14fefc2f2f93f548ae18b6b5c07eb87aedca4c0be0"
|
|
705
791
|
},
|
|
706
792
|
{
|
|
707
793
|
"id": "schema:kfd-2:release-trust-passport",
|
|
708
794
|
"sourcePath": "schemas/kfd-2/release-trust-passport.schema.json",
|
|
709
|
-
"sha256": "
|
|
795
|
+
"sha256": "df7f828605f680f3ff52fe3468cbf8f5e20151fac0d5c31cd9a0de9765efecc1"
|
|
710
796
|
},
|
|
711
797
|
{
|
|
712
798
|
"id": "schema:kfd-3:collaboration-interface",
|
|
713
799
|
"sourcePath": "schemas/kfd-3/collaboration-interface.schema.json",
|
|
714
|
-
"sha256": "
|
|
800
|
+
"sha256": "e8d1f67914751b956c5a075eddbcc1ba482ddd21ce7298ab3a8b9df359a0ae44"
|
|
715
801
|
},
|
|
716
802
|
{
|
|
717
803
|
"id": "schema:kfd-3:witness",
|
|
718
804
|
"sourcePath": "schemas/kfd-3/witness.schema.json",
|
|
719
|
-
"sha256": "
|
|
805
|
+
"sha256": "95c25c7967e5d40a2aa2312e3cdfe984ce00e85db2457a370ce3d863cfa82c84"
|
|
720
806
|
}
|
|
721
807
|
],
|
|
722
808
|
"standardsMetadata": [
|
|
723
809
|
{
|
|
724
810
|
"id": "metadata:registry",
|
|
725
811
|
"sourcePath": "registry.json",
|
|
726
|
-
"sha256": "
|
|
812
|
+
"sha256": "f58ec6929da6a5daada78265b937b9d0aebec7cbfb42325b279bb6ae77df830f"
|
|
727
813
|
},
|
|
728
814
|
{
|
|
729
815
|
"id": "metadata:standards",
|
|
730
816
|
"sourcePath": "standards.json",
|
|
731
|
-
"sha256": "
|
|
817
|
+
"sha256": "7ac1410e182f5e66e5723c46f914ab652b2b4fad5b8fe5411172230c9ef146fc"
|
|
732
818
|
},
|
|
733
819
|
{
|
|
734
820
|
"id": "metadata:release-impact",
|
|
735
821
|
"sourcePath": "release-impact.json",
|
|
736
|
-
"sha256": "
|
|
822
|
+
"sha256": "ae55c7758d53f7e57593e0ddec72142babd9a8ff7c9003e98f8b468b953e0d7e"
|
|
737
823
|
},
|
|
738
824
|
{
|
|
739
825
|
"id": "metadata:release-anchor",
|
|
740
826
|
"sourcePath": "kfd.release.json",
|
|
741
|
-
"sha256": "
|
|
827
|
+
"sha256": "fefebbaaac172609ce0a22b505d15556739c89971e7fdac2c9ef3c4ca4776a68"
|
|
742
828
|
},
|
|
743
829
|
{
|
|
744
830
|
"id": "metadata:kfd-2-public-release-trust-claim",
|
|
745
831
|
"sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
|
|
746
|
-
"sha256": "
|
|
832
|
+
"sha256": "71986f6fd5d73a1fd74c1b6b68bcf6fe16bf67c2cea9cb3595bdbeebee10182c"
|
|
747
833
|
}
|
|
748
834
|
],
|
|
749
835
|
"packageExports": [
|
|
750
836
|
{
|
|
751
837
|
"id": "export:package-json",
|
|
752
838
|
"sourcePath": "package.json#exports",
|
|
753
|
-
"sha256": "
|
|
839
|
+
"sha256": "c082af3754b3b382219e8fb1973a228f0f38ab8846178ade639488be2626cdb6"
|
|
754
840
|
},
|
|
755
841
|
{
|
|
756
842
|
"id": "export:npm-files",
|
|
757
843
|
"sourcePath": "package.json#files",
|
|
758
|
-
"sha256": "
|
|
844
|
+
"sha256": "c082af3754b3b382219e8fb1973a228f0f38ab8846178ade639488be2626cdb6"
|
|
759
845
|
}
|
|
760
846
|
],
|
|
761
847
|
"siteConsumptionContracts": [
|
|
762
848
|
{
|
|
763
849
|
"id": "site:kfd-site-bundle",
|
|
764
850
|
"sourcePath": "site/kfd-site.json",
|
|
765
|
-
"sha256": "
|
|
851
|
+
"sha256": "cb837c81d6fe02700528c5111558597225414c0c4fd9ab7279c94c61a3b4390c"
|
|
766
852
|
},
|
|
767
853
|
{
|
|
768
854
|
"id": "site:release-propagation",
|
|
@@ -778,7 +864,11 @@
|
|
|
778
864
|
"nonExhaustivelyEnumerableSurfaces": [
|
|
779
865
|
{
|
|
780
866
|
"id": "human-language-interpretation",
|
|
781
|
-
"
|
|
867
|
+
"definedBy": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-taxonomy.schema.json#/$defs/residualRisk",
|
|
868
|
+
"riskType": "natural-language-semantic-risk",
|
|
869
|
+
"trustImpact": "downgrade-warning",
|
|
870
|
+
"machineProvability": "not-exhaustively-enumerable",
|
|
871
|
+
"agentAction": "semantic-review-required",
|
|
782
872
|
"reason": "Natural-language standard interpretation is inspectable and reviewable but not exhaustively enumerable from package bytes.",
|
|
783
873
|
"owner": "KFD maintainers"
|
|
784
874
|
}
|
|
@@ -787,7 +877,11 @@
|
|
|
787
877
|
"residualRisk": [
|
|
788
878
|
{
|
|
789
879
|
"id": "human-language-interpretation",
|
|
790
|
-
"
|
|
880
|
+
"definedBy": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-taxonomy.schema.json#/$defs/residualRisk",
|
|
881
|
+
"riskType": "natural-language-semantic-risk",
|
|
882
|
+
"trustImpact": "downgrade-warning",
|
|
883
|
+
"machineProvability": "not-exhaustively-enumerable",
|
|
884
|
+
"agentAction": "semantic-review-required",
|
|
791
885
|
"reason": "Natural-language standard interpretation is inspectable and reviewable but not exhaustively enumerable from package bytes.",
|
|
792
886
|
"owner": "KFD maintainers"
|
|
793
887
|
}
|
package/README.md
CHANGED
|
@@ -5,6 +5,8 @@ set of standing, cross-repository norms that products and their consumers
|
|
|
5
5
|
weld to. Each decision has an immutable number (`KFD-N`), a kind, a status,
|
|
6
6
|
and a single authoritative text in this repository.
|
|
7
7
|
|
|
8
|
+
Stable rendered site: `https://kfd.libkungfu.dev`.
|
|
9
|
+
|
|
8
10
|
KFDs can be **principles** or **procedures**. Principles state what must remain
|
|
9
11
|
true across kungfu-systems; procedures state how a class of work enforces or
|
|
10
12
|
protects a principle.
|
|
@@ -14,14 +16,14 @@ protects a principle.
|
|
|
14
16
|
The first three KFDs form the public foundation for kungfu-systems:
|
|
15
17
|
|
|
16
18
|
```text
|
|
17
|
-
KFD-1:
|
|
19
|
+
KFD-1: facts must not drift.
|
|
18
20
|
KFD-2: trust must start from facts.
|
|
19
|
-
KFD-3: cooperation must start from transparent value
|
|
21
|
+
KFD-3: cooperation must start from transparent value.
|
|
20
22
|
```
|
|
21
23
|
|
|
22
|
-
Together they define the load-bearing path for Kungfu products: make
|
|
23
|
-
|
|
24
|
-
cooperate through visible value rather than hidden pressure.
|
|
24
|
+
Together they define the load-bearing path for Kungfu products: make facts
|
|
25
|
+
non-drifting, make trust inspectable from those facts, and let humans and
|
|
26
|
+
agents cooperate through visible value rather than hidden pressure.
|
|
25
27
|
|
|
26
28
|
## Foundation model
|
|
27
29
|
|
|
@@ -31,22 +33,21 @@ act, delegate, and remember across many surfaces.
|
|
|
31
33
|
|
|
32
34
|
| Layer | Decision | Reader question | Commitment |
|
|
33
35
|
|---|---|---|---|
|
|
34
|
-
| Fact-source ontology | KFD-1 | What can count as a fact? |
|
|
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. |
|
|
35
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. |
|
|
36
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. |
|
|
37
39
|
|
|
38
40
|
In short:
|
|
39
41
|
|
|
40
42
|
```text
|
|
41
|
-
|
|
43
|
+
non-drifting facts -> inspectable trust -> transparent cooperation
|
|
42
44
|
```
|
|
43
45
|
|
|
44
|
-
This is why KFDs are not only internal governance text. KFD-1
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
are visible.
|
|
46
|
+
This is why KFDs are not only internal governance text. KFD-1 gives the
|
|
47
|
+
foundation model its first layer by making fact sources operational: a
|
|
48
|
+
fact-bearing contract world must be declared, inspectable, and unable to drift
|
|
49
|
+
invisibly. KFD-2 then defines how trust can stand on those facts. KFD-3
|
|
50
|
+
defines how humans and agents can cooperate once facts and trust are visible.
|
|
50
51
|
|
|
51
52
|
Real-world agent work turns ordinary work into a dense system of products,
|
|
52
53
|
files, repositories, traces, policies, humans, and agents. In that world,
|
|
@@ -89,7 +90,7 @@ The first screen should be derived from this README:
|
|
|
89
90
|
- Foundation signal: the `Foundation triad` section, especially the three
|
|
90
91
|
one-line commitments.
|
|
91
92
|
- First-screen explanation: the beginning of `Foundation model`, ending at the
|
|
92
|
-
`
|
|
93
|
+
`non-drifting facts -> inspectable trust -> transparent cooperation` chain.
|
|
93
94
|
|
|
94
95
|
Decision cards, detail links, and machine paths should come from
|
|
95
96
|
`registry.json`. The machine-readable site bundle lives at `site/kfd-site.json`
|
|
@@ -102,10 +103,14 @@ separate homepage wording that can drift from this package.
|
|
|
102
103
|
|
|
103
104
|
KFDs are not a detached manifesto, but they are not a demand that readers adopt
|
|
104
105
|
a Kungfu product before understanding the decisions. A philosophy becomes
|
|
105
|
-
load-bearing only when it can be seen in a concrete case.
|
|
106
|
-
case
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
load-bearing only when it can be seen in a concrete case. The first concrete
|
|
107
|
+
case is this package itself: `standards.json`, `schemas/`, `docs/`,
|
|
108
|
+
`site/kfd-site.json`, and `scripts/check.mjs` show how KFD-1, KFD-2, and KFD-3
|
|
109
|
+
are expressed as consumable interfaces for both humans and agents. For the
|
|
110
|
+
broader product case, use the main Kungfu product entrypoint
|
|
111
|
+
(`https://kungfu.tech`) for product philosophy, and Buildchain
|
|
112
|
+
(`https://buildchain.libkungfu.dev`) for release and provenance
|
|
113
|
+
accountability. This registry states the commitments; this package and those
|
|
109
114
|
entrypoints show how the commitments are meant to be borne in practice.
|
|
110
115
|
|
|
111
116
|
Rendered index: `https://kfd.libkungfu.dev` (stable machine path per entry,
|
|
@@ -123,16 +128,33 @@ it as:
|
|
|
123
128
|
import standards from "@kungfu-tech/kfd/standards.json" with { type: "json" };
|
|
124
129
|
```
|
|
125
130
|
|
|
131
|
+
## Agent Quickstart
|
|
132
|
+
|
|
133
|
+
Agents consuming this package should start from the same sources as humans:
|
|
134
|
+
|
|
135
|
+
1. Read this README for the foundation model and package map.
|
|
136
|
+
2. Read `standards.json` for canonical KFD numbers, schema IDs, concept names,
|
|
137
|
+
and interface contracts.
|
|
138
|
+
3. Use `site/kfd-site.json` decision metadata or the KFD-3 collaboration
|
|
139
|
+
interface fact-source metadata to identify the public KFD fact source.
|
|
140
|
+
4. Use `schemas/kfd-2/trust-taxonomy.schema.json` for KFD-2 residual-risk and
|
|
141
|
+
trust-downgrade values. Unknown taxonomy values are invalid.
|
|
142
|
+
5. Use `schemas/kfd-3/collaboration-interface.schema.json` and
|
|
143
|
+
`schemas/kfd-3/witness.schema.json` to inspect collaboration interfaces.
|
|
144
|
+
6. If a needed KFD-2 taxonomy value is missing, open a KFD GitHub issue rather
|
|
145
|
+
than inventing a local value:
|
|
146
|
+
`https://github.com/kungfu-systems/kfd/issues/new?title=KFD-2%20trust%20taxonomy%20extension%20request`.
|
|
147
|
+
|
|
126
148
|
KFD package semver is only the distribution version. KFD-owned machine
|
|
127
149
|
interfaces carry their own `schemaVersion` and `contract` fields. Compatible
|
|
128
150
|
additions may keep the same interface version; semantic changes, required-field
|
|
129
151
|
changes, verification meaning changes, or responsibility-boundary changes must
|
|
130
152
|
use a new interface version or contract.
|
|
131
153
|
|
|
132
|
-
KFD-2 publishes release-claims and release-trust-passport
|
|
133
|
-
`schemas/kfd-2/`. These schemas let Buildchain and other release
|
|
134
|
-
whether public release claims are bound to source facts,
|
|
135
|
-
audit boundaries, residual risk, and responsibility state. See
|
|
154
|
+
KFD-2 publishes trust-taxonomy, release-claims, and release-trust-passport
|
|
155
|
+
schemas under `schemas/kfd-2/`. These schemas let Buildchain and other release
|
|
156
|
+
systems audit whether public release claims are bound to source facts,
|
|
157
|
+
evidence, hashes, audit boundaries, residual risk, and responsibility state. See
|
|
136
158
|
[`docs/kfd-2-release-trust.md`](docs/kfd-2-release-trust.md).
|
|
137
159
|
|
|
138
160
|
KFD-3 also publishes a general collaboration-interface schema and witness
|
|
@@ -145,11 +167,31 @@ closed-world evidence shape. See
|
|
|
145
167
|
|
|
146
168
|
## Current decisions
|
|
147
169
|
|
|
148
|
-
| ID | Kind |
|
|
170
|
+
| ID | Kind | Axiom | Status |
|
|
149
171
|
|---|---|---|---|
|
|
150
|
-
| [KFD-1](decisions/kfd-1.md) | procedure |
|
|
151
|
-
| [KFD-2](decisions/kfd-2.md) | principle | Trust must start from facts
|
|
152
|
-
| [KFD-3](decisions/kfd-3.md) | principle | Cooperation must start from transparent value
|
|
172
|
+
| [KFD-1](decisions/kfd-1.md) | procedure | Facts must not drift. | active |
|
|
173
|
+
| [KFD-2](decisions/kfd-2.md) | principle | Trust must start from facts. | active |
|
|
174
|
+
| [KFD-3](decisions/kfd-3.md) | principle | Cooperation must start from transparent value. | active |
|
|
175
|
+
|
|
176
|
+
## Decision metadata
|
|
177
|
+
|
|
178
|
+
Every rendered decision page should make the KFD fact source explicit. The
|
|
179
|
+
public KFD fact source is the GitHub-hosted `kungfu-systems/kfd` git
|
|
180
|
+
repository. GitHub is the current canonical coordination and hosting surface;
|
|
181
|
+
the load-bearing facts are the commit-addressed repository contents.
|
|
182
|
+
|
|
183
|
+
Decision metadata should expose:
|
|
184
|
+
|
|
185
|
+
- Public fact source: `https://github.com/kungfu-systems/kfd`
|
|
186
|
+
- Load-bearing coordinate: commit-addressed repository contents.
|
|
187
|
+
- Canonical paths: `decisions/kfd-N.md`, `registry.json`, `standards.json`.
|
|
188
|
+
- Stable rendered index: `https://kfd.libkungfu.dev`.
|
|
189
|
+
- Rendered URL: `https://kfd.libkungfu.dev/N`.
|
|
190
|
+
|
|
191
|
+
Rendered pages, npm package contents, Buildchain release passports, and
|
|
192
|
+
`kfd.libkungfu.dev` are projections or evidence surfaces. A GitHub issue is an
|
|
193
|
+
extension request path, not a KFD fact by itself; it becomes part of the KFD
|
|
194
|
+
fact source only after the resulting change is committed to the repository.
|
|
153
195
|
|
|
154
196
|
## How to cite
|
|
155
197
|
|
|
@@ -203,6 +245,10 @@ paths, or published structure under KFD-1. These values are Buildchain release
|
|
|
203
245
|
passport impact classifications; they do not by themselves open a new
|
|
204
246
|
`@kungfu-tech/kfd` package major or minor line.
|
|
205
247
|
|
|
206
|
-
## License
|
|
248
|
+
## License and official status
|
|
207
249
|
|
|
208
|
-
[Apache License 2.0](LICENSE).
|
|
250
|
+
Repository contents are licensed under the [Apache License 2.0](LICENSE).
|
|
251
|
+
Apache-2.0 grants broad reuse rights for the licensed contents, but it does
|
|
252
|
+
not grant KFD/Kungfu trademarks, official status, certification status, or
|
|
253
|
+
endorsement. The official source, name-use, fork, derivative, and agent-facing
|
|
254
|
+
authority boundaries are defined in [`TRADEMARKS.md`](TRADEMARKS.md).
|
package/TRADEMARKS.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Trademarks and Official Status
|
|
2
|
+
|
|
3
|
+
The contents of this repository are licensed under the Apache License 2.0.
|
|
4
|
+
That license covers use, reproduction, modification, and distribution of the
|
|
5
|
+
licensed repository contents under the terms of `LICENSE`.
|
|
6
|
+
|
|
7
|
+
Apache-2.0 does not grant trademark rights, official project status,
|
|
8
|
+
certification status, or endorsement by kungfu-systems.
|
|
9
|
+
|
|
10
|
+
## Names and marks
|
|
11
|
+
|
|
12
|
+
The names `Kungfu`, `Kung Fu Decisions`, `KFD`, `kungfu-systems`,
|
|
13
|
+
`@kungfu-tech`, and related project names, logos, domains, and package names
|
|
14
|
+
identify kungfu-systems projects and release surfaces. They may be used for
|
|
15
|
+
accurate, non-misleading reference to the origin of the work, but not to imply
|
|
16
|
+
official status, certification, endorsement, or project ownership.
|
|
17
|
+
|
|
18
|
+
## Official sources
|
|
19
|
+
|
|
20
|
+
The current public KFD fact source is:
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
https://github.com/kungfu-systems/kfd
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
The stable rendered KFD site is:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
https://kfd.libkungfu.dev
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The public npm package is:
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
npm:@kungfu-tech/kfd
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Those surfaces are official only when published or controlled by
|
|
39
|
+
kungfu-systems. Forks, mirrors, local copies, downstream packages, generated
|
|
40
|
+
sites, and derivative works are not official KFD sources unless kungfu-systems
|
|
41
|
+
explicitly says so.
|
|
42
|
+
|
|
43
|
+
## Forks and derivatives
|
|
44
|
+
|
|
45
|
+
Forks and derivative works may say that they are based on KFD or implement
|
|
46
|
+
specific KFD decisions when that statement is accurate. They must not describe
|
|
47
|
+
themselves as the official KFD registry, canonical KFD release, certified KFD
|
|
48
|
+
implementation, or kungfu-systems-approved project unless that status has been
|
|
49
|
+
explicitly granted by kungfu-systems.
|
|
50
|
+
|
|
51
|
+
If a derivative changes KFD content, metadata, schemas, or package surfaces, it
|
|
52
|
+
should make those changes clear to readers and agents so that official KFD
|
|
53
|
+
facts do not drift into derivative facts.
|
|
54
|
+
|
|
55
|
+
## Agent-facing rule
|
|
56
|
+
|
|
57
|
+
An agent consuming KFD should treat Apache-2.0 as permission to reuse the
|
|
58
|
+
licensed repository contents, not as permission to claim official KFD authority.
|
|
59
|
+
When official status matters, the agent should resolve facts through the
|
|
60
|
+
public KFD fact source and the metadata surfaces declared in this repository.
|
package/decisions/kfd-1.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# KFD-1:
|
|
1
|
+
# KFD-1: Facts must not drift — contract worlds need one fact source
|
|
2
2
|
|
|
3
3
|
- Status: active
|
|
4
4
|
- Number: 1
|
|
@@ -7,27 +7,30 @@
|
|
|
7
7
|
|
|
8
8
|
## One sentence
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
Facts must not drift.
|
|
11
|
+
|
|
12
|
+
Any contract world that users, agents, or systems weld to must come from one
|
|
13
|
+
declared fact source and change only through an explicit compatibility
|
|
14
|
+
boundary.
|
|
13
15
|
|
|
14
16
|
## Foundation role
|
|
15
17
|
|
|
16
|
-
Within the KFD-1/2/3 foundation, this is the
|
|
18
|
+
Within the KFD-1/2/3 foundation, this is the fact-source procedure:
|
|
17
19
|
|
|
18
20
|
```text
|
|
19
|
-
|
|
21
|
+
facts must not drift
|
|
20
22
|
```
|
|
21
23
|
|
|
22
|
-
KFD-1 makes
|
|
23
|
-
changelog volume, cadence pressure,
|
|
24
|
-
|
|
25
|
-
are integrating with, replaying, auditing, or trusting.
|
|
24
|
+
KFD-1 makes fact-bearing contract worlds explicit so they do not drift under
|
|
25
|
+
changelog volume, cadence pressure, implementation pressure, or marketing
|
|
26
|
+
pressure. It is the procedure that lets users and agents know which fact world
|
|
27
|
+
they are integrating with, replaying, auditing, or trusting.
|
|
26
28
|
|
|
27
|
-
KFD-1
|
|
28
|
-
versioning protects release lines from contract drift,
|
|
29
|
-
|
|
30
|
-
agent-facing surfaces
|
|
29
|
+
KFD-1 has concrete implementation surfaces across the Kungfu ecosystem:
|
|
30
|
+
versioning protects release lines from contract drift, config contracts protect
|
|
31
|
+
multi-target configuration from drifting across runtimes, products, and
|
|
32
|
+
agent-facing surfaces, and KFD metadata protects the decision package's own
|
|
33
|
+
standard surfaces from drifting away from their declared source.
|
|
31
34
|
|
|
32
35
|
## Premise: the welded-surface register
|
|
33
36
|
|
|
@@ -140,17 +143,16 @@ table and the machine record never diverge): `schemaVersion: 1`,
|
|
|
140
143
|
|
|
141
144
|
## Relation to KFD-2 and KFD-3
|
|
142
145
|
|
|
143
|
-
KFD-2 establishes fact-first product accountability:
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
decisions.
|
|
146
|
+
KFD-2 establishes fact-first product accountability: trust must start from
|
|
147
|
+
facts. KFD-1 defines the lower layer that makes such facts load-bearing:
|
|
148
|
+
important facts must not drift from the contract world that declares them.
|
|
149
|
+
Without KFD-1, KFD-2 would have facts that cannot reliably be re-read,
|
|
150
|
+
replayed, audited, or trusted over time.
|
|
149
151
|
|
|
150
152
|
KFD-3 establishes non-coercive cooperation with intelligent participants. That
|
|
151
|
-
cooperation depends on
|
|
152
|
-
delegate, replay, or refuse more honestly when the
|
|
153
|
-
|
|
153
|
+
cooperation depends on non-drifting facts: users and agents can choose,
|
|
154
|
+
delegate, replay, or refuse more honestly when the fact world is legible and
|
|
155
|
+
does not drift invisibly.
|
|
154
156
|
|
|
155
157
|
## How KFDs themselves are versioned
|
|
156
158
|
|
|
@@ -164,6 +166,18 @@ registry schema, the package structure) can still require `minor` or `major`
|
|
|
164
166
|
surface-impact review in the Buildchain release passport, but that review
|
|
165
167
|
classification is not a silent package-line upgrade.
|
|
166
168
|
|
|
169
|
+
## Implementation case: the KFD package
|
|
170
|
+
|
|
171
|
+
The `@kungfu-tech/kfd` npm package is a self-proof case for this procedure.
|
|
172
|
+
Its decision texts, `registry.json`, `standards.json`, schemas, site bundle,
|
|
173
|
+
and release propagation graph are published as stable surfaces. Their contract
|
|
174
|
+
world is not inferred from README prose or package version alone: it is exposed
|
|
175
|
+
through `standards.json`, checked by `scripts/check.mjs`, and bound into the
|
|
176
|
+
KFD-1 witness under `.buildchain/kfd-1/contract-world.witness.json`.
|
|
177
|
+
|
|
178
|
+
This lets humans and agents inspect how the KFD package prevents its own
|
|
179
|
+
contract surfaces from drifting while it evolves.
|
|
180
|
+
|
|
167
181
|
## Adopters
|
|
168
182
|
|
|
169
183
|
Each adopting repository keeps an adoption record, its welded-surface
|