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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,11 +10,11 @@
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:68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
13
+ "digest": "sha256:4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
14
14
  },
15
15
  "canonicalPolicy": {
16
16
  "path": "standards.json",
17
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
17
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
18
18
  },
19
19
  "registry": {
20
20
  "path": "registry.json",
@@ -24,9 +24,9 @@
24
24
  {
25
25
  "name": "readme",
26
26
  "sourcePath": "README.md",
27
- "sourceSha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
27
+ "sourceSha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
28
28
  "artifactPath": "README.md",
29
- "expectedSha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
29
+ "expectedSha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
30
30
  "byteForByte": true,
31
31
  "class": "cross-time",
32
32
  "classes": [
@@ -104,9 +104,9 @@
104
104
  {
105
105
  "name": "kfd-4-document",
106
106
  "sourcePath": "decisions/KFD-4.md",
107
- "sourceSha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4",
107
+ "sourceSha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c",
108
108
  "artifactPath": "decisions/KFD-4.md",
109
- "expectedSha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4",
109
+ "expectedSha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c",
110
110
  "byteForByte": true,
111
111
  "class": "cross-time",
112
112
  "classes": [
@@ -144,9 +144,9 @@
144
144
  {
145
145
  "name": "kfd-standards",
146
146
  "sourcePath": "standards.json",
147
- "sourceSha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
147
+ "sourceSha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
148
148
  "artifactPath": "standards.json",
149
- "expectedSha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
149
+ "expectedSha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
150
150
  "byteForByte": true,
151
151
  "class": "integration-time",
152
152
  "classes": [
@@ -324,9 +324,9 @@
324
324
  {
325
325
  "name": "kfd-4-observer-perspective-schema",
326
326
  "sourcePath": "schemas/kfd-4/observer-perspective.schema.json",
327
- "sourceSha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c",
327
+ "sourceSha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c",
328
328
  "artifactPath": "schemas/kfd-4/observer-perspective.schema.json",
329
- "expectedSha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c",
329
+ "expectedSha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c",
330
330
  "byteForByte": true,
331
331
  "class": "integration-time",
332
332
  "classes": [
@@ -344,9 +344,9 @@
344
344
  {
345
345
  "name": "kfd-site-bundle",
346
346
  "sourcePath": "site/kfd-site.json",
347
- "sourceSha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
347
+ "sourceSha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
348
348
  "artifactPath": "site/kfd-site.json",
349
- "expectedSha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
349
+ "expectedSha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
350
350
  "byteForByte": true,
351
351
  "class": "cross-time",
352
352
  "classes": [
@@ -404,9 +404,9 @@
404
404
  {
405
405
  "name": "kfd-check-gate",
406
406
  "sourcePath": "scripts/check.mjs",
407
- "sourceSha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
407
+ "sourceSha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
408
408
  "artifactPath": "scripts/check.mjs",
409
- "expectedSha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
409
+ "expectedSha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
410
410
  "byteForByte": true,
411
411
  "class": "integration-time",
412
412
  "classes": [
@@ -525,9 +525,9 @@
525
525
  {
526
526
  "name": "kfd-package-manifest",
527
527
  "sourcePath": "package.json",
528
- "sourceSha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
528
+ "sourceSha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
529
529
  "artifactPath": "package.json",
530
- "expectedSha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
530
+ "expectedSha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
531
531
  "byteForByte": true,
532
532
  "class": "integration-time",
533
533
  "classes": [
@@ -545,9 +545,9 @@
545
545
  {
546
546
  "name": "kfd-release-anchor",
547
547
  "sourcePath": "kfd.release.json",
548
- "sourceSha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22",
548
+ "sourceSha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2",
549
549
  "artifactPath": "kfd.release.json",
550
- "expectedSha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22",
550
+ "expectedSha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2",
551
551
  "byteForByte": true,
552
552
  "class": "integration-time",
553
553
  "classes": [
@@ -566,9 +566,9 @@
566
566
  {
567
567
  "name": "kfd-2-public-release-trust-claim",
568
568
  "sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
569
- "sourceSha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a",
569
+ "sourceSha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237",
570
570
  "artifactPath": ".buildchain/kfd-2/public-release-trust.claim.json",
571
- "expectedSha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a",
571
+ "expectedSha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237",
572
572
  "byteForByte": true,
573
573
  "class": "integration-time",
574
574
  "classes": [
@@ -626,9 +626,9 @@
626
626
  {
627
627
  "name": "kfd-2-foundation-trust-claims",
628
628
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
629
- "sourceSha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
629
+ "sourceSha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
630
630
  "artifactPath": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
631
- "expectedSha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
631
+ "expectedSha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
632
632
  "byteForByte": true,
633
633
  "class": "integration-time",
634
634
  "classes": [
@@ -646,9 +646,9 @@
646
646
  {
647
647
  "name": "kfd-2-foundation-trust-assessment",
648
648
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
649
- "sourceSha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
649
+ "sourceSha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
650
650
  "artifactPath": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
651
- "expectedSha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
651
+ "expectedSha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
652
652
  "byteForByte": true,
653
653
  "class": "integration-time",
654
654
  "classes": [
@@ -726,9 +726,9 @@
726
726
  {
727
727
  "name": "kfd-4-usage-doc",
728
728
  "sourcePath": "docs/KFD-4-usage.md",
729
- "sourceSha256": "4c223ab68fce18cf881efd268508f57438da8dcf22834f7c032ef3b63a905347",
729
+ "sourceSha256": "d94680fa69309b2e26d139d2c134e4c1f5246c02b039191bc0fe078e3cb52042",
730
730
  "artifactPath": "docs/KFD-4-usage.md",
731
- "expectedSha256": "4c223ab68fce18cf881efd268508f57438da8dcf22834f7c032ef3b63a905347",
731
+ "expectedSha256": "d94680fa69309b2e26d139d2c134e4c1f5246c02b039191bc0fe078e3cb52042",
732
732
  "byteForByte": true,
733
733
  "class": "cross-time",
734
734
  "classes": [
@@ -5,7 +5,7 @@
5
5
  "assessedClaims": {
6
6
  "schemaId": "https://kfd.libkungfu.dev/schemas/kfd-2/trust-claims.schema.json",
7
7
  "path": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
8
- "digest": "sha256:516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679"
8
+ "digest": "sha256:87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b"
9
9
  },
10
10
  "result": "warning",
11
11
  "projection": {
@@ -29,7 +29,7 @@
29
29
  "result": "pass",
30
30
  "machineProvability": "machine-verifiable",
31
31
  "path": "standards.json",
32
- "digest": "sha256:68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
32
+ "digest": "sha256:4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
33
33
  "description": "Fact standards.json is present and hashable."
34
34
  },
35
35
  {
@@ -55,7 +55,7 @@
55
55
  "result": "pass",
56
56
  "machineProvability": "machine-verifiable",
57
57
  "path": "scripts/check.mjs",
58
- "digest": "sha256:43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
58
+ "digest": "sha256:531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
59
59
  "description": "The package check gate validates the KFD-1 schema, surface register, witness, and hashes."
60
60
  }
61
61
  ],
@@ -113,7 +113,7 @@
113
113
  "result": "pass",
114
114
  "machineProvability": "machine-verifiable",
115
115
  "path": "scripts/check.mjs",
116
- "digest": "sha256:43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
116
+ "digest": "sha256:531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
117
117
  "description": "The package check gate validates KFD-3 interface closure and witness parity."
118
118
  }
119
119
  ],
@@ -156,7 +156,7 @@
156
156
  "result": "pass",
157
157
  "machineProvability": "machine-verifiable",
158
158
  "path": "decisions/KFD-4.md",
159
- "digest": "sha256:7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4",
159
+ "digest": "sha256:b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c",
160
160
  "description": "Fact decisions/KFD-4.md is present and hashable."
161
161
  },
162
162
  {
@@ -164,7 +164,7 @@
164
164
  "result": "pass",
165
165
  "machineProvability": "machine-verifiable",
166
166
  "path": "standards.json",
167
- "digest": "sha256:68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
167
+ "digest": "sha256:4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
168
168
  "description": "Fact standards.json is present and hashable."
169
169
  },
170
170
  {
@@ -172,7 +172,7 @@
172
172
  "result": "pass",
173
173
  "machineProvability": "machine-verifiable",
174
174
  "path": "schemas/kfd-4/observer-perspective.schema.json",
175
- "digest": "sha256:e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c",
175
+ "digest": "sha256:806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c",
176
176
  "description": "Fact schemas/kfd-4/observer-perspective.schema.json is present and hashable."
177
177
  }
178
178
  ],
@@ -182,7 +182,7 @@
182
182
  "result": "pass",
183
183
  "machineProvability": "machine-verifiable",
184
184
  "path": "schemas/kfd-4/observer-perspective.schema.json",
185
- "digest": "sha256:e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c",
185
+ "digest": "sha256:806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c",
186
186
  "description": "KFD-4 observer-perspective schema is published."
187
187
  },
188
188
  {
@@ -190,7 +190,7 @@
190
190
  "result": "pass",
191
191
  "machineProvability": "machine-verifiable",
192
192
  "path": "standards.json",
193
- "digest": "sha256:68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
193
+ "digest": "sha256:4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
194
194
  "description": "Standards metadata exposes the KFD-4 schema ID, path, interface version, and concept names."
195
195
  },
196
196
  {
@@ -198,12 +198,12 @@
198
198
  "result": "pass",
199
199
  "machineProvability": "machine-verifiable",
200
200
  "path": "scripts/check.mjs",
201
- "digest": "sha256:43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
202
- "description": "The package check gate validates the KFD-4 schema and standards metadata."
201
+ "digest": "sha256:531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
202
+ "description": "The package check gate validates the KFD-4 schema and standards metadata; it does not assess adopter-specific timeline correctness."
203
203
  }
204
204
  ],
205
205
  "auditBoundary": {
206
- "scope": "KFD-4 decision text, observer-perspective schema, standards metadata, and self-verification gate",
206
+ "scope": "KFD-4 package decision text, observer-perspective schema, standards metadata, and self-verification gate; excludes adopter runtime timeline correctness",
207
207
  "enumerability": "closed-world"
208
208
  },
209
209
  "responsibility": {
@@ -20,7 +20,7 @@
20
20
  {
21
21
  "kind": "file",
22
22
  "path": "standards.json",
23
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
23
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
24
24
  },
25
25
  {
26
26
  "kind": "schema",
@@ -44,7 +44,7 @@
44
44
  "pointer": {
45
45
  "kind": "file",
46
46
  "path": "scripts/check.mjs",
47
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82"
47
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974"
48
48
  },
49
49
  "machineProvability": "machine-verifiable",
50
50
  "description": "The package check gate validates the KFD-1 schema, surface register, witness, and hashes."
@@ -109,7 +109,7 @@
109
109
  "pointer": {
110
110
  "kind": "file",
111
111
  "path": "scripts/check.mjs",
112
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82"
112
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974"
113
113
  },
114
114
  "machineProvability": "machine-verifiable",
115
115
  "description": "The package check gate validates KFD-3 interface closure and witness parity."
@@ -145,7 +145,7 @@
145
145
  },
146
146
  {
147
147
  "id": "kfd-4-observer-perspective-trust",
148
- "statement": "KFD-4 is trustable as an observer-perspective interface because KFD publishes the schema, standards metadata, decision text, and verification gate for observer-relative timeline views.",
148
+ "statement": "KFD-4 is trustable as a package-level observer-perspective interface because KFD publishes the schema, standards metadata, decision text, and verification gate for observer-relative timeline views; adopter-specific timeline correctness remains a separate KFD-2 claim.",
149
149
  "subject": {
150
150
  "kind": "observer-perspective",
151
151
  "id": "kfd-4-observer-perspective",
@@ -156,17 +156,17 @@
156
156
  {
157
157
  "kind": "file",
158
158
  "path": "decisions/KFD-4.md",
159
- "sha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4"
159
+ "sha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c"
160
160
  },
161
161
  {
162
162
  "kind": "file",
163
163
  "path": "standards.json",
164
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
164
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
165
165
  },
166
166
  {
167
167
  "kind": "schema",
168
168
  "path": "schemas/kfd-4/observer-perspective.schema.json",
169
- "sha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c"
169
+ "sha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c"
170
170
  }
171
171
  ],
172
172
  "evidence": [
@@ -175,7 +175,7 @@
175
175
  "pointer": {
176
176
  "kind": "schema",
177
177
  "path": "schemas/kfd-4/observer-perspective.schema.json",
178
- "sha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c"
178
+ "sha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c"
179
179
  },
180
180
  "machineProvability": "machine-verifiable",
181
181
  "description": "KFD-4 observer-perspective schema is published."
@@ -185,7 +185,7 @@
185
185
  "pointer": {
186
186
  "kind": "file",
187
187
  "path": "standards.json",
188
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
188
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
189
189
  },
190
190
  "machineProvability": "machine-verifiable",
191
191
  "description": "Standards metadata exposes the KFD-4 schema ID, path, interface version, and concept names."
@@ -195,10 +195,10 @@
195
195
  "pointer": {
196
196
  "kind": "file",
197
197
  "path": "scripts/check.mjs",
198
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82"
198
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974"
199
199
  },
200
200
  "machineProvability": "machine-verifiable",
201
- "description": "The package check gate validates the KFD-4 schema and standards metadata."
201
+ "description": "The package check gate validates the KFD-4 schema and standards metadata; it does not assess adopter-specific timeline correctness."
202
202
  }
203
203
  ],
204
204
  "verification": {
@@ -206,7 +206,7 @@
206
206
  "expectedResult": "pass"
207
207
  },
208
208
  "auditBoundary": {
209
- "scope": "KFD-4 decision text, observer-perspective schema, standards metadata, and self-verification gate",
209
+ "scope": "KFD-4 package decision text, observer-perspective schema, standards metadata, and self-verification gate; excludes adopter runtime timeline correctness",
210
210
  "enumerability": "closed-world"
211
211
  },
212
212
  "residualRisk": [],
@@ -5,12 +5,12 @@
5
5
  "sourceBindings": [
6
6
  {
7
7
  "path": "package.json",
8
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
8
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
9
9
  "id": "package-version-and-exports"
10
10
  },
11
11
  {
12
12
  "path": "kfd.release.json",
13
- "sha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22",
13
+ "sha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2",
14
14
  "id": "anchored-release-version"
15
15
  },
16
16
  {
@@ -20,7 +20,7 @@
20
20
  },
21
21
  {
22
22
  "path": "standards.json",
23
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
23
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
24
24
  "id": "standards-metadata"
25
25
  },
26
26
  {
@@ -42,7 +42,7 @@
42
42
  "machineEvidence": [
43
43
  {
44
44
  "path": "scripts/check.mjs",
45
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
45
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
46
46
  "id": "self-verification-command"
47
47
  },
48
48
  {
@@ -82,14 +82,14 @@
82
82
  }
83
83
  ],
84
84
  "hashes": {
85
- "package-version-and-exports": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
86
- "anchored-release-version": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22",
85
+ "package-version-and-exports": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
86
+ "anchored-release-version": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2",
87
87
  "decision-registry": "003842480fb9b3b8847735db729bc94bace4f60a25e730df839f4cb74c9f1ab5",
88
- "standards-metadata": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
88
+ "standards-metadata": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
89
89
  "release-impact-ledger": "685f65d10491593d28321431eee315bb5fbbedd2d1ccec0747f4a37547b3124a",
90
90
  "buildchain-release-contract": "0dc1179d59b634df364871ea18a66251781321c80a6f7bcb9e3fcf5a48ef738a",
91
91
  "buildchain-runtime-contract-lock": "b01c166a59bec6d73e882a69d9d91fbb98f1132558a417f4654c19889af6f0b9",
92
- "self-verification-command": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
92
+ "self-verification-command": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
93
93
  "buildchain-build-workflow": "264cd15db6f872c72fc58bcd476d1a3a476ec54b520b05268e213f5b59692f5b",
94
94
  "buildchain-promotion-workflow": "754a44cedfc174f35dcf54414c04b636bbc0a85e2272f5de8e899a70ee05d7bd",
95
95
  "kfd-2-trust-taxonomy-schema": "a663d301a663cadb8567e3010361f5a630b76b6518ed7603dfd58cbd4e64a658",
@@ -101,15 +101,15 @@
101
101
  "artifacts": [
102
102
  {
103
103
  "name": "@kungfu-tech/kfd",
104
- "version": "1.0.0-alpha.20",
104
+ "version": "1.0.0-alpha.21",
105
105
  "path": "package.json",
106
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854"
106
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534"
107
107
  },
108
108
  {
109
109
  "name": "kfd-release-anchor",
110
- "version": "1.0.0-alpha.20",
110
+ "version": "1.0.0-alpha.21",
111
111
  "path": "kfd.release.json",
112
- "sha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22"
112
+ "sha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2"
113
113
  }
114
114
  ],
115
115
  "verification": {
@@ -265,7 +265,7 @@
265
265
  {
266
266
  "id": "doc:readme",
267
267
  "sourcePath": "README.md",
268
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5"
268
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d"
269
269
  },
270
270
  {
271
271
  "id": "doc:trademarks",
@@ -295,7 +295,7 @@
295
295
  {
296
296
  "id": "doc:kfd-4-usage",
297
297
  "sourcePath": "docs/KFD-4-usage.md",
298
- "sha256": "4c223ab68fce18cf881efd268508f57438da8dcf22834f7c032ef3b63a905347"
298
+ "sha256": "d94680fa69309b2e26d139d2c134e4c1f5246c02b039191bc0fe078e3cb52042"
299
299
  },
300
300
  {
301
301
  "id": "decision:kfd-1",
@@ -315,7 +315,7 @@
315
315
  {
316
316
  "id": "decision:kfd-4",
317
317
  "sourcePath": "decisions/KFD-4.md",
318
- "sha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4"
318
+ "sha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c"
319
319
  }
320
320
  ],
321
321
  "schemas": [
@@ -372,7 +372,7 @@
372
372
  {
373
373
  "id": "schema:kfd-4:observer-perspective",
374
374
  "sourcePath": "schemas/kfd-4/observer-perspective.schema.json",
375
- "sha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c"
375
+ "sha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c"
376
376
  }
377
377
  ],
378
378
  "standardsMetadata": [
@@ -384,7 +384,7 @@
384
384
  {
385
385
  "id": "metadata:standards",
386
386
  "sourcePath": "standards.json",
387
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
387
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
388
388
  },
389
389
  {
390
390
  "id": "metadata:release-impact",
@@ -394,7 +394,7 @@
394
394
  {
395
395
  "id": "metadata:release-anchor",
396
396
  "sourcePath": "kfd.release.json",
397
- "sha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22"
397
+ "sha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2"
398
398
  },
399
399
  {
400
400
  "id": "metadata:buildchain-contract-lock",
@@ -404,36 +404,36 @@
404
404
  {
405
405
  "id": "metadata:kfd-2-public-release-trust-claim",
406
406
  "sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
407
- "sha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a"
407
+ "sha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237"
408
408
  },
409
409
  {
410
410
  "id": "metadata:kfd-2-foundation-trust-claims",
411
411
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
412
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679"
412
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b"
413
413
  },
414
414
  {
415
415
  "id": "metadata:kfd-2-foundation-trust-assessment",
416
416
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
417
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112"
417
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f"
418
418
  }
419
419
  ],
420
420
  "packageExports": [
421
421
  {
422
422
  "id": "export:package-json",
423
423
  "sourcePath": "package.json#exports",
424
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854"
424
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534"
425
425
  },
426
426
  {
427
427
  "id": "export:npm-files",
428
428
  "sourcePath": "package.json#files",
429
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854"
429
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534"
430
430
  }
431
431
  ],
432
432
  "siteConsumptionContracts": [
433
433
  {
434
434
  "id": "site:kfd-site-bundle",
435
435
  "sourcePath": "site/kfd-site.json",
436
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825"
436
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709"
437
437
  },
438
438
  {
439
439
  "id": "site:release-propagation",
@@ -445,7 +445,7 @@
445
445
  "minimalEntrypoints": [
446
446
  {
447
447
  "path": "README.md",
448
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
448
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
449
449
  "description": "Start from the KFD worldview and current decision set."
450
450
  },
451
451
  {
@@ -465,44 +465,44 @@
465
465
  },
466
466
  {
467
467
  "path": "standards.json",
468
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
468
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
469
469
  "description": "Discover KFD schema IDs, schema paths, concepts, and interface contracts."
470
470
  },
471
471
  {
472
472
  "path": "package.json#exports",
473
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
473
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
474
474
  "description": "Consume the shipped npm package surfaces."
475
475
  },
476
476
  {
477
477
  "path": "kfd.release.json",
478
- "sha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22",
478
+ "sha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2",
479
479
  "description": "Inspect the explicit KFD package version anchor for the current Buildchain release line."
480
480
  },
481
481
  {
482
482
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
483
- "sha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a",
483
+ "sha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237",
484
484
  "description": "Inspect the explicit public KFD-2 claim passed into Buildchain release passport generation."
485
485
  },
486
486
  {
487
487
  "path": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
488
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
488
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
489
489
  "description": "Inspect generic KFD-2 claims for the KFD package self-dogfood assessment."
490
490
  },
491
491
  {
492
492
  "path": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
493
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
493
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
494
494
  "description": "Inspect KFD-2's generic assessment of KFD-1, KFD-3, and KFD-4 claims."
495
495
  },
496
496
  {
497
497
  "path": "site/kfd-site.json",
498
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
498
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
499
499
  "description": "Render KFD-owned site text and decision pages without duplicating extraction logic."
500
500
  }
501
501
  ],
502
502
  "discoverability": [
503
503
  {
504
504
  "path": "README.md",
505
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
505
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
506
506
  "description": "Human and agent entrypoint"
507
507
  },
508
508
  {
@@ -522,39 +522,39 @@
522
522
  },
523
523
  {
524
524
  "path": "standards.json",
525
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
525
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
526
526
  "description": "Machine-readable standards metadata"
527
527
  },
528
528
  {
529
529
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
530
- "sha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a",
530
+ "sha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237",
531
531
  "description": "KFD-2 public release trust claim"
532
532
  },
533
533
  {
534
534
  "path": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
535
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
535
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
536
536
  "description": "KFD-2 generic trust claims for KFD self-dogfood"
537
537
  },
538
538
  {
539
539
  "path": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
540
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
540
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
541
541
  "description": "KFD-2 generic trust assessment for KFD self-dogfood"
542
542
  },
543
543
  {
544
544
  "path": "package.json",
545
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
545
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
546
546
  "description": "Package export map"
547
547
  },
548
548
  {
549
549
  "path": "site/kfd-site.json",
550
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
550
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
551
551
  "description": "Site content projection"
552
552
  }
553
553
  ],
554
554
  "valueEvidence": [
555
555
  {
556
556
  "path": "README.md",
557
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
557
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
558
558
  "description": "KFD-3 value evidence for kfd-foundation-model: KFD helps humans and agents understand the foundation model before adopting or extending kungfu-systems decisions."
559
559
  },
560
560
  {
@@ -579,22 +579,22 @@
579
579
  },
580
580
  {
581
581
  "path": "standards.json",
582
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
582
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
583
583
  "description": "KFD-3 value evidence for kfd-foundation-model: KFD helps humans and agents understand the foundation model before adopting or extending kungfu-systems decisions."
584
584
  },
585
585
  {
586
586
  "path": "site/kfd-site.json",
587
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
587
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
588
588
  "description": "KFD-3 value evidence for kfd-foundation-model: KFD helps humans and agents understand the foundation model before adopting or extending kungfu-systems decisions."
589
589
  },
590
590
  {
591
591
  "path": "scripts/check.mjs",
592
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
592
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
593
593
  "description": "KFD-3 value evidence for kfd-foundation-model: KFD helps humans and agents understand the foundation model before adopting or extending kungfu-systems decisions."
594
594
  },
595
595
  {
596
596
  "path": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
597
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
597
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
598
598
  "description": "KFD-3 value evidence for kfd-foundation-model: KFD helps humans and agents understand the foundation model before adopting or extending kungfu-systems decisions."
599
599
  },
600
600
  {
@@ -609,12 +609,12 @@
609
609
  },
610
610
  {
611
611
  "path": "package.json#exports",
612
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
612
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
613
613
  "description": "KFD-3 value evidence for kfd-machine-consumption: KFD gives agents and release systems machine-readable standards, schemas, package exports, and witnesses so they can consume KFD without relying on private context."
614
614
  },
615
615
  {
616
616
  "path": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
617
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
617
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
618
618
  "description": "KFD-3 value evidence for kfd-machine-consumption: KFD gives agents and release systems machine-readable standards, schemas, package exports, and witnesses so they can consume KFD without relying on private context."
619
619
  },
620
620
  {
@@ -651,19 +651,19 @@
651
651
  },
652
652
  {
653
653
  "path": "scripts/check.mjs",
654
- "sha256": "43cd81dcff761004098722f4b69a7e9939fe9559d4785344dd3344933e241f82",
654
+ "sha256": "531fec64c2d570c8214bc2009569ccff4436bbabbff9a54cf5220d2c323fc974",
655
655
  "description": "Repository self-verification gate"
656
656
  },
657
657
  {
658
658
  "path": "site/kfd-site.json",
659
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825",
659
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709",
660
660
  "description": "Site rendering boundary"
661
661
  }
662
662
  ],
663
663
  "choicePaths": [
664
664
  {
665
665
  "path": "README.md",
666
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5",
666
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d",
667
667
  "description": "Human reading path"
668
668
  },
669
669
  {
@@ -673,27 +673,27 @@
673
673
  },
674
674
  {
675
675
  "path": "standards.json",
676
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4",
676
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f",
677
677
  "description": "Agent standards metadata path"
678
678
  },
679
679
  {
680
680
  "path": ".buildchain/kfd-2/public-release-trust.claim.json",
681
- "sha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a",
681
+ "sha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237",
682
682
  "description": "Agent release trust claim path"
683
683
  },
684
684
  {
685
685
  "path": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
686
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679",
686
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b",
687
687
  "description": "Agent generic trust claims path"
688
688
  },
689
689
  {
690
690
  "path": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
691
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112",
691
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f",
692
692
  "description": "Agent generic trust assessment path"
693
693
  },
694
694
  {
695
695
  "path": "package.json",
696
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854",
696
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534",
697
697
  "description": "Package consumption path"
698
698
  }
699
699
  ],
@@ -720,7 +720,7 @@
720
720
  },
721
721
  {
722
722
  "path": "docs/KFD-4-usage.md",
723
- "sha256": "4c223ab68fce18cf881efd268508f57438da8dcf22834f7c032ef3b63a905347"
723
+ "sha256": "d94680fa69309b2e26d139d2c134e4c1f5246c02b039191bc0fe078e3cb52042"
724
724
  }
725
725
  ]
726
726
  },
@@ -924,7 +924,7 @@
924
924
  {
925
925
  "id": "doc:readme",
926
926
  "sourcePath": "README.md",
927
- "sha256": "5843355e9758ffd06488486f77fbdbaa9afe78bee8cdde2d82c75a132ff982f5"
927
+ "sha256": "c5a320a2d9e31972ae91b15310c003a9b6cc8c747ae72494514403abe925638d"
928
928
  },
929
929
  {
930
930
  "id": "doc:trademarks",
@@ -954,7 +954,7 @@
954
954
  {
955
955
  "id": "doc:kfd-4-usage",
956
956
  "sourcePath": "docs/KFD-4-usage.md",
957
- "sha256": "4c223ab68fce18cf881efd268508f57438da8dcf22834f7c032ef3b63a905347"
957
+ "sha256": "d94680fa69309b2e26d139d2c134e4c1f5246c02b039191bc0fe078e3cb52042"
958
958
  },
959
959
  {
960
960
  "id": "decision:kfd-1",
@@ -974,7 +974,7 @@
974
974
  {
975
975
  "id": "decision:kfd-4",
976
976
  "sourcePath": "decisions/KFD-4.md",
977
- "sha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4"
977
+ "sha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c"
978
978
  }
979
979
  ],
980
980
  "schemas": [
@@ -1031,7 +1031,7 @@
1031
1031
  {
1032
1032
  "id": "schema:kfd-4:observer-perspective",
1033
1033
  "sourcePath": "schemas/kfd-4/observer-perspective.schema.json",
1034
- "sha256": "e6ae8849b04c326b4ae5efafa08b08dc0f3fcf6844f6956735ff7327c2cfd69c"
1034
+ "sha256": "806bdc4e06e58ddb0833f69044c9321ea0a8e3e11fd8c662be19d1752e3b070c"
1035
1035
  }
1036
1036
  ],
1037
1037
  "standardsMetadata": [
@@ -1043,7 +1043,7 @@
1043
1043
  {
1044
1044
  "id": "metadata:standards",
1045
1045
  "sourcePath": "standards.json",
1046
- "sha256": "68aae8bbfcce0776e5f5317e133ae1b494a41ecdea1f992bb51f71d1e75f2ca4"
1046
+ "sha256": "4ee9e5fc732eef1b43c75a146125496e0dbd859ef5a11d0c637c41e9091c677f"
1047
1047
  },
1048
1048
  {
1049
1049
  "id": "metadata:release-impact",
@@ -1053,7 +1053,7 @@
1053
1053
  {
1054
1054
  "id": "metadata:release-anchor",
1055
1055
  "sourcePath": "kfd.release.json",
1056
- "sha256": "128788929dadbf25aa60283c5c5a7f79afd971627c378edd7d85546ee2038f22"
1056
+ "sha256": "bfb302c839b6cb45204d541b5af5b1c211568efb16fb3eebbb04dc65f7de83d2"
1057
1057
  },
1058
1058
  {
1059
1059
  "id": "metadata:buildchain-contract-lock",
@@ -1063,36 +1063,36 @@
1063
1063
  {
1064
1064
  "id": "metadata:kfd-2-public-release-trust-claim",
1065
1065
  "sourcePath": ".buildchain/kfd-2/public-release-trust.claim.json",
1066
- "sha256": "22c5b4fcbb0f57d8b61c109e3ff9ea782847e090b577bec546d5aa129b12996a"
1066
+ "sha256": "3780b47472762b5ce9575250da73ee800af71dd194a9b0a3f61a063569311237"
1067
1067
  },
1068
1068
  {
1069
1069
  "id": "metadata:kfd-2-foundation-trust-claims",
1070
1070
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-claims.json",
1071
- "sha256": "516fe8d96ddecbf4ebb32315fc1b5658e3e56c4180aca97eac2a9ab2c9208679"
1071
+ "sha256": "87757bd26c8f64465472aaafda05fe56497939a3ce66274563c142594d9d769b"
1072
1072
  },
1073
1073
  {
1074
1074
  "id": "metadata:kfd-2-foundation-trust-assessment",
1075
1075
  "sourcePath": ".buildchain/kfd-2/kfd-foundation.trust-assessment.json",
1076
- "sha256": "287d684a91830455580cee8dba44522a794826ce2255f4bde12f93025dc3b112"
1076
+ "sha256": "c3749585bb4a295bb2f0f510a4b6030f0398d9a09dc50dab0ace31248bf95b0f"
1077
1077
  }
1078
1078
  ],
1079
1079
  "packageExports": [
1080
1080
  {
1081
1081
  "id": "export:package-json",
1082
1082
  "sourcePath": "package.json#exports",
1083
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854"
1083
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534"
1084
1084
  },
1085
1085
  {
1086
1086
  "id": "export:npm-files",
1087
1087
  "sourcePath": "package.json#files",
1088
- "sha256": "25ae49f5ab1c34d07d066b7e8fbe49284808bbf10b3c3b2ebe06373be1020854"
1088
+ "sha256": "7773f62e7789220a9e21abe9626e7206028a2dc5de59e836595bd07be9459534"
1089
1089
  }
1090
1090
  ],
1091
1091
  "siteConsumptionContracts": [
1092
1092
  {
1093
1093
  "id": "site:kfd-site-bundle",
1094
1094
  "sourcePath": "site/kfd-site.json",
1095
- "sha256": "f416265ea3c2aed6b8cc63f3aef35b4c2c2f8f967a0cf45433f1efcf60b3c825"
1095
+ "sha256": "bb0c8f27239d8716eda2fcb730b7933a9df580da0be0c415d6f42262d34d1709"
1096
1096
  },
1097
1097
  {
1098
1098
  "id": "site:release-propagation",
package/README.md CHANGED
@@ -91,7 +91,9 @@ perspective and timeline order. In a multi-machine or multi-agent world, a
91
91
  product should not pretend to own a universal global clock. It should preserve
92
92
  non-drifting facts, make trust start from those facts, and let participants
93
93
  cooperate by exposing the observer, accepted ranges, causal constraints, and
94
- projection policy behind the view.
94
+ projection policy behind the view. KFD-4 gates perspective-bearing views; it
95
+ does not claim that importing the KFD-4 schema proves an adopter's concrete
96
+ timeline implementation is complete or correct.
95
97
 
96
98
  ## Adoption boundary
97
99
 
@@ -212,7 +214,9 @@ closed-world evidence shape. See
212
214
  KFD-4 publishes an observer-perspective schema under `schemas/kfd-4/`. It gives
213
215
  humans and agents a standard vocabulary for observer, accepted facts,
214
216
  projection policy, causal constraints, degraded evidence, and verification
215
- state when a product shows a perspective-bearing timeline.
217
+ state when a product shows a perspective-bearing timeline. The package-level
218
+ claim proves the KFD-owned interface surface; adopter runtime correctness
219
+ requires adopter-owned KFD-2 evidence.
216
220
 
217
221
  ## Current decisions
218
222
 
@@ -45,6 +45,25 @@ In a complex world, from which declared perspective is this view useful,
45
45
  stable, and trustworthy?
46
46
  ```
47
47
 
48
+ ## Gate boundary
49
+
50
+ KFD-4 is a gate for perspective-bearing views. It applies when a product,
51
+ repository, release surface, extension surface, hosted surface, export, API,
52
+ CLI, GUI, or agent-facing interface represents time, ordering, history,
53
+ timeline state, replay, sync, or mixed-source work facts.
54
+
55
+ A product surface that does not represent a timeline, history, replay, sync
56
+ flow, ordering claim, or mixed-source work state does not need to pass a KFD-4
57
+ gate. It may still be assessed by KFD-1, KFD-2, KFD-3, or other applicable
58
+ KFDs.
59
+
60
+ Passing a KFD-4 gate means the surface declares enough observer and projection
61
+ metadata for its timeline view to be inspected, reproduced, and challenged. It
62
+ does not by itself prove that every payload, source adapter, remote machine,
63
+ or adopter-specific timeline implementation is correct. Those product-specific
64
+ claims need their own facts, witnesses, verification, and responsibility
65
+ boundary.
66
+
48
67
  ## Procedure
49
68
 
50
69
  When a product combines facts from multiple machines, agents, processes,
@@ -171,6 +190,14 @@ vocabulary for declaring observer, accepted facts, projection policy, causal
171
190
  constraints, and degraded evidence state in products that need a
172
191
  perspective-bearing timeline.
173
192
 
193
+ The package proves that the KFD-4 vocabulary, schema, metadata, and
194
+ self-verification surface are published from committed KFD facts. It does not
195
+ claim that a specific adopter's product timeline is correct merely because the
196
+ adopter cites or imports the schema. An adopter that claims KFD-4 conformance
197
+ must still provide adopter-owned evidence for its accepted facts, projection
198
+ policy, causal constraints, degraded evidence handling, and verification
199
+ result.
200
+
174
201
  ## Adopters
175
202
 
176
203
  Each adopting repository cites this KFD when designing or changing a timeline,
@@ -23,9 +23,23 @@ Use KFD-4 when a product surface represents time, history, replay, sync,
23
23
  ordering, or mixed-source work state. A product that does not present a
24
24
  perspective-bearing timeline does not need a KFD-4 gate.
25
25
 
26
+ The gate is about the view's declared perspective. A product may pass the KFD-4
27
+ interface boundary by exposing view-subject, observer, accepted-fact,
28
+ projection-policy, causal-constraint, degraded-evidence, and verification
29
+ metadata. That package or product still needs separate evidence for any
30
+ stronger claim, such as
31
+ "this adapter captured every remote event" or "this product timeline is
32
+ complete and correct."
33
+
26
34
  ## Trust Relation
27
35
 
28
36
  KFD-4 claims can be assessed by KFD-2. The KFD package does this through
29
37
  `.buildchain/kfd-2/kfd-foundation.trust-claims.json` and
30
38
  `.buildchain/kfd-2/kfd-foundation.trust-assessment.json`, where KFD-4 is
31
39
  assessed as an `observer-perspective` subject.
40
+
41
+ The KFD package's own KFD-2 assessment proves the package-level interface
42
+ surface: decision text, standards metadata, schema, and self-check wiring. It
43
+ does not transfer trust to an adopter's runtime timeline. Adopters should make
44
+ their own KFD-2 claim or release passport when they want users or agents to
45
+ trust a concrete timeline implementation.
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.20",
7
+ "npmVersion": "1.0.0-alpha.21",
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.20",
3
+ "version": "1.0.0-alpha.21",
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": [
@@ -27,6 +27,9 @@
27
27
  "type": "string",
28
28
  "minLength": 1
29
29
  },
30
+ "viewSubject": {
31
+ "$ref": "#/$defs/viewSubject"
32
+ },
30
33
  "observer": {
31
34
  "$ref": "#/$defs/observer"
32
35
  },
@@ -60,6 +63,31 @@
60
63
  },
61
64
  "additionalProperties": false,
62
65
  "$defs": {
66
+ "viewSubject": {
67
+ "type": "object",
68
+ "required": [
69
+ "kind",
70
+ "description"
71
+ ],
72
+ "properties": {
73
+ "kind": {
74
+ "enum": [
75
+ "timeline",
76
+ "history",
77
+ "replay",
78
+ "sync",
79
+ "ordering",
80
+ "mixed-source-work-state",
81
+ "other"
82
+ ]
83
+ },
84
+ "description": {
85
+ "type": "string",
86
+ "minLength": 1
87
+ }
88
+ },
89
+ "additionalProperties": false
90
+ },
63
91
  "observer": {
64
92
  "type": "object",
65
93
  "required": [
package/scripts/check.mjs CHANGED
@@ -494,7 +494,7 @@ const kfd4ObserverPerspectiveSchema = JSON.parse(readFileSync("schemas/kfd-4/obs
494
494
  if (kfd4ObserverPerspectiveSchema.properties?.contract?.const !== "kfd-4-observer-perspective") {
495
495
  fail("KFD-4 observerPerspective schema must describe the kfd-4-observer-perspective contract");
496
496
  }
497
- for (const concept of ["observer", "declaredPerspective", "observerPerspective", "acceptedFacts", "projectionPolicy", "causalDominance", "degradedEvidence", "timeline"]) {
497
+ for (const concept of ["observer", "declaredPerspective", "observerPerspective", "viewSubject", "acceptedFacts", "projectionPolicy", "causalDominance", "degradedEvidence", "timeline"]) {
498
498
  if (!kfd4?.concepts?.[concept]) fail(`KFD-4 standards metadata missing concept ${concept}`);
499
499
  }
500
500
  if (!kfd4?.interfaces?.observerPerspective) fail("KFD-4 standards metadata missing interface observerPerspective");
@@ -200,7 +200,7 @@ const trustClaims = {
200
200
  {
201
201
  id: "kfd-4-observer-perspective-trust",
202
202
  statement:
203
- "KFD-4 is trustable as an observer-perspective interface because KFD publishes the schema, standards metadata, decision text, and verification gate for observer-relative timeline views.",
203
+ "KFD-4 is trustable as a package-level observer-perspective interface because KFD publishes the schema, standards metadata, decision text, and verification gate for observer-relative timeline views; adopter-specific timeline correctness remains a separate KFD-2 claim.",
204
204
  subject: {
205
205
  kind: "observer-perspective",
206
206
  id: "kfd-4-observer-perspective",
@@ -215,14 +215,14 @@ const trustClaims = {
215
215
  evidence: [
216
216
  evidence("schema", "schemas/kfd-4/observer-perspective.schema.json", "KFD-4 observer-perspective schema is published."),
217
217
  evidence("file", "standards.json", "Standards metadata exposes the KFD-4 schema ID, path, interface version, and concept names."),
218
- evidence("file", "scripts/check.mjs", "The package check gate validates the KFD-4 schema and standards metadata."),
218
+ evidence("file", "scripts/check.mjs", "The package check gate validates the KFD-4 schema and standards metadata; it does not assess adopter-specific timeline correctness."),
219
219
  ],
220
220
  verification: {
221
221
  command: "node scripts/check.mjs",
222
222
  expectedResult: "pass",
223
223
  },
224
224
  auditBoundary: {
225
- scope: "KFD-4 decision text, observer-perspective schema, standards metadata, and self-verification gate",
225
+ scope: "KFD-4 package decision text, observer-perspective schema, standards metadata, and self-verification gate; excludes adopter runtime timeline correctness",
226
226
  enumerability: "closed-world",
227
227
  },
228
228
  residualRisk: [],
@@ -82,7 +82,7 @@
82
82
  ],
83
83
  "explanation": [
84
84
  "| Layer | Decision | Reader question | Commitment | |---|---|---|---| | Perspective-bearing views | KFD-4 | How should a product show time, history, replay, sync, or mixed-source work state? | Timelines must declare their observer: a useful view states who is observing, which facts were accepted, and how concurrent facts were projected. |",
85
- "KFD-4 is the first such guideline. It applies KFD-1/2/3 to the problem of perspective and timeline order. In a multi-machine or multi-agent world, a product should not pretend to own a universal global clock. It should preserve non-drifting facts, make trust start from those facts, and let participants cooperate by exposing the observer, accepted ranges, causal constraints, and projection policy behind the view."
85
+ "KFD-4 is the first such guideline. It applies KFD-1/2/3 to the problem of perspective and timeline order. In a multi-machine or multi-agent world, a product should not pretend to own a universal global clock. It should preserve non-drifting facts, make trust start from those facts, and let participants cooperate by exposing the observer, accepted ranges, causal constraints, and projection policy behind the view. KFD-4 gates perspective-bearing views; it does not claim that importing the KFD-4 schema proves an adopter's concrete timeline implementation is complete or correct."
86
86
  ]
87
87
  },
88
88
  "productProofPath": {
@@ -136,7 +136,7 @@
136
136
  "homepagePriority": 27,
137
137
  "defaultPresentation": "practice-table",
138
138
  "includeInFirstScreen": false,
139
- "markdown": "KFDs after the foundation triad may define practice guidelines: procedures\nthat apply the foundation to a specific class of real-world product behavior.\nThey do not expand the foundation triad; they show how the foundation behaves\nwhen a product must make a concrete kind of reality legible.\n\n| Layer | Decision | Reader question | Commitment |\n|---|---|---|---|\n| Perspective-bearing views | KFD-4 | How should a product show time, history, replay, sync, or mixed-source work state? | Timelines must declare their observer: a useful view states who is observing, which facts were accepted, and how concurrent facts were projected. |\n\nKFD-4 is the first such guideline. It applies KFD-1/2/3 to the problem of\nperspective and timeline order. In a multi-machine or multi-agent world, a\nproduct should not pretend to own a universal global clock. It should preserve\nnon-drifting facts, make trust start from those facts, and let participants\ncooperate by exposing the observer, accepted ranges, causal constraints, and\nprojection policy behind the view."
139
+ "markdown": "KFDs after the foundation triad may define practice guidelines: procedures\nthat apply the foundation to a specific class of real-world product behavior.\nThey do not expand the foundation triad; they show how the foundation behaves\nwhen a product must make a concrete kind of reality legible.\n\n| Layer | Decision | Reader question | Commitment |\n|---|---|---|---|\n| Perspective-bearing views | KFD-4 | How should a product show time, history, replay, sync, or mixed-source work state? | Timelines must declare their observer: a useful view states who is observing, which facts were accepted, and how concurrent facts were projected. |\n\nKFD-4 is the first such guideline. It applies KFD-1/2/3 to the problem of\nperspective and timeline order. In a multi-machine or multi-agent world, a\nproduct should not pretend to own a universal global clock. It should preserve\nnon-drifting facts, make trust start from those facts, and let participants\ncooperate by exposing the observer, accepted ranges, causal constraints, and\nprojection policy behind the view. KFD-4 gates perspective-bearing views; it\ndoes not claim that importing the KFD-4 schema proves an adopter's concrete\ntimeline implementation is complete or correct."
140
140
  },
141
141
  {
142
142
  "id": "product-proof-path",
@@ -158,7 +158,7 @@
158
158
  "homepagePriority": 40,
159
159
  "defaultPresentation": "ordered-steps",
160
160
  "includeInFirstScreen": false,
161
- "markdown": "Agents consuming this package should start from the same sources as humans:\n\n1. Read this README for the foundation model and package map.\n2. Read `standards.json` for canonical KFD numbers, schema IDs, concept names,\n and interface contracts.\n3. Use `site/kfd-site.json` decision metadata or the KFD-3 collaboration\n interface fact-source metadata to identify the public KFD fact source.\n4. Use `schemas/kfd-2/trust-taxonomy.schema.json` for KFD-2 residual-risk and\n trust-downgrade values. Unknown taxonomy values are invalid.\n5. Use `schemas/kfd-2/trust-claims.schema.json` and\n `schemas/kfd-2/trust-assessment.schema.json` when a claim needs generic\n KFD-2 assessment instead of a release-specific passport.\n6. Use `schemas/kfd-3/collaboration-interface.schema.json` and\n `schemas/kfd-3/witness.schema.json` to inspect collaboration interfaces.\n7. If a needed KFD-2 taxonomy value is missing, open a KFD GitHub issue rather\n than inventing a local value:\n `https://github.com/kungfu-systems/kfd/issues/new?title=KFD-2%20trust%20taxonomy%20extension%20request`.\n\nKFD package semver is only the distribution version. KFD-owned machine\ninterfaces carry their own `schemaVersion` and `contract` fields. Compatible\nadditions may keep the same interface version; semantic changes, required-field\nchanges, verification meaning changes, or responsibility-boundary changes must\nuse a new interface version or contract.\n\nKFD-2 publishes trust-taxonomy, trust-claims, trust-assessment,\nrelease-claims, and release-trust-passport schemas under `schemas/kfd-2/`.\nThe generic schemas let humans, agents, Buildchain, and other systems assess\nwhether claims about KFD-1, KFD-3, KFD-4, future KFDs, or product surfaces are\nbound to source facts, evidence, hashes, audit boundaries, residual risk, and\nresponsibility state. The release schemas are a release-specific projection of\nthat model. See [`docs/KFD-2-usage.md`](docs/KFD-2-usage.md).\n\nKFD-3 also publishes a general collaboration-interface schema and witness\nschema under `schemas/kfd-3/`. These schemas are for participant-facing product\ninterfaces, not only agent APIs. A product such as Kungfu may implement an\nagent-first profile, but that profile remains a product-specific realization of\nKFD-3. The KFD-owned boundary is the standard vocabulary, schema IDs, and\nclosed-world evidence shape. See\n[`docs/KFD-3-usage.md`](docs/KFD-3-usage.md).\n\nKFD-4 publishes an observer-perspective schema under `schemas/kfd-4/`. It gives\nhumans and agents a standard vocabulary for observer, accepted facts,\nprojection policy, causal constraints, degraded evidence, and verification\nstate when a product shows a perspective-bearing timeline."
161
+ "markdown": "Agents consuming this package should start from the same sources as humans:\n\n1. Read this README for the foundation model and package map.\n2. Read `standards.json` for canonical KFD numbers, schema IDs, concept names,\n and interface contracts.\n3. Use `site/kfd-site.json` decision metadata or the KFD-3 collaboration\n interface fact-source metadata to identify the public KFD fact source.\n4. Use `schemas/kfd-2/trust-taxonomy.schema.json` for KFD-2 residual-risk and\n trust-downgrade values. Unknown taxonomy values are invalid.\n5. Use `schemas/kfd-2/trust-claims.schema.json` and\n `schemas/kfd-2/trust-assessment.schema.json` when a claim needs generic\n KFD-2 assessment instead of a release-specific passport.\n6. Use `schemas/kfd-3/collaboration-interface.schema.json` and\n `schemas/kfd-3/witness.schema.json` to inspect collaboration interfaces.\n7. If a needed KFD-2 taxonomy value is missing, open a KFD GitHub issue rather\n than inventing a local value:\n `https://github.com/kungfu-systems/kfd/issues/new?title=KFD-2%20trust%20taxonomy%20extension%20request`.\n\nKFD package semver is only the distribution version. KFD-owned machine\ninterfaces carry their own `schemaVersion` and `contract` fields. Compatible\nadditions may keep the same interface version; semantic changes, required-field\nchanges, verification meaning changes, or responsibility-boundary changes must\nuse a new interface version or contract.\n\nKFD-2 publishes trust-taxonomy, trust-claims, trust-assessment,\nrelease-claims, and release-trust-passport schemas under `schemas/kfd-2/`.\nThe generic schemas let humans, agents, Buildchain, and other systems assess\nwhether claims about KFD-1, KFD-3, KFD-4, future KFDs, or product surfaces are\nbound to source facts, evidence, hashes, audit boundaries, residual risk, and\nresponsibility state. The release schemas are a release-specific projection of\nthat model. See [`docs/KFD-2-usage.md`](docs/KFD-2-usage.md).\n\nKFD-3 also publishes a general collaboration-interface schema and witness\nschema under `schemas/kfd-3/`. These schemas are for participant-facing product\ninterfaces, not only agent APIs. A product such as Kungfu may implement an\nagent-first profile, but that profile remains a product-specific realization of\nKFD-3. The KFD-owned boundary is the standard vocabulary, schema IDs, and\nclosed-world evidence shape. See\n[`docs/KFD-3-usage.md`](docs/KFD-3-usage.md).\n\nKFD-4 publishes an observer-perspective schema under `schemas/kfd-4/`. It gives\nhumans and agents a standard vocabulary for observer, accepted facts,\nprojection policy, causal constraints, degraded evidence, and verification\nstate when a product shows a perspective-bearing timeline. The package-level\nclaim proves the KFD-owned interface surface; adopter runtime correctness\nrequires adopter-owned KFD-2 evidence."
162
162
  },
163
163
  {
164
164
  "id": "decision-metadata",
package/standards.json CHANGED
@@ -838,7 +838,7 @@
838
838
  "document": {
839
839
  "path": "decisions/KFD-4.md",
840
840
  "url": "https://kfd.libkungfu.dev/4",
841
- "sha256": "7077a6446c8baa60d85426780cb7b2bee488133196b6f53d74f0eb151f6e26e4"
841
+ "sha256": "b7ae42a6f1ddb1e838b93fb33c9da5bfae28fad39d31bfca83668550e8c6335c"
842
842
  },
843
843
  "compatibility": {
844
844
  "packageLine": "v1.0",
@@ -867,6 +867,7 @@
867
867
  "observer": "observer",
868
868
  "declaredPerspective": "declared perspective",
869
869
  "observerPerspective": "observer perspective",
870
+ "viewSubject": "view subject",
870
871
  "acceptedFacts": "accepted facts",
871
872
  "projectionPolicy": "projection policy",
872
873
  "causalDominance": "causal dominance",