@kungfu-tech/buildchain 4.0.1-alpha.0 → 4.0.1-alpha.3

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 (121) hide show
  1. package/AGENTS.md +13 -5
  2. package/actions/promote-buildchain-ref/README.md +11 -6
  3. package/architecture/decisions/0003-two-phase-delivery-warrant.md +152 -0
  4. package/architecture/internal-capabilities.json +105 -2
  5. package/architecture/maintainability-policy.json +218 -19
  6. package/architecture/v3-core-mechanism-inventory.json +2 -0
  7. package/architecture/v4-delivery-authority-parity.json +250 -0
  8. package/architecture/v4-delivery-warrant-shadow-fixtures.json +29 -6
  9. package/architecture/v4-floating-consumer-policy.json +75 -0
  10. package/architecture/v4-floating-consumer-policy.md +32 -0
  11. package/architecture/v4-runtime-ref-resume-authority.json +64 -0
  12. package/architecture/v4-stage-capsule-qualification.json +2 -2
  13. package/bin/buildchain.mjs +9 -1
  14. package/bin/internal/trust-release-release-handlers.mjs +5 -0
  15. package/contracts/dev-delivery-authority-v2.schema.json +662 -0
  16. package/contracts/fixtures/v4-floating-consumer-policy-v1/cases.json +53 -0
  17. package/contracts/fixtures/v4-runtime-ref-resume-authority-v1/scenario.json +15 -0
  18. package/contracts/v4-floating-consumer-policy-receipt-v1.schema.json +105 -0
  19. package/contracts/v4-runtime-ref-resume-authority-v1.schema.json +235 -0
  20. package/dist/site/agent-index.json +1 -0
  21. package/dist/site/artifact-schemas.json +2 -0
  22. package/dist/site/buildchain-contract.json +186 -33
  23. package/dist/site/buildchain-site.json +229 -32
  24. package/dist/site/capability-registry.json +3 -3
  25. package/dist/site/cli-registry.json +46 -2
  26. package/dist/site/controller-registry.json +62 -6
  27. package/dist/site/kfd-claims.json +105 -16
  28. package/dist/site/kfd-upstream-aggregate.json +1 -1
  29. package/dist/site/manual-registry.json +7 -7
  30. package/dist/site/node-api-registry.json +7491 -5290
  31. package/dist/site/page-registry.json +218 -21
  32. package/dist/site/public-surface-audit.json +412 -20
  33. package/dist/site/publication-registry.json +4 -4
  34. package/dist/site/release-provenance.json +4 -0
  35. package/dist/site/schemas/dev-delivery-authority-v2.schema.json +662 -0
  36. package/dist/site/site-manifest.json +11 -11
  37. package/dist/site/workflow-registry.json +63 -19
  38. package/docs/MAP.md +3 -0
  39. package/docs/cli-reference.md +211 -13
  40. package/docs/dev-delivery-qualification-landing-adr.md +251 -0
  41. package/docs/dev-delivery-warrant.md +336 -30
  42. package/docs/lifecycle-protocol.md +41 -0
  43. package/docs/node-api-reference.md +319 -186
  44. package/docs/reusable-build-surface.md +41 -0
  45. package/docs/runtime-train-validation.md +10 -0
  46. package/docs/v4-runtime-ref-resume-authority.md +69 -0
  47. package/docs/versioning.md +1 -0
  48. package/package.json +10 -4
  49. package/packages/core/artifact-signing.js +61 -0
  50. package/packages/core/buildchain-config.js +66 -1
  51. package/packages/core/buildchain-contract.js +3 -2
  52. package/packages/core/dev-delivery-authority-candidate.js +270 -0
  53. package/packages/core/dev-delivery-authority-evidence.js +146 -0
  54. package/packages/core/dev-delivery-authority-landing.js +461 -0
  55. package/packages/core/dev-delivery-authority-observation.js +48 -0
  56. package/packages/core/dev-delivery-authority-qualification.js +591 -0
  57. package/packages/core/dev-delivery-authority-settlement.js +213 -0
  58. package/packages/core/dev-delivery-authority-state.js +583 -0
  59. package/packages/core/dev-delivery-candidate-identity.js +13 -0
  60. package/packages/core/dev-delivery-contract-surface.js +76 -0
  61. package/packages/core/dev-delivery-execution-failure.js +133 -0
  62. package/packages/core/dev-delivery-execution-transfer.js +572 -0
  63. package/packages/core/dev-delivery-landing-admission-core.js +119 -0
  64. package/packages/core/dev-delivery-landing-readback.js +598 -0
  65. package/packages/core/dev-delivery-landing-terminal-evidence.js +271 -0
  66. package/packages/core/dev-delivery-landing-testing-port.js +6 -0
  67. package/packages/core/dev-delivery-native-execution.js +110 -0
  68. package/packages/core/dev-delivery-native-proof.js +546 -0
  69. package/packages/core/dev-delivery-process-boundary.js +551 -0
  70. package/packages/core/dev-delivery-proof.js +37 -3
  71. package/packages/core/dev-delivery-provider-attempt.js +127 -0
  72. package/packages/core/dev-delivery-provider-heartbeat.js +370 -0
  73. package/packages/core/dev-delivery-warrant-cancellation.js +1 -0
  74. package/packages/core/dev-delivery-warrant-qualification.js +145 -0
  75. package/packages/core/dev-delivery-warrant-settlement.js +237 -36
  76. package/packages/core/dev-delivery-warrant-state.js +565 -0
  77. package/packages/core/dev-delivery-warrant.js +320 -368
  78. package/packages/core/index.js +2 -0
  79. package/packages/core/publication-authority.js +5 -5
  80. package/packages/core/release-candidate.js +79 -19
  81. package/packages/core/release-passport.js +239 -33
  82. package/packages/core/v4-floating-consumer-evidence.js +324 -0
  83. package/packages/core/v4-floating-consumer-policy.js +446 -0
  84. package/packages/core/v4-floating-consumer-release-passport.js +126 -0
  85. package/packages/core/v4-runtime-ref-resume-authority.js +625 -0
  86. package/packages/core/v4-runtime-selector-persistence.js +228 -0
  87. package/packages/core/workflow-yaml-contract.js +48 -0
  88. package/scripts/audit-publication-control-plane.mjs +31 -31
  89. package/scripts/buildchain-cli-help.mjs +11 -2
  90. package/scripts/check-inventory.mjs +1 -1
  91. package/scripts/check-v4-floating-consumer-policy-contract.mjs +198 -0
  92. package/scripts/check-v4-public-dogfood-contract.mjs +6 -11
  93. package/scripts/dev-delivery-authority-command-adapters.mjs +206 -0
  94. package/scripts/dev-delivery-authority-provider.mjs +28 -0
  95. package/scripts/dev-delivery-authority.mjs +490 -0
  96. package/scripts/dev-delivery-native-run.mjs +177 -0
  97. package/scripts/dev-delivery-process-boundary.mjs +260 -0
  98. package/scripts/dev-delivery-proof.mjs +67 -2
  99. package/scripts/dev-delivery-provider-heartbeat.mjs +215 -0
  100. package/scripts/dev-delivery-source-proof-reuse.mjs +631 -0
  101. package/scripts/dev-delivery-two-phase-resume.mjs +345 -0
  102. package/scripts/dev-delivery-two-phase.mjs +573 -0
  103. package/scripts/dev-delivery-warrant-options.mjs +266 -0
  104. package/scripts/dev-delivery-warrant-store.mjs +227 -0
  105. package/scripts/dev-delivery-warrant.mjs +227 -193
  106. package/scripts/dev-pr-auto-merge.mjs +37 -48
  107. package/scripts/dev-pr-delivery-warrant.mjs +215 -2
  108. package/scripts/dev-pr-prequeue-guard.mjs +399 -0
  109. package/scripts/ensure-github-release.mjs +3 -3
  110. package/scripts/generate-channel-build-workflow.mjs +3 -0
  111. package/scripts/generate-channel-promotion-workflow.mjs +112 -12
  112. package/scripts/generate-release-candidate-passport.mjs +41 -33
  113. package/scripts/generate-site-bundle.mjs +26 -4
  114. package/scripts/init-repo.mjs +5 -1
  115. package/scripts/inspect-artifact-signing-requests.mjs +6 -0
  116. package/scripts/npm-publish-transaction.mjs +103 -91
  117. package/scripts/resume-from-candidate-run.mjs +11 -14
  118. package/scripts/seal-artifact-signing-requests.mjs +6 -0
  119. package/scripts/site-capability-metadata.mjs +14 -0
  120. package/scripts/v4-consumer-policy.mjs +231 -0
  121. package/templates/native-dev-delivery.yml +141 -0
@@ -5,12 +5,12 @@
5
5
  "enforcementRevision": "5308189b09bcb5a1314195412f2807a40d678838",
6
6
  "repositoryBudgets": {
7
7
  "baselineRevision": "c70e6ac28431888b24fefc218246cc69f8dde85a",
8
- "maxHandMaintainedSourceFiles": 344,
9
- "maxHandMaintainedSourceLines": 132432,
8
+ "maxHandMaintainedSourceFiles": 384,
9
+ "maxHandMaintainedSourceLines": 146550,
10
10
  "maxWorkflowFiles": 71,
11
- "maxWorkflowLines": 23636,
12
- "latestTransition": "The v4 architecture and Warrant-plan validators now fail closed unless production release authority, writers, and migration phases have completed the v3-to-v4 cutover.",
13
- "rationale": "Sixteen validation lines close the production-authority, fallback, rollback, writer-runtime, legacy-retirement, and historical-comparison separation invariants required for the v4 release. This exact measured ceiling cannot grow implicitly."
11
+ "maxWorkflowLines": 25259,
12
+ "latestTransition": "Delivery authority now migrates a rechecked live v1 ref with the configured v2 policy, rejects GitHub artifact runtime credentials in candidate ancestry, binds containment comparison to the exact protected-base head, and keeps v2 migration promises out of the v1 workflow contract.",
13
+ "rationale": "Bounded modules separate candidate, evidence, native proof and execution, canonical failure verification, closed-set execution transfer, process-boundary verification, Warrant state and qualification, authority state, qualification, Landing acquisition, verified-attempt admission, Landing settlement and fence validation, provider attempt and heartbeat readback, sealed terminal evidence, hosted heartbeat, resume, store, options, command-specific adapters, and CLI orchestration responsibilities. The protected delivery workflow gives candidate and seal jobs no provider write credential, recursively rejects transfer drift, scopes every transfer artifact to the exact provider run attempt, chains every durable heartbeat state and receipt root on a distinct hosted runner domain, and permits qualification or exact failure settlement only after the finalizer verifies live jobs and the latest durable authority state. Public Landing admission and heartbeat always perform non-injectable fresh exact-attempt provider readback, and heartbeat-loss coordination never invokes GitHub's run-scoped cancellation API where a successor rerun could race. V2 mutation cannot initialize a second empty authority beside a legacy ref: migration reads and roots the canonical live v1 ref, rechecks it, applies the explicit configured v2 policy, and atomically replaces its bytes through one expected-old non-force update, so old v1 controllers fail closed while the prior commit remains immutable history. Candidate ancestry classifies the GitHub artifact runtime token as credential authority. Every Landing settlement, including an unexpired fence, requires product-owned terminal readback. Terminal cleanup reads the immutable historical attempt, derives workflow and hosted Landing job identity from live run data, reads the exact protected ref head and compares containment against that immutable SHA, and seals merged only when the admitted merge-group head is contained by that protected base; a later different-head merge settles the old attempt as dequeued. Terminal normalization preserves transfer, finalizer boundary, native and seal job, admitted provider attempt, protected-base head, containment result, and terminal readback coordinates. The public reusable workflow truthfully retains its single-flight v1 authority without advertising v2 migration, while bounded v2 remains a separate opt-in CLI, Node API, and schema contract; the tracked self-caller stays on public v4-alpha with matching stable and alpha locks, and transient train selection is dispatch-only. These exact 384-file, 146550-source-line and 25259-workflow-line ceilings cannot grow implicitly."
14
14
  },
15
15
  "sourceBudgets": {
16
16
  "newFileLines": 600,
@@ -19,6 +19,18 @@
19
19
  "existingDebtPolicy": "no-widening"
20
20
  },
21
21
  "approvedNewFileTransitions": {
22
+ "scripts/dev-delivery-source-proof-reuse.mjs": {
23
+ "maxLines": 631,
24
+ "rationale": "The bounded source-proof driver seals one exact PR qualification and verifies either the reviewed two-parent merge or GitHub's exact linear replay by base ancestry, commit count and every intermediate tree. Unknown, nonlinear, extra-commit or tree-drift compositions still fail closed to the full lifecycle, and this exact file ceiling cannot grow implicitly."
25
+ },
26
+ "scripts/dev-pr-prequeue-guard.mjs": {
27
+ "maxLines": 399,
28
+ "rationale": "The bounded guard keeps latest-base delta attribution, rooted source-proof reuse classification, synthetic merge composition readback, stable pre-enqueue failures, and the final base, head, queue, and Warrant compare-and-swap outside the legacy Dev PR controller; it cannot mutate the frozen source head or authorize landing by itself, and this exact file ceiling cannot grow implicitly."
29
+ },
30
+ "scripts/dev-delivery-authority.mjs": {
31
+ "maxLines": 635,
32
+ "rationale": "The explicit authority CLI keeps plan-only and execute transitions, provider-attempt coordinates, expected-old durable state writes, terminal provider readback, and machine-readable output in one compatibility entrypoint while the state-machine implementations remain extracted; this exact file ceiling cannot grow implicitly."
33
+ },
22
34
  "scripts/v4-architecture.mjs": {
23
35
  "maxLines": 610,
24
36
  "rationale": "The v4 architecture validator adds only the bounded production-authority, fallback, rollback, writer-runtime, and legacy-retirement checks required for the final release cutover. This exact reviewed ceiling cannot grow implicitly."
@@ -35,6 +47,14 @@
35
47
  "maxLines": 605,
36
48
  "rationale": "The v4 parity port preserves the reviewed v3 release-blocker claim handoff, root-preserving candidate refresh, deterministic queued ranking and receipt propagation while retaining all prior fencing, lease and terminal semantics; this exact reviewed ceiling cannot grow implicitly."
37
49
  },
50
+ "packages/core/dev-delivery-authority-landing.js": {
51
+ "maxLines": 615,
52
+ "rationale": "The bounded Landing authority module keeps exclusive acquisition, fenced heartbeat, exact merge-group provider-attempt admission, independent expired-provider readback, terminal settlement, and deterministic wake transitions in one audited state-machine seam; this exact file ceiling cannot grow implicitly."
53
+ },
54
+ "packages/core/dev-delivery-landing-admission-core.js": {
55
+ "maxLines": 119,
56
+ "rationale": "The internal transition persists only a provider attempt already derived by the public live GitHub readback boundary, keeping caller-supplied evidence outside the package export graph while preserving deterministic duplicate admission; this exact file ceiling cannot grow implicitly."
57
+ },
38
58
  "packages/core/release-blocker-priority.js": {
39
59
  "maxLines": 193,
40
60
  "rationale": "The v4 parity adapter preserves the reviewed v3 exact dual-landing priority claim, repair-contract parsing and unrelated-work rejection outside the durable Warrant state machine; this exact reviewed ceiling cannot grow implicitly."
@@ -56,12 +76,24 @@
56
76
  "maxFunctionLines": 255,
57
77
  "maxFunctionComplexity": 33,
58
78
  "rationale": "The one versioned transaction authority keeps strict declaration normalization, deterministic effect planning, atomic checkpoints, rooted observations and receipts, and bounded recovery in one independently tested audit surface; this exact preview ceiling cannot grow implicitly."
79
+ },
80
+ "packages/core/v4-runtime-ref-resume-authority.js": {
81
+ "maxLines": 625,
82
+ "rationale": "The reviewed v4 authority keeps exact-runtime authorization, source and lock binding, fresh-attempt Stage Capsule reuse, floating-ref movement, final readback, and Passport lineage verification in one bounded public module; persistence scanning is separately owned and this exact ceiling cannot grow implicitly."
83
+ },
84
+ "packages/core/v4-runtime-selector-persistence.js": {
85
+ "maxLines": 228,
86
+ "rationale": "The isolated source scanner rejects persisted exact, train, authority, variable, secret, and environment selector authority while inventorying OIDC, IAM, and external authority metadata without reading credentials; this exact ceiling cannot grow implicitly."
59
87
  }
60
88
  },
61
89
  "approvedExistingDebtTransitions": {
62
90
  "packages/core/index.js": {
63
- "maxLines": 698,
64
- "rationale": "The public facade forwards the reviewed declarative release-tail transaction, adapter and compatibility APIs without adding a second implementation or execution path; this exact post-integration ceiling cannot grow implicitly."
91
+ "maxLines": 699,
92
+ "rationale": "The public facade forwards the reviewed runtime-resume authority beside the existing declarative release-tail and v4 governance APIs without adding a second implementation or execution path; this exact post-integration ceiling cannot grow implicitly."
93
+ },
94
+ "actions/promote-buildchain-ref/index.js": {
95
+ "maxFunctionLines": 276,
96
+ "rationale": "The existing action entrypoint forwards one optional rooted v4 runtime-resume evidence document into the already audited durable Passport operation; this one-line terminal widening is exact and cannot grow implicitly."
65
97
  },
66
98
  "actions/promote-buildchain-ref/lib.js": {
67
99
  "maxLines": 6952,
@@ -72,19 +104,24 @@
72
104
  "rationale": "The runtime entrypoint now binds every compatibility command and alias, including the upstream paper command, through the tested command registry; this exact post-integration wiring ceiling cannot grow implicitly."
73
105
  },
74
106
  "packages/core/release-passport.js": {
75
- "maxLines": 2859,
76
- "rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, and upstream release-evidence attachment verification while the terminal report constructor drops from 470 lines to at most 180. This exact post-integration ceiling cannot grow implicitly."
107
+ "maxLines": 2958,
108
+ "maxFunctionLines": 304,
109
+ "rationale": "Responsibility-owned validators preserve issue ordering, byte-stable reports, upstream release evidence, consumer-policy certification, and the new rooted runtime A+B resume lineage. The optional attachment is normalized and independently reverified before inclusion; these exact post-integration ceilings cannot grow implicitly."
77
110
  },
78
111
  "packages/core/buildchain-contract.js": {
79
- "maxLines": 1095,
112
+ "maxLines": 1096,
80
113
  "maxFunctionLines": 681,
81
114
  "maxFunctionComplexity": 30,
82
- "rationale": "The existing v4 contract evaluator invokes the shared shell-runtime-lock binding before every compatibility or early-success path while preserving the prior contract-world, Release Train, and drift behavior. Its public advanced-workflow projection now declares the two optional expected lane inputs consumed by that unchanged evaluator. This exact public-contract wiring ceiling cannot grow implicitly."
115
+ "rationale": "The existing v4 contract evaluator invokes the shared shell-runtime-lock binding before every compatibility or early-success path while preserving the prior contract-world, Release Train, and drift behavior. Its public projection now includes the bounded dev-delivery workflow surface and declares the optional expected lane inputs consumed by the unchanged evaluator. This exact public-contract wiring ceiling cannot grow implicitly."
83
116
  },
84
117
  "packages/core/github-governance-authority.js": {
85
118
  "maxLines": 1368,
86
119
  "rationale": "The publication authority now declares the alpha/v4/v4.0 and release/v4/v4.0 protected channels required for the v4 public train. This exact two-line channel transition cannot grow implicitly."
87
120
  },
121
+ "packages/core/buildchain-config.js": {
122
+ "maxLines": 1806,
123
+ "rationale": "Artifact signing configuration admits only the Buildchain-owned JIT profile with exact safe archive-relative target paths while rejecting credentials, entitlement files, wildcard paths, incompatible artifact kinds, and incomplete declarations; this exact wiring ceiling cannot grow implicitly."
124
+ },
88
125
  "scripts/check-internal-architecture.mjs": {
89
126
  "maxFunctionComplexity": 37,
90
127
  "rationale": "Ownership coverage and zero-cycle enforcement were added to the pre-existing architecture traversal; this exact guard complexity ceiling cannot grow implicitly."
@@ -136,6 +173,44 @@
136
173
  }
137
174
  },
138
175
  "approvedPublicSurfaceTransitions": {
176
+ "workflow:check": {
177
+ "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
178
+ "contract": {
179
+ "id": "check",
180
+ "path": ".github/workflows/check.yml",
181
+ "reusable": true,
182
+ "inputs": [
183
+ "buildchain-ref",
184
+ "buildchain-repository",
185
+ "mode",
186
+ "node-version",
187
+ "require-version-state",
188
+ "source-proof-closure-paths-json",
189
+ "source-proof-dependency-paths-json",
190
+ "source-proof-policy-paths-json",
191
+ "source-proof-required-contexts-json",
192
+ "source-proof-reuse",
193
+ "upload-artifacts",
194
+ "working-directory"
195
+ ],
196
+ "secrets": [],
197
+ "outputs": [
198
+ "controller-plan-artifact",
199
+ "controller-plan-digest",
200
+ "controller-plan-json",
201
+ "controller-receipt-artifact",
202
+ "controller-receipt-digest",
203
+ "controller-receipt-json",
204
+ "controller-receipt-status",
205
+ "source-proof-decision-root",
206
+ "source-proof-producer-run-id",
207
+ "source-proof-reuse-reason",
208
+ "source-proof-reused",
209
+ "source-proof-root"
210
+ ]
211
+ },
212
+ "rationale": "Add an opt-in merge-group fast path that accepts only an unexpired artifact from a successful same-workflow pull-request run and recomputes exact source, base, patch, runtime, plan, policy, closure, dependency, required-context, controller-receipt, and two-parent merge-group bindings. Existing callers remain on the full lifecycle by default, while any missing evidence, API failure, mismatch, grouped composition, or malformed proof also runs the full lifecycle."
213
+ },
139
214
  "action:promote-buildchain-ref": {
140
215
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
141
216
  "contract": {
@@ -210,6 +285,9 @@
210
285
  "release-passport-platform-manifest-paths",
211
286
  "release-passport-product-name",
212
287
  "release-passport-promotion-routing-json",
288
+ "release-passport-v4-consumer-policy-certification-json",
289
+ "release-passport-v4-consumer-policy-certification-root",
290
+ "release-passport-v4-runtime-resume-evidence-json",
213
291
  "release-tail-state-path",
214
292
  "require-governance",
215
293
  "require-publication-qualification",
@@ -226,7 +304,7 @@
226
304
  "secrets": [],
227
305
  "outputs": []
228
306
  },
229
- "rationale": "The promote action opts into the reviewed declarative release-tail provider path and exposes only rooted transaction checkpoint inputs; the legacy GitHub Release path remains the default and provider failure cannot select success."
307
+ "rationale": "The promote action preserves the independently rooted v4 consumer-policy certification and now accepts one optional verified runtime-resume evidence document for final Release Passport construction; v3 behavior remains unchanged."
230
308
  },
231
309
  "cli:architecture": {
232
310
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -339,6 +417,7 @@
339
417
  "path": ".github/workflows/dev-pr-auto-merge.yml",
340
418
  "reusable": true,
341
419
  "inputs": [
420
+ "active-lease-context",
342
421
  "affected-paths-json",
343
422
  "allowed-head-prefixes",
344
423
  "assignment-root",
@@ -352,22 +431,32 @@
352
431
  "dependency-root",
353
432
  "diagnostic-context",
354
433
  "dry-run",
434
+ "environment-root",
355
435
  "expected-head-sha",
356
436
  "expected-pr-number",
437
+ "handoff-workflow-id",
357
438
  "initiative-root",
358
439
  "landing-mode",
440
+ "legacy-active-owner-binding-json",
359
441
  "max-merges",
360
442
  "merge-method",
443
+ "native-command",
444
+ "native-command-root",
445
+ "native-heartbeat-seconds",
446
+ "native-proof-json",
361
447
  "plan-root",
362
448
  "project-cut-proof-json",
363
449
  "queue-admission-context",
364
450
  "ready-label",
451
+ "release-blocker-priority-json",
365
452
  "require-approval",
366
453
  "required-status-checks",
367
454
  "same-repository-only",
368
455
  "shard-evidence-roots-json",
369
456
  "source-identity-root",
370
457
  "source-patch-root",
458
+ "source-workflow-id",
459
+ "source-workflow-run-id",
371
460
  "target-branch",
372
461
  "toolchain-root",
373
462
  "warrant-lease-seconds"
@@ -381,7 +470,13 @@
381
470
  "evaluated-count",
382
471
  "final-base-sha",
383
472
  "merged-count",
473
+ "native-execution-transfer-root",
474
+ "native-proof-root",
475
+ "native-reuse-decision-root",
384
476
  "project-cut-proof-root",
477
+ "provider-finalizer-boundary-root",
478
+ "provider-heartbeat-receipt-root",
479
+ "qualified-warrant-receipt-root",
385
480
  "skipped-count",
386
481
  "source-proof-root",
387
482
  "warrant-receipt-root",
@@ -389,7 +484,7 @@
389
484
  "warrant-state-root"
390
485
  ]
391
486
  },
392
- "rationale": "Extend targeted exact-head admission with an optional rooted Project Cut replay proof for the exact current base and immutable Warrant state-commit readback while independent approval, required checks, native queue admission, and exact integration proof remain authoritative."
487
+ "rationale": "Add required-mode two-phase native qualification under one provisional fence, exact environment and heartbeat receipt binding, deterministic proof reuse, qualified-Warrant readback, and bounded successor handoff. The execution-transfer and provider-finalizer boundary outputs expose the exact content root and live distinct-job runner readback without exposing credential bytes. The additive legacy-active-owner binding carries exact phase-less state, fence, and generation without requiring a native command contract. Existing off and shadow modes remain explicit, and GitHub merge_group plus the exact Project Cut remain final landing authority."
393
488
  },
394
489
  "workflow:stable-candidate-patrol": {
395
490
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -435,6 +530,59 @@
435
530
  },
436
531
  "rationale": "The existing release-propagation command adds one policy-reporting Site upstream entry and exact non-force Work branch executor while preserving plan, lock, pickup, and Work Control compatibility."
437
532
  },
533
+ "workflow:publication-artifact": {
534
+ "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
535
+ "contract": {
536
+ "id": "publication-artifact",
537
+ "path": ".github/workflows/publication-artifact.yml",
538
+ "reusable": true,
539
+ "inputs": [
540
+ "artifact-name",
541
+ "artifact-paths",
542
+ "artifact-retention-days",
543
+ "build-command",
544
+ "buildchain-alpha-contract-lock-path",
545
+ "buildchain-contract-compatibility-policy",
546
+ "buildchain-contract-drift-issue-mode",
547
+ "buildchain-contract-lock-path",
548
+ "buildchain-ref",
549
+ "buildchain-repository",
550
+ "buildchain-stable-contract-lock-path",
551
+ "node-version",
552
+ "package-name",
553
+ "prepare-paper-package",
554
+ "publish-dist-tag",
555
+ "setup-node",
556
+ "target-ref",
557
+ "toolchain-command",
558
+ "toolchain-digest",
559
+ "toolchain-image",
560
+ "toolchain-type",
561
+ "verify-command",
562
+ "working-directory"
563
+ ],
564
+ "secrets": [],
565
+ "outputs": [
566
+ "controller-plan-artifact",
567
+ "controller-plan-digest",
568
+ "controller-plan-json",
569
+ "controller-receipt-artifact",
570
+ "controller-receipt-digest",
571
+ "controller-receipt-json",
572
+ "controller-receipt-status",
573
+ "package-name",
574
+ "package-version",
575
+ "publication-artifact-name",
576
+ "publication-manifest-json",
577
+ "publication-manifest-path",
578
+ "publication-passport-path",
579
+ "publication-registry-path",
580
+ "publish-dist-tag",
581
+ "runtime-sha"
582
+ ]
583
+ },
584
+ "rationale": "The publication workflow adds consumer-owned stable and alpha lock inputs so its earliest semantic v4 admission gate can bind the persisted floating selector before controller or package execution; its outputs and v3 behavior remain unchanged."
585
+ },
438
586
  "workflow:.build": {
439
587
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
440
588
  "contract": {
@@ -469,6 +617,7 @@
469
617
  "buildchain-expected-major",
470
618
  "buildchain-ref",
471
619
  "buildchain-repository",
620
+ "buildchain-visible-workflow",
472
621
  "cache-dependency-lock-root",
473
622
  "cache-policy-root",
474
623
  "cache-toolchain-root",
@@ -587,10 +736,12 @@
587
736
  "release-manifest-json",
588
737
  "runner-preset",
589
738
  "runner-routing-json",
590
- "trusted-event"
739
+ "trusted-event",
740
+ "v4-consumer-policy-receipt-json",
741
+ "v4-consumer-policy-receipt-root"
591
742
  ]
592
743
  },
593
- "rationale": "The reusable build surface adds an opt-in final-byte verification command and trusted platform-native finalization mode. Existing consumers preserve control-runner behavior when both inputs are absent; platform-native mode rejects self-hosted runners and reseals artifacts only after consumer policy succeeds."
744
+ "rationale": "The reusable build surface carries one internal visible-workflow coordinate into the earliest semantic v4 consumer admission gate and emits the source/runtime/dual-lock-bound receipt; build, install, and release authority remain downstream of that gate."
594
745
  },
595
746
  "workflow:build": {
596
747
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -629,6 +780,7 @@
629
780
  "buildchain-ref",
630
781
  "buildchain-repository",
631
782
  "buildchain-stable-contract-lock-path",
783
+ "buildchain-visible-workflow",
632
784
  "cache-dependency-lock-root",
633
785
  "cache-policy-root",
634
786
  "cache-toolchain-root",
@@ -750,10 +902,12 @@
750
902
  "release-manifest-json",
751
903
  "runner-preset",
752
904
  "runner-routing-json",
753
- "trusted-event"
905
+ "trusted-event",
906
+ "v4-consumer-policy-receipt-json",
907
+ "v4-consumer-policy-receipt-root"
754
908
  ]
755
909
  },
756
- "rationale": "The generated channel router forwards the opt-in final-byte verification command and trusted platform-native finalization mode unchanged to the reusable build surface. Existing callers retain the control-runner default; the advanced workflow owns the hosted-runner guard and final artifact reseal."
910
+ "rationale": "The generated channel router forwards the visible-workflow coordinate and semantic v4 policy receipt while retaining floating v4 or v4-alpha selectors, dual consumer locks, and trusted nonpersistent runtime override routing."
757
911
  },
758
912
 
759
913
  "workflow:paper-release-sealed": {
@@ -927,6 +1081,7 @@
927
1081
  "branch-protection-bypass-apps",
928
1082
  "branch-protection-bypass-teams",
929
1083
  "branch-protection-bypass-users",
1084
+ "buildchain-alpha-contract-lock-path",
930
1085
  "buildchain-contract-compatibility-policy",
931
1086
  "buildchain-contract-drift-issue-mode",
932
1087
  "buildchain-contract-lock-path",
@@ -934,6 +1089,7 @@
934
1089
  "buildchain-expected-major",
935
1090
  "buildchain-ref",
936
1091
  "buildchain-repository",
1092
+ "buildchain-stable-contract-lock-path",
937
1093
  "channel",
938
1094
  "declarative-release-tail",
939
1095
  "dry-run",
@@ -952,6 +1108,8 @@
952
1108
  "promotion-publication-channel",
953
1109
  "promotion-router-ref",
954
1110
  "promotion-router-sha",
1111
+ "promotion-runtime-authorization-json",
1112
+ "promotion-runtime-authorization-root",
955
1113
  "promotion-runtime-ref",
956
1114
  "promotion-runtime-sha",
957
1115
  "promotion-shell-ref",
@@ -1017,6 +1175,7 @@
1017
1175
  "release-passport-output-dir",
1018
1176
  "release-passport-platform-manifest-paths",
1019
1177
  "release-passport-product-name",
1178
+ "release-passport-v4-runtime-resume-evidence-json",
1020
1179
  "release-propagation-config-path",
1021
1180
  "required-artifact-count",
1022
1181
  "required-status-check",
@@ -1078,7 +1237,7 @@
1078
1237
  "release-tail-transaction-state"
1079
1238
  ]
1080
1239
  },
1081
- "rationale": "The advanced promotion workflow preserves explicit expected channel and major bindings for opaque exact-runtime contract-lock checks while adding one opt-in declarative release-tail input and five rooted transaction outputs. Existing callers preserve legacy GitHub Release behavior by default; candidate, target tree, controller, command, authority workflow and provider transaction identities remain independently bound, and incomplete or mismatched evidence still fails closed without a hidden rebuild."
1240
+ "rationale": "The advanced promotion workflow preserves exact contract-lock and channel bindings while adding a trusted transient runtime authorization plus expected root and an optional final Passport resume attachment. Candidate, target tree, policy, scanner, dual-lock, provider and fresh-attempt lineage remain independently bound, and incomplete or mismatched evidence fails closed before heavy work."
1082
1241
  },
1083
1242
  "workflow:release-candidate-promote": {
1084
1243
  "fromRevision": "5308189b09bcb5a1314195412f2807a40d678838",
@@ -1172,6 +1331,7 @@
1172
1331
  "release-passport-output-dir",
1173
1332
  "release-passport-platform-manifest-paths",
1174
1333
  "release-passport-product-name",
1334
+ "release-passport-v4-runtime-resume-evidence-json",
1175
1335
  "release-propagation-config-path",
1176
1336
  "required-artifact-count",
1177
1337
  "required-status-check",
@@ -1245,10 +1405,49 @@
1245
1405
  "release-tail-transaction-state"
1246
1406
  ]
1247
1407
  },
1248
- "rationale": "The generated v4 promotion router forwards the opt-in declarative release-tail contract and its rooted outputs through both existing channel jobs while preserving v4-alpha and v4 shell selection, exact contract-lock routing, candidate identity and default legacy publication behavior."
1408
+ "rationale": "The generated v4 promotion router preserves the opt-in declarative release-tail contract and exact contract-lock routing while forwarding one optional verified runtime-resume attachment through both existing channel jobs without changing default legacy publication behavior."
1249
1409
  }
1250
1410
  },
1251
1411
  "approvedExtractedDebt": {
1412
+ "packages/core/dev-delivery-authority-candidate.js#normalizeDevDeliveryAuthorityCandidate": {
1413
+ "maxLines": 150,
1414
+ "maxComplexity": 26,
1415
+ "rationale": "The extracted candidate normalizer keeps exact identity, source, proof, Warrant, lease, native-command, priority, and terminal-state validation in one fail-closed audit surface; this exact bounded complexity cannot grow implicitly."
1416
+ },
1417
+ "packages/core/dev-delivery-native-proof.js#validateActiveDevDeliveryWarrant": {
1418
+ "maxLines": 95,
1419
+ "maxComplexity": 29,
1420
+ "rationale": "The extracted active-Warrant validator preserves exact repository, branch, candidate, source, environment, fence, generation, lease, command, and qualification invariants in one auditable proof boundary; this exact bounded complexity cannot grow implicitly."
1421
+ },
1422
+ "packages/core/dev-delivery-execution-transfer.js#verifyNativeExecutionTransfer": {
1423
+ "maxComplexity": 36,
1424
+ "rationale": "The transfer verifier keeps the closed success and failure manifests, normalized job and Warrant bindings, byte digests, proof declarations, and failed-settlement fence in one exact artifact boundary; this reviewed complexity ceiling cannot grow implicitly."
1425
+ },
1426
+ "packages/core/dev-delivery-process-boundary.js#createProviderFinalizerBoundary": {
1427
+ "maxLines": 191,
1428
+ "maxComplexity": 33,
1429
+ "rationale": "The provider boundary verifier keeps distinct job and runner identity, hosted labels, strict timestamps, live PR and protected-ref readback, and the rooted finalizer receipt in one fail-closed audit surface; this reviewed complexity ceiling cannot grow implicitly."
1430
+ },
1431
+ "scripts/dev-delivery-authority.mjs#runDevDeliveryAuthorityCommand": {
1432
+ "maxLines": 151,
1433
+ "maxComplexity": 26,
1434
+ "rationale": "The authority command dispatcher keeps each explicit plan or execute mutation, exact expected-old state write, schema-safe output, and provider terminal-readback verifier injection in one audited command boundary; this exact complexity cannot grow implicitly."
1435
+ },
1436
+ "scripts/dev-delivery-authority.mjs#devDeliveryAuthorityCliOptions": {
1437
+ "maxLines": 220,
1438
+ "maxComplexity": 11,
1439
+ "rationale": "The authority CLI parser keeps the complete explicit flag-to-environment compatibility mapping, including exact provider run and job coordinates for independent expired-Landing readback, in one declarative function while execution remains separately owned; this exact extracted mapping ceiling cannot grow implicitly."
1440
+ },
1441
+ "scripts/dev-delivery-two-phase.mjs#runTwoPhaseDelivery": {
1442
+ "maxLines": 204,
1443
+ "maxComplexity": 35,
1444
+ "rationale": "The two-phase coordinator keeps provisional selection, credentialless native-only execution, post-exit credentialed proof reuse and qualification, heartbeat, landing handoff, and fail-closed cleanup under one fenced transaction; this exact bounded orchestration ceiling cannot grow implicitly."
1445
+ },
1446
+ "scripts/dev-delivery-warrant-options.mjs#devDeliveryCliOptions": {
1447
+ "maxLines": 257,
1448
+ "maxComplexity": 11,
1449
+ "rationale": "The extracted compatibility parser preserves the complete Warrant flag and environment mapping byte-for-byte while storage and command execution remain separately owned; this exact mapping ceiling cannot grow implicitly."
1450
+ },
1252
1451
  "scripts/v4-warrant-shadow-plan.mjs#validatePlan": {
1253
1452
  "maxLines": 182,
1254
1453
  "maxComplexity": 26,
@@ -204,7 +204,9 @@
204
204
  "sourcePaths": [
205
205
  "packages/core/dev-delivery-proof.js",
206
206
  "packages/core/dev-delivery-warrant-cancellation.js",
207
+ "packages/core/dev-delivery-warrant-qualification.js",
207
208
  "packages/core/dev-delivery-warrant-settlement.js",
209
+ "packages/core/dev-delivery-warrant-state.js",
208
210
  "packages/core/dev-delivery-warrant.js",
209
211
  "packages/core/release-blocker-priority.js",
210
212
  "scripts/dev-delivery-proof.mjs",