@kungfu-tech/buildchain 4.0.1 → 4.0.2-alpha.2

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 (50) hide show
  1. package/architecture/agent-change-map.md +7 -5
  2. package/architecture/ci-lane-change-budget.json +76 -8
  3. package/architecture/internal-capabilities.json +4 -1
  4. package/architecture/maintainability-debt.json +45 -119
  5. package/architecture/maintainability-policy.json +13 -8
  6. package/architecture/release-tail-contract-inventory.json +4 -4
  7. package/architecture/v3-core-mechanism-inventory.json +2 -0
  8. package/architecture/v3-v4-live-capability-inventory.json +17 -17
  9. package/architecture/v4-release-invocation-fixtures.json +119 -0
  10. package/architecture/v4-release-topology.json +238 -0
  11. package/contracts/buildchain-v2-residuals-v1.json +0 -9
  12. package/contracts/fixtures/v4-tail-reseal-v1/valid.json +1 -1
  13. package/contracts/v4-release-invocation-v1.schema.json +86 -0
  14. package/dist/site/buildchain-contract.json +9 -9
  15. package/dist/site/buildchain-site.json +9 -9
  16. package/dist/site/kfd-claims.json +9 -7
  17. package/dist/site/kfd-upstream-aggregate.json +1 -1
  18. package/dist/site/manual-registry.json +1 -1
  19. package/dist/site/node-api-registry.json +3 -3
  20. package/dist/site/page-registry.json +4 -4
  21. package/dist/site/public-surface-audit.json +23 -10
  22. package/dist/site/publication-authority-registry.json +2 -3
  23. package/dist/site/publication-registry.json +4 -4
  24. package/dist/site/site-manifest.json +5 -5
  25. package/dist/site/workflow-registry.json +19 -11
  26. package/docs/dev-delivery-warrant.md +21 -0
  27. package/docs/node-api-reference.md +3 -3
  28. package/package.json +2 -2
  29. package/packages/core/dev-delivery-candidate-identity.js +45 -17
  30. package/packages/core/dev-delivery-provider-heartbeat.js +22 -6
  31. package/packages/core/dev-delivery-warrant-legacy-recovery.js +246 -0
  32. package/packages/core/dev-delivery-warrant-state.js +12 -28
  33. package/packages/core/v4-canonical-contracts.js +8 -0
  34. package/packages/core/v4-floating-consumer-policy.js +4 -1
  35. package/packages/core/v4-release-invocation.js +356 -0
  36. package/scripts/audit-publication-control-plane.mjs +0 -1
  37. package/scripts/check-inventory.mjs +27 -59
  38. package/scripts/check-maintainability.mjs +13 -5
  39. package/scripts/check-v3-v4-capability-inventory.mjs +3 -61
  40. package/scripts/check-v4-floating-consumer-policy-contract.mjs +10 -20
  41. package/scripts/check-v4-release-topology.mjs +237 -0
  42. package/scripts/dev-delivery-warrant-options.mjs +15 -4
  43. package/scripts/dev-delivery-warrant.mjs +29 -7
  44. package/scripts/generate-channel-promotion-workflow.mjs +12 -54
  45. package/scripts/v3-v4-capability-catalog.mjs +107 -0
  46. package/scripts/v4-declarative-promotion-admission.mjs +4 -1
  47. package/scripts/capture-package-release-propagation.mjs +0 -263
  48. package/scripts/publication-commit-evidence.mjs +0 -444
  49. package/scripts/publish-github-artifact-attestation-evidence.mjs +0 -201
  50. package/scripts/stage-github-artifact-attestation-inputs.mjs +0 -65
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://buildchain.libkungfu.dev/schema/v4-release-invocation-v1.schema.json",
4
+ "title": "Buildchain v4 canonical ReleaseInvocation",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "schema",
9
+ "publisher",
10
+ "runtime",
11
+ "candidate",
12
+ "target",
13
+ "authority"
14
+ ],
15
+ "properties": {
16
+ "schema": { "const": "kungfu-buildchain-v4-release-invocation/v1" },
17
+ "publisher": { "$ref": "#/$defs/publisher" },
18
+ "runtime": { "$ref": "#/$defs/runtime" },
19
+ "candidate": { "$ref": "#/$defs/candidate" },
20
+ "target": { "$ref": "#/$defs/target" },
21
+ "authority": { "$ref": "#/$defs/authority" }
22
+ },
23
+ "$defs": {
24
+ "sha": { "type": "string", "pattern": "^[0-9a-f]{40}$" },
25
+ "root": { "type": "string", "pattern": "^sha256:[0-9a-f]{64}$" },
26
+ "publisher": {
27
+ "type": "object",
28
+ "additionalProperties": false,
29
+ "required": ["repository", "workflow", "workflowSha", "job"],
30
+ "properties": {
31
+ "repository": { "const": "kungfu-systems/buildchain" },
32
+ "workflow": {
33
+ "const": ".github/workflows/.release-candidate-promote.yml"
34
+ },
35
+ "workflowSha": { "$ref": "#/$defs/sha" },
36
+ "job": { "const": "apply" }
37
+ }
38
+ },
39
+ "runtime": {
40
+ "type": "object",
41
+ "additionalProperties": false,
42
+ "required": ["repository", "commit", "tree"],
43
+ "properties": {
44
+ "repository": { "const": "kungfu-systems/buildchain" },
45
+ "commit": { "$ref": "#/$defs/sha" },
46
+ "tree": { "$ref": "#/$defs/sha" }
47
+ }
48
+ },
49
+ "candidate": {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "required": ["repository", "commit", "tree", "version"],
53
+ "properties": {
54
+ "repository": { "type": "string", "pattern": "^[ -~]+$" },
55
+ "commit": { "$ref": "#/$defs/sha" },
56
+ "tree": { "$ref": "#/$defs/sha" },
57
+ "version": { "type": "string", "pattern": "^[ -~]+$" }
58
+ }
59
+ },
60
+ "target": {
61
+ "type": "object",
62
+ "additionalProperties": false,
63
+ "required": ["channel", "tag", "expectedOldSha"],
64
+ "properties": {
65
+ "channel": { "enum": ["alpha", "stable"] },
66
+ "tag": {
67
+ "type": "string",
68
+ "pattern": "^v[0-9]+\\.[0-9]+\\.[0-9]+(?:-[0-9A-Za-z.-]+)?$"
69
+ },
70
+ "expectedOldSha": {
71
+ "oneOf": [{ "$ref": "#/$defs/sha" }, { "type": "null" }]
72
+ }
73
+ }
74
+ },
75
+ "authority": {
76
+ "type": "object",
77
+ "additionalProperties": false,
78
+ "required": ["policyRoot", "qualificationRoot", "warrantRoot"],
79
+ "properties": {
80
+ "policyRoot": { "$ref": "#/$defs/root" },
81
+ "qualificationRoot": { "$ref": "#/$defs/root" },
82
+ "warrantRoot": { "$ref": "#/$defs/root" }
83
+ }
84
+ }
85
+ }
86
+ }
@@ -4,7 +4,7 @@
4
4
  "product": {
5
5
  "name": "Buildchain",
6
6
  "package": "@kungfu-tech/buildchain",
7
- "version": "4.0.1",
7
+ "version": "4.0.2-alpha.2",
8
8
  "repository": "https://github.com/kungfu-systems/buildchain"
9
9
  },
10
10
  "majorLine": "v4",
@@ -1492,7 +1492,7 @@
1492
1492
  "durable consumers call the public floating workflow and may route a train or exact runtime only through trusted non-persistent dispatch input"
1493
1493
  ],
1494
1494
  "breakingDigest": "sha256:21b65d0746d2e8b3e8a7df4c6fab295a85c8fd42cc405ec3bc5df5cdab0421f0",
1495
- "auditDigest": "sha256:bcfd872260c754e68cabe183c8c1c3acb2b2196e1601208bf7bc846b8e32af74"
1495
+ "auditDigest": "sha256:adbe8a9e29cd30db5b2e9685864ea36bf88ab959fb151b65d1b00e87a2dea144"
1496
1496
  },
1497
1497
  {
1498
1498
  "contractVersion": 1,
@@ -1591,7 +1591,7 @@
1591
1591
  "GitHub Release passport and evidence publication is delegated to promote-buildchain-ref after the semver release transaction completes"
1592
1592
  ],
1593
1593
  "breakingDigest": "sha256:5f10c81d3f80cb417960be682921884639c40b6d875f1a3b1ffae7e652c3f468",
1594
- "auditDigest": "sha256:d9821bf071e83386e596e1d460c1adc46808451fce44b6586ae26fb11e535991"
1594
+ "auditDigest": "sha256:e74c133c5cc71e47f26046241523604050de8ec78a7807e790dddc8ada673331"
1595
1595
  },
1596
1596
  {
1597
1597
  "contractVersion": 1,
@@ -1646,7 +1646,7 @@
1646
1646
  "resume-from-candidate-run is fail-closed and uses a fresh caller event instead of rerunning a frozen startup graph"
1647
1647
  ],
1648
1648
  "breakingDigest": "sha256:9db8dd07152855d03ff30f9c571438593c689d3e8139fa45431d000f548242f5",
1649
- "auditDigest": "sha256:1b505fd44a452b01e0516c9da45994cf7edb33c7f4c3bc01b2f3155ed3d3feb0",
1649
+ "auditDigest": "sha256:f37525da5b47da39d1b86b1efa94e4839663210e819c49012a1d1341632d0ea4",
1650
1650
  "compatibleBreakingDigests": [
1651
1651
  "sha256:aa30f22e3af0a89841310bdbdc900844dd95a66974db173fa140a71bbd7e82c0"
1652
1652
  ],
@@ -1863,7 +1863,7 @@
1863
1863
  "no consumer command, script, shell, checkout, or executable tail hook is accepted"
1864
1864
  ],
1865
1865
  "breakingDigest": "sha256:9229eb3a000fb408feb6b8793c209c77afbf9327026467d68954470e22e4f8f4",
1866
- "auditDigest": "sha256:83fd394419851e6da877c50018e879b447497db52b0ac871dfd83e074f5459a8"
1866
+ "auditDigest": "sha256:5693994b0cbfe831332f9ad71649811d2e5f70e3c8fe7f194047eb7dc460b976"
1867
1867
  },
1868
1868
  {
1869
1869
  "contractVersion": 1,
@@ -2257,7 +2257,7 @@
2257
2257
  "manual entries carry source file digests so downstream sites and agents can detect stale hand-written documentation"
2258
2258
  ],
2259
2259
  "breakingDigest": "sha256:7d0d2819e3a3e72989d9c57b5efe9d0bc0a79bc0f2c82a0c7b9d6c5a211a91f2",
2260
- "auditDigest": "sha256:dd80914275c60efcf95b29d44e861aeba5075ee7da9094adaa5cdb5714b59bf6"
2260
+ "auditDigest": "sha256:a99c7387e403b8c471987e976bf02673664290d9621181ecfaa34169b8c2f8f2"
2261
2261
  },
2262
2262
  {
2263
2263
  "contractVersion": 1,
@@ -2279,7 +2279,7 @@
2279
2279
  "agents can discover supported Node APIs without importing internal file paths"
2280
2280
  ],
2281
2281
  "breakingDigest": "sha256:48f925608d3e2131d90936b07dc2a30341204cae3e6e785c0f77d61ad755c945",
2282
- "auditDigest": "sha256:dab7be33bf7d0c36fd59b55f74b3cb964ae24f348b95cd863f276c70e6d3db6e"
2282
+ "auditDigest": "sha256:03c6dbaab4b981366a18934a265447542999ac57b62ffa2688da2dfab1979938"
2283
2283
  },
2284
2284
  {
2285
2285
  "contractVersion": 1,
@@ -5173,7 +5173,7 @@
5173
5173
  "missing receipts are non-qualifying and must not be represented as a successful controller run"
5174
5174
  ],
5175
5175
  "breakingDigest": "sha256:015d8de793adbd4c539416be7d7512e18cc92097e629b0203fa06d2c183e98bd",
5176
- "auditDigest": "sha256:1b505fd44a452b01e0516c9da45994cf7edb33c7f4c3bc01b2f3155ed3d3feb0"
5176
+ "auditDigest": "sha256:f37525da5b47da39d1b86b1efa94e4839663210e819c49012a1d1341632d0ea4"
5177
5177
  },
5178
5178
  {
5179
5179
  "contractVersion": 1,
@@ -5399,5 +5399,5 @@
5399
5399
  "compatibilityFactCutRoot": "sha256:f61b975d4a96c921cc4bd37fb3ed9a0596b47004fe34dc7219979d697e3707f9",
5400
5400
  "compatibilityProofRegistryRoot": "sha256:b7194b811e4d3af2df4390bc4d1731e16a86215bd64ee18cb630dd5492f4fb63",
5401
5401
  "compatibilityDigest": "sha256:20411029d83211dff426fb6535a608902129844a5ccb4788db77d3f81becb839",
5402
- "contractDigest": "sha256:766fa56a71450d75897ca1040098b5acce8851cb3f1ab76dadc7abc2364bd763"
5402
+ "contractDigest": "sha256:1cc571cc9a4167b78d7944de2029f2dd2674ca2c2823a2da65fbe8d842e968e0"
5403
5403
  }