@kungfu-tech/buildchain 3.0.6 → 3.0.7-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +4 -2
  2. package/actions/promote-buildchain-ref/README.md +10 -0
  3. package/actions/release-tail/README.md +17 -0
  4. package/bin/buildchain.mjs +11 -0
  5. package/bin/internal/command-registry.mjs +2 -0
  6. package/contracts/auditable-demo-scenario-v1.schema.json +1 -1
  7. package/contracts/engineering-housekeeper-v1.schema.json +143 -0
  8. package/contracts/fixtures/engineering-housekeeper-v1/cases.json +68 -0
  9. package/contracts/fixtures/release-tail-capabilities-v1/kungfu-alpha.json +273 -0
  10. package/contracts/publication-rehearsal-capsule-v1.schema.json +173 -0
  11. package/contracts/release-tail-capabilities-v1.schema.json +199 -0
  12. package/contracts/release-tail-provider-bindings-v1.schema.json +56 -0
  13. package/dist/site/agent-index.json +3 -0
  14. package/dist/site/artifact-schemas.json +6 -0
  15. package/dist/site/buildchain-contract.json +42 -27
  16. package/dist/site/buildchain-site.json +384 -33
  17. package/dist/site/capability-registry.json +15 -12
  18. package/dist/site/cli-registry.json +102 -0
  19. package/dist/site/controller-registry.json +19 -3
  20. package/dist/site/kfd-claims.json +359 -17
  21. package/dist/site/kfd-upstream-aggregate.json +1 -1
  22. package/dist/site/manual-registry.json +53 -7
  23. package/dist/site/node-api-registry.json +5882 -3605
  24. package/dist/site/page-registry.json +348 -21
  25. package/dist/site/public-surface-audit.json +396 -16
  26. package/dist/site/publication-authority-registry.json +106 -1
  27. package/dist/site/publication-registry.json +4 -4
  28. package/dist/site/release-provenance.json +7 -0
  29. package/dist/site/schemas/publication-rehearsal-capsule-v1.schema.json +269 -0
  30. package/dist/site/schemas/release-tail-capabilities-v1.schema.json +353 -0
  31. package/dist/site/schemas/release-tail-provider-bindings-v1.schema.json +94 -0
  32. package/dist/site/site-manifest.json +35 -11
  33. package/dist/site/workflow-registry.json +204 -10
  34. package/docs/MAP.md +6 -2
  35. package/docs/auditable-demo.md +2 -2
  36. package/docs/cli-reference.md +136 -0
  37. package/docs/dev-delivery-warrant.md +49 -4
  38. package/docs/engineering-housekeeper.md +138 -0
  39. package/docs/lifecycle-protocol.md +4 -2
  40. package/docs/node-api-reference.md +495 -281
  41. package/docs/publication-rehearsal.md +94 -0
  42. package/docs/release-governance.md +17 -2
  43. package/docs/release-tail-contract.md +160 -0
  44. package/docs/release-tail-provider-plane.md +120 -0
  45. package/docs/reusable-build-surface.md +11 -0
  46. package/package.json +11 -3
  47. package/packages/core/artifact-signing.js +61 -0
  48. package/packages/core/buildchain-agent-manuals.js +3 -0
  49. package/packages/core/buildchain-config.js +66 -6
  50. package/packages/core/buildchain-kfd-claims.js +1 -1
  51. package/packages/core/buildchain-publication-authority.js +5 -0
  52. package/packages/core/controller-evidence.js +2 -1
  53. package/packages/core/dev-delivery-warrant-cancellation.js +1 -0
  54. package/packages/core/dev-delivery-warrant-shadow.js +502 -0
  55. package/packages/core/dev-delivery-warrant.js +15 -6
  56. package/packages/core/diagnostics.js +8 -3
  57. package/packages/core/engineering-housekeeper-github-client.js +222 -0
  58. package/packages/core/engineering-housekeeper-github.js +501 -0
  59. package/packages/core/engineering-housekeeper.js +259 -0
  60. package/packages/core/index.js +42 -0
  61. package/packages/core/kfd-gate.js +45 -15
  62. package/packages/core/paper-agent-entry.js +11 -5
  63. package/packages/core/paper-repository.js +1 -0
  64. package/packages/core/paper-scaffold-content.js +21 -0
  65. package/packages/core/paper.js +28 -2
  66. package/packages/core/publication-rehearsal-projection.js +173 -0
  67. package/packages/core/publication-rehearsal-runtime.js +921 -0
  68. package/packages/core/release-passport.js +130 -20
  69. package/packages/core/release-tail-compatibility.js +60 -0
  70. package/packages/core/release-tail-provider-adapters.js +461 -0
  71. package/packages/core/release-tail-provider-plane.js +1228 -0
  72. package/scripts/assemble-publication-artifact-admission.mjs +1 -1
  73. package/scripts/assemble-self-publication-admission.mjs +2 -2
  74. package/scripts/audit-publication-control-plane.mjs +1 -1
  75. package/scripts/auditable-demo-bundle-verification.mjs +2 -3
  76. package/scripts/auditable-demo-platform.mjs +2 -2
  77. package/scripts/auditable-demo-renditions.mjs +1 -1
  78. package/scripts/auditable-demo.mjs +2 -2
  79. package/scripts/build-contract-core.mjs +8 -3
  80. package/scripts/build-standalone-binary.mjs +14 -3
  81. package/scripts/buildchain-cli-help.mjs +13 -0
  82. package/scripts/check-core-mechanism-inventory.mjs +347 -0
  83. package/scripts/check-inventory.mjs +10 -8
  84. package/scripts/check-maintainability.mjs +9 -2
  85. package/scripts/check-release-tail-contract.mjs +435 -0
  86. package/scripts/dev-delivery-warrant.mjs +31 -4
  87. package/scripts/dev-pr-auto-merge.mjs +30 -4
  88. package/scripts/dev-pr-delivery-warrant.mjs +50 -0
  89. package/scripts/engineering-housekeeper-workflow.mjs +394 -0
  90. package/scripts/generate-channel-promotion-workflow.mjs +10 -8
  91. package/scripts/generate-site-bundle.mjs +47 -4
  92. package/scripts/init-repo.mjs +26 -2
  93. package/scripts/inspect-artifact-signing-requests.mjs +6 -0
  94. package/scripts/materialize-self-release-candidate-version.mjs +137 -0
  95. package/scripts/publication-commit-evidence.mjs +69 -23
  96. package/scripts/release-candidate-resolver.mjs +16 -10
  97. package/scripts/release-tail.mjs +159 -0
  98. package/scripts/resume-from-candidate-run.mjs +123 -9
  99. package/scripts/seal-artifact-signing-requests.mjs +6 -0
  100. package/scripts/site-capability-metadata.mjs +13 -0
  101. package/scripts/v4-architecture.mjs +600 -0
  102. package/scripts/web-surface-core.mjs +8 -2
  103. package/scripts/workflow-call-contract.mjs +184 -5
@@ -440,6 +440,58 @@
440
440
  "runnerPolicy": "unqualified",
441
441
  "notes": ""
442
442
  },
443
+ {
444
+ "workflowPath": ".github/workflows/engineering-housekeeper-daily.yml",
445
+ "authorityClass": "governance-write",
446
+ "publicationCapable": false,
447
+ "capabilityIds": [],
448
+ "credentialMode": "none",
449
+ "publisherWorkflowMode": "fixed",
450
+ "publisherWorkflowPath": ".github/workflows/engineering-housekeeper-daily.yml",
451
+ "environment": "",
452
+ "environmentMode": "fixed",
453
+ "runnerPolicy": "unqualified",
454
+ "notes": ""
455
+ },
456
+ {
457
+ "workflowPath": ".github/workflows/engineering-housekeeper-monthly.yml",
458
+ "authorityClass": "governance-write",
459
+ "publicationCapable": false,
460
+ "capabilityIds": [],
461
+ "credentialMode": "none",
462
+ "publisherWorkflowMode": "fixed",
463
+ "publisherWorkflowPath": ".github/workflows/engineering-housekeeper-monthly.yml",
464
+ "environment": "",
465
+ "environmentMode": "fixed",
466
+ "runnerPolicy": "unqualified",
467
+ "notes": ""
468
+ },
469
+ {
470
+ "workflowPath": ".github/workflows/engineering-housekeeper-weekly.yml",
471
+ "authorityClass": "governance-write",
472
+ "publicationCapable": false,
473
+ "capabilityIds": [],
474
+ "credentialMode": "none",
475
+ "publisherWorkflowMode": "fixed",
476
+ "publisherWorkflowPath": ".github/workflows/engineering-housekeeper-weekly.yml",
477
+ "environment": "",
478
+ "environmentMode": "fixed",
479
+ "runnerPolicy": "unqualified",
480
+ "notes": ""
481
+ },
482
+ {
483
+ "workflowPath": ".github/workflows/engineering-housekeeper.yml",
484
+ "authorityClass": "governance-write",
485
+ "publicationCapable": false,
486
+ "capabilityIds": [],
487
+ "credentialMode": "none",
488
+ "publisherWorkflowMode": "fixed",
489
+ "publisherWorkflowPath": ".github/workflows/engineering-housekeeper.yml",
490
+ "environment": "",
491
+ "environmentMode": "fixed",
492
+ "runnerPolicy": "unqualified",
493
+ "notes": ""
494
+ },
443
495
  {
444
496
  "workflowPath": ".github/workflows/github-artifact-attestation.yml",
445
497
  "authorityClass": "evidence-publication",
@@ -623,6 +675,24 @@
623
675
  "runnerPolicy": "unqualified",
624
676
  "notes": ""
625
677
  },
678
+ {
679
+ "workflowPath": ".github/workflows/release-tail.yml",
680
+ "authorityClass": "product-publication",
681
+ "publicationCapable": true,
682
+ "capabilityIds": [
683
+ "artifact.publish",
684
+ "release.activate",
685
+ "released-evidence.synthesize",
686
+ "signed-channel.commit"
687
+ ],
688
+ "credentialMode": "caller-secrets",
689
+ "publisherWorkflowMode": "fixed",
690
+ "publisherWorkflowPath": ".github/workflows/release-tail.yml",
691
+ "environment": "caller-bound",
692
+ "environmentMode": "caller-bound",
693
+ "runnerPolicy": "qualified-measured",
694
+ "notes": ""
695
+ },
626
696
  {
627
697
  "workflowPath": ".github/workflows/release-verify.yml",
628
698
  "authorityClass": "governance-write",
@@ -944,6 +1014,34 @@
944
1014
  ],
945
1015
  "classified": true
946
1016
  },
1017
+ {
1018
+ "path": ".github/workflows/engineering-housekeeper-daily.yml",
1019
+ "signals": [
1020
+ "write-permission"
1021
+ ],
1022
+ "classified": true
1023
+ },
1024
+ {
1025
+ "path": ".github/workflows/engineering-housekeeper-monthly.yml",
1026
+ "signals": [
1027
+ "write-permission"
1028
+ ],
1029
+ "classified": true
1030
+ },
1031
+ {
1032
+ "path": ".github/workflows/engineering-housekeeper-weekly.yml",
1033
+ "signals": [
1034
+ "write-permission"
1035
+ ],
1036
+ "classified": true
1037
+ },
1038
+ {
1039
+ "path": ".github/workflows/engineering-housekeeper.yml",
1040
+ "signals": [
1041
+ "write-permission"
1042
+ ],
1043
+ "classified": true
1044
+ },
947
1045
  {
948
1046
  "path": ".github/workflows/github-artifact-attestation.yml",
949
1047
  "signals": [
@@ -1054,6 +1152,13 @@
1054
1152
  ],
1055
1153
  "classified": true
1056
1154
  },
1155
+ {
1156
+ "path": ".github/workflows/release-tail.yml",
1157
+ "signals": [
1158
+ "write-permission"
1159
+ ],
1160
+ "classified": true
1161
+ },
1057
1162
  {
1058
1163
  "path": ".github/workflows/release-verify.yml",
1059
1164
  "signals": [
@@ -1084,5 +1189,5 @@
1084
1189
  "classified": false
1085
1190
  }
1086
1191
  ],
1087
- "registryDigest": "fd4b5def78f58e64badfd6d9d4cce801cab3c15ae81aa89357ef02d15f7ad99d"
1192
+ "registryDigest": "074111987b82f532c9c0a7da9c81a7bf36e93c35ab8ec1a51b9321c8f657fdae"
1088
1193
  }
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-08-07T01:27:51.160Z",
5
- "publishedAt": "2026-08-07T01:27:51.160Z",
4
+ "generatedAt": "2026-08-10T07:19:05.000Z",
5
+ "publishedAt": "2026-08-10T07:19:05.000Z",
6
6
  "reproducible": true,
7
7
  "timestampPolicy": "ci-injected",
8
8
  "deterministicInputs": [
@@ -19,7 +19,7 @@
19
19
  "declared Buildchain surface manifest contract"
20
20
  ],
21
21
  "sourceDateEpoch": "0",
22
- "sourceRevision": "4d3415855debb03bac01c4f5d11417f0d1ea42d8",
22
+ "sourceRevision": "3a716b38faa820c16d6f502d89ace41916e9ff87",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "package": {
34
34
  "name": "@kungfu-tech/buildchain",
35
- "version": "3.0.6",
35
+ "version": "3.0.7-alpha.1",
36
36
  "versionSource": "package.json#version"
37
37
  },
38
38
  "sourceKind": "package-site-bundle",
@@ -46,6 +46,8 @@
46
46
  "./publication-control-plane-audit": "./packages/core/publication-control-plane-audit.js",
47
47
  "./buildchain-publication-authority": "./packages/core/buildchain-publication-authority.js",
48
48
  "./github-governance-authority": "./packages/core/github-governance-authority.js",
49
+ "./engineering-housekeeper": "./packages/core/engineering-housekeeper.js",
50
+ "./engineering-housekeeper-github": "./packages/core/engineering-housekeeper-github.js",
49
51
  "./kfd-gate": "./packages/core/kfd-gate.js",
50
52
  "./release-candidate": "./packages/core/release-candidate.js",
51
53
  "./release-candidate-recovery": "./packages/core/release-candidate-recovery.js",
@@ -54,6 +56,11 @@
54
56
  "./release-passport-contract": "./packages/core/release-passport-contract.js",
55
57
  "./release-propagation": "./packages/core/release-propagation.js",
56
58
  "./release-activation-transaction": "./packages/core/release-activation-transaction.js",
59
+ "./release-tail-provider-plane": "./packages/core/release-tail-provider-plane.js",
60
+ "./release-tail-provider-adapters": "./packages/core/release-tail-provider-adapters.js",
61
+ "./release-tail-compatibility": "./packages/core/release-tail-compatibility.js",
62
+ "./publication-rehearsal-runtime": "./packages/core/publication-rehearsal-runtime.js",
63
+ "./publication-rehearsal-projection": "./packages/core/publication-rehearsal-projection.js",
57
64
  "./surface-manifest": "./packages/core/surface-manifest.js",
58
65
  "./buildchain-kfd-claims": "./packages/core/buildchain-kfd-claims.js",
59
66
  "./site/buildchain-site.json": "./dist/site/buildchain-site.json",
@@ -0,0 +1,269 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://buildchain.kungfu.ai/contracts/publication-rehearsal-capsule-v1.schema.json",
4
+ "title": "Buildchain publication rehearsal capsule",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "contract",
9
+ "schemaVersion",
10
+ "root",
11
+ "declaration",
12
+ "policyRoots",
13
+ "passport",
14
+ "transaction",
15
+ "files",
16
+ "providerBindings",
17
+ "providerObservations",
18
+ "runtime"
19
+ ],
20
+ "properties": {
21
+ "contract": {
22
+ "const": "kungfu.buildchain.publication-rehearsal-capsule/v1"
23
+ },
24
+ "schemaVersion": {
25
+ "const": 1
26
+ },
27
+ "root": {
28
+ "$ref": "#/$defs/root"
29
+ },
30
+ "declaration": {
31
+ "$ref": "release-tail-capabilities-v1.schema.json"
32
+ },
33
+ "policyRoots": {
34
+ "type": "array",
35
+ "minItems": 1,
36
+ "uniqueItems": true,
37
+ "items": {
38
+ "$ref": "#/$defs/root"
39
+ }
40
+ },
41
+ "passport": {
42
+ "type": "object",
43
+ "additionalProperties": false,
44
+ "required": [
45
+ "path",
46
+ "root"
47
+ ],
48
+ "properties": {
49
+ "path": {
50
+ "$ref": "#/$defs/path"
51
+ },
52
+ "root": {
53
+ "$ref": "#/$defs/root"
54
+ }
55
+ }
56
+ },
57
+ "transaction": {
58
+ "type": "object",
59
+ "required": [
60
+ "schema",
61
+ "transactionPolicy",
62
+ "transactionRoot",
63
+ "declarationRoot",
64
+ "planRoot",
65
+ "subject",
66
+ "state",
67
+ "operationOrder",
68
+ "operations",
69
+ "observations",
70
+ "receipts",
71
+ "failure",
72
+ "stateRoot"
73
+ ]
74
+ },
75
+ "files": {
76
+ "type": "array",
77
+ "minItems": 1,
78
+ "items": {
79
+ "type": "object",
80
+ "additionalProperties": false,
81
+ "required": [
82
+ "role",
83
+ "path",
84
+ "size",
85
+ "root"
86
+ ],
87
+ "properties": {
88
+ "role": {
89
+ "type": "string",
90
+ "minLength": 1
91
+ },
92
+ "path": {
93
+ "$ref": "#/$defs/path"
94
+ },
95
+ "size": {
96
+ "type": "integer",
97
+ "minimum": 0
98
+ },
99
+ "root": {
100
+ "$ref": "#/$defs/root"
101
+ }
102
+ }
103
+ }
104
+ },
105
+ "providerBindings": {
106
+ "$ref": "release-tail-provider-bindings-v1.schema.json"
107
+ },
108
+ "providerObservations": {
109
+ "type": "array",
110
+ "items": {
111
+ "type": "object",
112
+ "additionalProperties": false,
113
+ "required": [
114
+ "operationId",
115
+ "readbacks",
116
+ "apply"
117
+ ],
118
+ "properties": {
119
+ "operationId": {
120
+ "$ref": "#/$defs/root"
121
+ },
122
+ "readbacks": {
123
+ "type": "array",
124
+ "minItems": 1,
125
+ "items": {
126
+ "$ref": "#/$defs/observation"
127
+ }
128
+ },
129
+ "apply": {
130
+ "type": "object",
131
+ "additionalProperties": false,
132
+ "required": [
133
+ "outcome",
134
+ "code",
135
+ "classification"
136
+ ],
137
+ "properties": {
138
+ "outcome": {
139
+ "enum": [
140
+ "applied",
141
+ "transient",
142
+ "conflict"
143
+ ]
144
+ },
145
+ "code": {
146
+ "type": "string",
147
+ "minLength": 1
148
+ },
149
+ "classification": {
150
+ "type": "string",
151
+ "minLength": 1
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ },
158
+ "runtime": {
159
+ "type": "object",
160
+ "additionalProperties": false,
161
+ "required": [
162
+ "platform",
163
+ "declaredEnvironment",
164
+ "externalEffects"
165
+ ],
166
+ "properties": {
167
+ "platform": {
168
+ "const": "portable"
169
+ },
170
+ "declaredEnvironment": {
171
+ "type": "array",
172
+ "uniqueItems": true,
173
+ "items": {
174
+ "type": "string",
175
+ "pattern": "^[A-Z][A-Z0-9_]*$"
176
+ }
177
+ },
178
+ "externalEffects": {
179
+ "type": "array",
180
+ "items": {
181
+ "type": "object",
182
+ "additionalProperties": false,
183
+ "required": [
184
+ "capabilityId",
185
+ "adapter",
186
+ "kind"
187
+ ],
188
+ "properties": {
189
+ "capabilityId": {
190
+ "type": "string",
191
+ "minLength": 1
192
+ },
193
+ "adapter": {
194
+ "type": "string",
195
+ "minLength": 1
196
+ },
197
+ "kind": {
198
+ "type": "string",
199
+ "minLength": 1
200
+ }
201
+ }
202
+ }
203
+ }
204
+ }
205
+ }
206
+ },
207
+ "$defs": {
208
+ "root": {
209
+ "type": "string",
210
+ "pattern": "^sha256:[0-9a-f]{64}$"
211
+ },
212
+ "path": {
213
+ "type": "string",
214
+ "minLength": 1,
215
+ "pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*//)(?!.*\\\\).+$"
216
+ },
217
+ "observation": {
218
+ "type": "object",
219
+ "additionalProperties": false,
220
+ "required": [
221
+ "outcome",
222
+ "subjectRoot",
223
+ "targetRoot",
224
+ "evidenceRoots",
225
+ "providerCode"
226
+ ],
227
+ "properties": {
228
+ "outcome": {
229
+ "enum": [
230
+ "observed",
231
+ "absent",
232
+ "transient",
233
+ "conflict"
234
+ ]
235
+ },
236
+ "subjectRoot": {
237
+ "anyOf": [
238
+ {
239
+ "$ref": "#/$defs/root"
240
+ },
241
+ {
242
+ "const": ""
243
+ }
244
+ ]
245
+ },
246
+ "targetRoot": {
247
+ "anyOf": [
248
+ {
249
+ "$ref": "#/$defs/root"
250
+ },
251
+ {
252
+ "const": ""
253
+ }
254
+ ]
255
+ },
256
+ "evidenceRoots": {
257
+ "type": "array",
258
+ "items": {
259
+ "$ref": "#/$defs/root"
260
+ }
261
+ },
262
+ "providerCode": {
263
+ "type": "string",
264
+ "minLength": 1
265
+ }
266
+ }
267
+ }
268
+ }
269
+ }