@kungfu-tech/buildchain 3.0.5-alpha.4 → 3.0.5-alpha.5

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.
@@ -7031,7 +7031,7 @@
7031
7031
  "pageRegistryPath": "dist/site/page-registry.json",
7032
7032
  "cliRegistryDigest": "0db010925d1c60209c3dac8bc2797537f307ab21bc68084263e79004c5c16ff7",
7033
7033
  "workflowRegistryDigest": "4f1b9a933e117abc5fc4212241c83a35609f23477dac98d6cd37c4b40b57ba29",
7034
- "pageRegistryDigest": "ae6076b33246fc76a7d9ce4a54ae65b9eb3a11a9772a8ea937e6f5e93bda13d1"
7034
+ "pageRegistryDigest": "296f5d2e42e07ab8f65791f250e8563e5478cd74e8bb78298f025bfd23072a29"
7035
7035
  },
7036
7036
  "comparison": {
7037
7037
  "missingCliRegistry": [],
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-publication-release-registry",
4
- "generatedAt": "2026-08-02T05:24:51.211Z",
5
- "publishedAt": "2026-08-02T05:24:51.211Z",
4
+ "generatedAt": "2026-08-02T07:07:12.421Z",
5
+ "publishedAt": "2026-08-02T07:07:12.421Z",
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": "0e42df038cdb688330156635bbcad37e362a8345",
22
+ "sourceRevision": "7f32e917c5561a53cf9ffc6e0f8a18df841a1cd9",
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.5-alpha.4",
35
+ "version": "3.0.5-alpha.5",
36
36
  "versionSource": "package.json#version"
37
37
  },
38
38
  "sourceKind": "package-site-bundle",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
3
  "contract": "kungfu-buildchain-site-manifest",
4
- "generatedAt": "2026-08-02T05:24:51.211Z",
5
- "publishedAt": "2026-08-02T05:24:51.211Z",
4
+ "generatedAt": "2026-08-02T07:07:12.421Z",
5
+ "publishedAt": "2026-08-02T07:07:12.421Z",
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": "0e42df038cdb688330156635bbcad37e362a8345",
22
+ "sourceRevision": "7f32e917c5561a53cf9ffc6e0f8a18df841a1cd9",
23
23
  "timestampPolicyDetails": {
24
24
  "contract": "kungfu-buildchain-surface-timestamp-policy",
25
25
  "timestampFields": [
@@ -37,7 +37,7 @@
37
37
  },
38
38
  "package": {
39
39
  "name": "@kungfu-tech/buildchain",
40
- "version": "3.0.5-alpha.4",
40
+ "version": "3.0.5-alpha.5",
41
41
  "versionSource": "package.json#version"
42
42
  },
43
43
  "entrypoint": "buildchain-site.json",
@@ -237,7 +237,7 @@
237
237
  "path": "docs/node-api-reference.md",
238
238
  "plane": "use",
239
239
  "exists": true,
240
- "digest": "sha256:38f051f579fb93dc7d8b4f2c70acd622c020e867394344b5e932568cd8d2ad83"
240
+ "digest": "sha256:62f5633ce6df3db2b92358a078dcc82d935d6fe480b9b4bf99294c0c1ccc39fb"
241
241
  },
242
242
  {
243
243
  "id": "build-facts",
@@ -293,7 +293,7 @@
293
293
  "path": "docs/release-governance.md",
294
294
  "plane": "why",
295
295
  "exists": true,
296
- "digest": "sha256:96d78f800cd7d43d3a47a11863d4813711e360418ba33a4284688389c7e4b70c"
296
+ "digest": "sha256:a38eca4d8ada75aed5cb60f2ef23ffe4ba36b1c804ea1ee7f74b3271765b7a1c"
297
297
  },
298
298
  {
299
299
  "id": "release-flow",
@@ -185,8 +185,11 @@ At the 2026-07-29 AWS Price List rate of USD 1.45 per Windows
185
185
  `c7i.4xlarge` hour, each accepted instance reserves its complete three-hour
186
186
  USD 4.35 fail-closed lifetime before `RunInstances`. A DynamoDB transaction
187
187
  binds the exact campaign and source, creates an idempotent run ledger entry,
188
- and atomically refuses a seventh accepted instance. Six accepted instances
189
- therefore reserve at most USD 26.10 under the dedicated USD 40 decision.
188
+ and atomically refuses a sixth accepted instance. Five accepted instances
189
+ therefore reserve at most USD 21.75. The campaign also persists the
190
+ operator-observed spend from earlier Windows work, and refuses to arm unless
191
+ that baseline, all five reservations, and one USD 4.35 fail-closed race
192
+ allowance remain below the USD 80 phase cap.
190
193
 
191
194
  The campaign starts unarmed and expires within 24 hours. Its `CONTROL` record
192
195
  can be created only once: a killed or expired campaign cannot be re-armed by
@@ -213,8 +216,9 @@ final job.
213
216
 
214
217
  `scripts/aws-windows-jit-campaign.mjs` is the one-shot operator boundary.
215
218
  Without a mutation mode it emits the arm plan. `arm-campaign` requires the
216
- campaign id, exact source SHA, and state table to be repeated as confirmations,
217
- then creates `CONTROL` and `CAMPAIGN#<id>` with `attribute_not_exists`
219
+ campaign id, exact source SHA, state table, and observed prior phase spend to
220
+ be repeated as confirmations, then creates `CONTROL` and `CAMPAIGN#<id>` with
221
+ `attribute_not_exists`
218
222
  conditions. DynamoDB therefore refuses a second campaign in the same retained
219
223
  state table. The operator can always use `kill-campaign`; there is deliberately
220
224
  no clear or re-arm operation.
@@ -224,8 +228,9 @@ same `--campaign-id`, `--confirm-campaign-id`, `--state-table`, and
224
228
  `--confirm-state-table`. After the GitHub, AMI, active-instance, SSM, and EC2
225
229
  DryRun checks pass, the controller
226
230
  atomically reserves one run. Duplicate run-attempt-qualification identities,
227
- source mismatch, expiry, `KILLED`, the seventh accepted instance, or a
228
- reservation over the USD 40 ceiling all fail closed before `RunInstances`.
231
+ source mismatch, expiry, `KILLED`, the sixth accepted instance, or a
232
+ reservation that would exceed the baseline-adjusted USD 80 phase ceiling all
233
+ fail closed before `RunInstances`.
229
234
 
230
235
  Example dry-run and arm boundary (do not execute without a new campaign budget
231
236
  decision):
@@ -235,12 +240,14 @@ windows_campaign=win-REPLACE_WITH_CAMPAIGN_ID
235
240
  windows_source=REPLACE_WITH_EXACT_40_CHARACTER_SHA
236
241
  windows_state_table=REPLACE_WITH_CAMPAIGN_STATE_TABLE
237
242
  windows_expires_at=REPLACE_WITH_ISO_TIMESTAMP_WITHIN_24_HOURS
243
+ windows_phase_spend_baseline_usd=REPLACE_WITH_OBSERVED_PRIOR_WINDOWS_SPEND
238
244
 
239
245
  node scripts/aws-windows-jit-campaign.mjs plan-arm \
240
246
  --campaign-id "$windows_campaign" \
241
247
  --source-sha "$windows_source" \
242
248
  --state-table "$windows_state_table" \
243
- --expires-at "$windows_expires_at"
249
+ --expires-at "$windows_expires_at" \
250
+ --phase-spend-baseline-usd "$windows_phase_spend_baseline_usd"
244
251
 
245
252
  node scripts/aws-windows-jit-campaign.mjs arm-campaign \
246
253
  --campaign-id "$windows_campaign" \
@@ -249,10 +256,12 @@ node scripts/aws-windows-jit-campaign.mjs arm-campaign \
249
256
  --confirm-source-sha "$windows_source" \
250
257
  --state-table "$windows_state_table" \
251
258
  --confirm-state-table "$windows_state_table" \
252
- --expires-at "$windows_expires_at"
259
+ --expires-at "$windows_expires_at" \
260
+ --phase-spend-baseline-usd "$windows_phase_spend_baseline_usd" \
261
+ --confirm-phase-spend-baseline-usd "$windows_phase_spend_baseline_usd"
253
262
  ```
254
263
 
255
- Arming creates a permanent one-shot control record and admits up to six paid
264
+ Arming creates a permanent one-shot control record and admits up to five paid
256
265
  instances. Its rollback is fail-closed, not deletion: `kill-campaign` first
257
266
  persists `KILLED`, then publishes to the dedicated SNS topic so the reaper
258
267
  terminates active card-owned instances and removes their JIT parameters. The
@@ -49,7 +49,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
49
49
  | `artifactSigningEvidenceDigest` | function: function artifactSigningEvidenceDigest(evidence = []) | evidence = [] | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { artifactSigningEvidenceDigest } from "@kungfu-tech/buildchain";` | `packages/core/artifact-signing-result.js:58` |
50
50
  | `artifactVerificationEnvelopeDigest` | function: function artifactVerificationEnvelopeDigest(value) | value | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { artifactVerificationEnvelopeDigest } from "@kungfu-tech/buildchain";` | `packages/core/artifact-verification-envelope.js:50` |
51
51
  | `assertPackageManager` | function: function assertPackageManager(manager) | manager | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPackageManager } from "@kungfu-tech/buildchain";` | `packages/core/package-manager.js:49` |
52
- | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:292` |
52
+ | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:261` |
53
53
  | `auditKfd3Surfaces` | function: function auditKfd3Surfaces({ cwd = process.cwd(), registryPath = "", kinds = [], artifactPath = "", } = {}) | { cwd = process.cwd(), registryPath = "", kinds = [], artifactPath = "", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { auditKfd3Surfaces } from "@kungfu-tech/buildchain";` | `packages/core/kfd3-surface-register.js:547` |
54
54
  | `BADGE_BUNDLE_DEFAULT_CLAIMS` | constant: const BADGE_BUNDLE_DEFAULT_CLAIMS | none | value | Import does not declare a throw contract. | none-on-import | `import { BADGE_BUNDLE_DEFAULT_CLAIMS } from "@kungfu-tech/buildchain";` | `packages/core/readme-badges.js:17` |
55
55
  | `BADGE_BUNDLE_FACTS_CONTRACT` | constant: const BADGE_BUNDLE_FACTS_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BADGE_BUNDLE_FACTS_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/readme-badges.js:13` |
@@ -107,7 +107,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
107
107
  | `BUILDCHAIN_LOG_SUMMARY_CONTRACT` | constant: const BUILDCHAIN_LOG_SUMMARY_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_LOG_SUMMARY_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/logging.js:7` |
108
108
  | `BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT` | constant: const BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/diagnostics.js:37` |
109
109
  | `BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT` | constant: const BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/diagnostics.js:39` |
110
- | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:11` |
110
+ | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:12` |
111
111
  | `BUILDCHAIN_RELEASE_PASSPORT_PATH` | constant: const BUILDCHAIN_RELEASE_PASSPORT_PATH | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_RELEASE_PASSPORT_PATH } from "@kungfu-tech/buildchain";` | `packages/core/buildchain-layout.js:33` |
112
112
  | `BUILDCHAIN_RUNTIME_CONTRACT_WORLD` | constant: const BUILDCHAIN_RUNTIME_CONTRACT_WORLD | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_RUNTIME_CONTRACT_WORLD } from "@kungfu-tech/buildchain";` | `packages/core/buildchain-contract.js:7` |
113
113
  | `BUILDCHAIN_VERSION_PIN_PATH` | constant: const BUILDCHAIN_VERSION_PIN_PATH | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_VERSION_PIN_PATH } from "@kungfu-tech/buildchain";` | `packages/core/buildchain-layout.js:5` |
@@ -144,7 +144,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
144
144
  | `collectProcessTreeSnapshot` | function: function collectProcessTreeSnapshot({ rootPid = process.pid, cwd = process.cwd(), platform = process.platform, runCommand = defaultDiagnosticCommandRunner, } = {}) | { rootPid = process.pid, cwd = process.cwd(), platform = process.platform, runCommand = defaultDiagnosticCommandRunner, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectProcessTreeSnapshot } from "@kungfu-tech/buildchain";` | `packages/core/diagnostics.js:1029` |
145
145
  | `collectPublicationArtifact` | function: function collectPublicationArtifact({ cwd = process.cwd(), sourceSha = "", sourceBundle = true, sourceBundlePath = "", generatedAt = "", manifestPath = "", passportPath = "", } = {}) | { cwd = process.cwd(), sourceSha = "", sourceBundle = true, sourceBundlePath = "", generatedAt = "", manifestPath = "", passportPath = "", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { collectPublicationArtifact } from "@kungfu-tech/buildchain";` | `packages/core/publication-artifact.js:271` |
146
146
  | `collectPublicationPackageFacts` | function: function collectPublicationPackageFacts({ cwd = process.cwd(), packageName = "", outputDir = ".buildchain/publication/npm-package", } = {}) | { cwd = process.cwd(), packageName = "", outputDir = ".buildchain/publication/npm-package", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { collectPublicationPackageFacts } from "@kungfu-tech/buildchain";` | `packages/core/publication-package.js:74` |
147
- | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:192` |
147
+ | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:161` |
148
148
  | `collectReadmeBadgeFacts` | function: async function collectReadmeBadgeFacts({ cwd = process.cwd() } = {}) | { cwd = process.cwd() } = {} | Promise<unknown> | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectReadmeBadgeFacts } from "@kungfu-tech/buildchain";` | `packages/core/readme-badges.js:700` |
149
149
  | `collectRunnerDiagnostics` | function: function collectRunnerDiagnostics() | none | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectRunnerDiagnostics } from "@kungfu-tech/buildchain";` | `packages/core/diagnostics.js:468` |
150
150
  | `collectToolDiagnostics` | function: function collectToolDiagnostics({ cwd = process.cwd(), tools = ["node", "pnpm", "npm", "git", "cmake", "ninja", "ccache", "sccache"] } = {}) | { cwd = process.cwd(), tools = ["node", "pnpm", "npm", "git", "cmake", "ninja", "ccache", "sccache"] } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectToolDiagnostics } from "@kungfu-tech/buildchain";` | `packages/core/diagnostics.js:495` |
@@ -251,11 +251,11 @@ Target: `./packages/core/index.js`. Public symbols: 541.
251
251
  | `discoverConfiguredVersionStateFiles` | function: function discoverConfiguredVersionStateFiles(cwd = process.cwd(), loadedConfig = loadBuildchainConfig(cwd)) | cwd = process.cwd(), loadedConfig = loadBuildchainConfig(cwd) | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { discoverConfiguredVersionStateFiles } from "@kungfu-tech/buildchain";` | `packages/core/buildchain-config.js:1428` |
252
252
  | `discoverKfdStandards` | function: function discoverKfdStandards() | none | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { discoverKfdStandards } from "@kungfu-tech/buildchain";` | `packages/core/kfd.js:464` |
253
253
  | `discoverPaperFleet` | function: function discoverPaperFleet(root = process.cwd()) | root = process.cwd() | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { discoverPaperFleet } from "@kungfu-tech/buildchain";` | `packages/core/paper-fleet.js:23` |
254
- | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:122` |
254
+ | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:91` |
255
255
  | `enumerateCliCommandsFromBin` | function: function enumerateCliCommandsFromBin({ root = process.cwd(), binPath = "bin/buildchain.mjs", } = {}) | { root = process.cwd(), binPath = "bin/buildchain.mjs", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateCliCommandsFromBin } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-cli.js:93` |
256
- | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:146` |
257
- | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:137` |
258
- | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:105` |
256
+ | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:115` |
257
+ | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:106` |
258
+ | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain";` | `packages/core/public-surface-audit.js:74` |
259
259
  | `evaluateBuildchainContractLock` | function: function evaluateBuildchainContractLock({ lock, current, runtimeRef = "", runtimeSha = "", runtimeClass = "", compatibilityPolicy = "", } = {}) | { lock, current, runtimeRef = "", runtimeSha = "", runtimeClass = "", compatibilityPolicy = "", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { evaluateBuildchainContractLock } from "@kungfu-tech/buildchain";` | `packages/core/buildchain-contract.js:818` |
260
260
  | `evaluateCodeownersAuthority` | function: function evaluateCodeownersAuthority({ source = "", sourcePath = "", reviewAuthority = "kungfu-origin", protectedPaths = PROTECTED_AUTHORITY_PATHS, } = {}) | { source = "", sourcePath = "", reviewAuthority = "kungfu-origin", protectedPaths = PROTECTED_AUTHORITY_PATHS, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { evaluateCodeownersAuthority } from "@kungfu-tech/buildchain";` | `packages/core/github-governance-authority.js:425` |
261
261
  | `evaluateGithubGovernanceSnapshot` | function: function evaluateGithubGovernanceSnapshot({ descriptor = createBuildchainGithubGovernanceAuthority(), repository, targetRef, organizationPlan, codeowners, effectivePolicy, memberships, apiEvidence = {}, observedAt, expiresAt, verifier = {}, } = {}) | { descriptor = createBuildchainGithubGovernanceAuthority(), repository, targetRef, organizationPlan, codeowners, effectivePolicy, memberships, apiEvidence = {}, observedAt, expiresAt, verifier = {}, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { evaluateGithubGovernanceSnapshot } from "@kungfu-tech/buildchain";` | `packages/core/github-governance-authority.js:694` |
@@ -643,7 +643,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
643
643
  | `artifactSigningEvidenceDigest` | function: function artifactSigningEvidenceDigest(evidence = []) | evidence = [] | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { artifactSigningEvidenceDigest } from "@kungfu-tech/buildchain/core";` | `packages/core/artifact-signing-result.js:58` |
644
644
  | `artifactVerificationEnvelopeDigest` | function: function artifactVerificationEnvelopeDigest(value) | value | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { artifactVerificationEnvelopeDigest } from "@kungfu-tech/buildchain/core";` | `packages/core/artifact-verification-envelope.js:50` |
645
645
  | `assertPackageManager` | function: function assertPackageManager(manager) | manager | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPackageManager } from "@kungfu-tech/buildchain/core";` | `packages/core/package-manager.js:49` |
646
- | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:292` |
646
+ | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:261` |
647
647
  | `auditKfd3Surfaces` | function: function auditKfd3Surfaces({ cwd = process.cwd(), registryPath = "", kinds = [], artifactPath = "", } = {}) | { cwd = process.cwd(), registryPath = "", kinds = [], artifactPath = "", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { auditKfd3Surfaces } from "@kungfu-tech/buildchain/core";` | `packages/core/kfd3-surface-register.js:547` |
648
648
  | `BADGE_BUNDLE_DEFAULT_CLAIMS` | constant: const BADGE_BUNDLE_DEFAULT_CLAIMS | none | value | Import does not declare a throw contract. | none-on-import | `import { BADGE_BUNDLE_DEFAULT_CLAIMS } from "@kungfu-tech/buildchain/core";` | `packages/core/readme-badges.js:17` |
649
649
  | `BADGE_BUNDLE_FACTS_CONTRACT` | constant: const BADGE_BUNDLE_FACTS_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BADGE_BUNDLE_FACTS_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/readme-badges.js:13` |
@@ -701,7 +701,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
701
701
  | `BUILDCHAIN_LOG_SUMMARY_CONTRACT` | constant: const BUILDCHAIN_LOG_SUMMARY_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_LOG_SUMMARY_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/logging.js:7` |
702
702
  | `BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT` | constant: const BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PROCESS_SAMPLE_REPORT_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/diagnostics.js:37` |
703
703
  | `BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT` | constant: const BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PROCESS_SAMPLE_SUMMARY_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/diagnostics.js:39` |
704
- | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:11` |
704
+ | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:12` |
705
705
  | `BUILDCHAIN_RELEASE_PASSPORT_PATH` | constant: const BUILDCHAIN_RELEASE_PASSPORT_PATH | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_RELEASE_PASSPORT_PATH } from "@kungfu-tech/buildchain/core";` | `packages/core/buildchain-layout.js:33` |
706
706
  | `BUILDCHAIN_RUNTIME_CONTRACT_WORLD` | constant: const BUILDCHAIN_RUNTIME_CONTRACT_WORLD | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_RUNTIME_CONTRACT_WORLD } from "@kungfu-tech/buildchain/core";` | `packages/core/buildchain-contract.js:7` |
707
707
  | `BUILDCHAIN_VERSION_PIN_PATH` | constant: const BUILDCHAIN_VERSION_PIN_PATH | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_VERSION_PIN_PATH } from "@kungfu-tech/buildchain/core";` | `packages/core/buildchain-layout.js:5` |
@@ -738,7 +738,7 @@ Target: `./packages/core/index.js`. Public symbols: 541.
738
738
  | `collectProcessTreeSnapshot` | function: function collectProcessTreeSnapshot({ rootPid = process.pid, cwd = process.cwd(), platform = process.platform, runCommand = defaultDiagnosticCommandRunner, } = {}) | { rootPid = process.pid, cwd = process.cwd(), platform = process.platform, runCommand = defaultDiagnosticCommandRunner, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectProcessTreeSnapshot } from "@kungfu-tech/buildchain/core";` | `packages/core/diagnostics.js:1029` |
739
739
  | `collectPublicationArtifact` | function: function collectPublicationArtifact({ cwd = process.cwd(), sourceSha = "", sourceBundle = true, sourceBundlePath = "", generatedAt = "", manifestPath = "", passportPath = "", } = {}) | { cwd = process.cwd(), sourceSha = "", sourceBundle = true, sourceBundlePath = "", generatedAt = "", manifestPath = "", passportPath = "", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | local-filesystem-write | `import { collectPublicationArtifact } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-artifact.js:271` |
740
740
  | `collectPublicationPackageFacts` | function: function collectPublicationPackageFacts({ cwd = process.cwd(), packageName = "", outputDir = ".buildchain/publication/npm-package", } = {}) | { cwd = process.cwd(), packageName = "", outputDir = ".buildchain/publication/npm-package", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { collectPublicationPackageFacts } from "@kungfu-tech/buildchain/core";` | `packages/core/publication-package.js:74` |
741
- | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:192` |
741
+ | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:161` |
742
742
  | `collectReadmeBadgeFacts` | function: async function collectReadmeBadgeFacts({ cwd = process.cwd() } = {}) | { cwd = process.cwd() } = {} | Promise<unknown> | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectReadmeBadgeFacts } from "@kungfu-tech/buildchain/core";` | `packages/core/readme-badges.js:700` |
743
743
  | `collectRunnerDiagnostics` | function: function collectRunnerDiagnostics() | none | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectRunnerDiagnostics } from "@kungfu-tech/buildchain/core";` | `packages/core/diagnostics.js:468` |
744
744
  | `collectToolDiagnostics` | function: function collectToolDiagnostics({ cwd = process.cwd(), tools = ["node", "pnpm", "npm", "git", "cmake", "ninja", "ccache", "sccache"] } = {}) | { cwd = process.cwd(), tools = ["node", "pnpm", "npm", "git", "cmake", "ninja", "ccache", "sccache"] } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectToolDiagnostics } from "@kungfu-tech/buildchain/core";` | `packages/core/diagnostics.js:495` |
@@ -845,11 +845,11 @@ Target: `./packages/core/index.js`. Public symbols: 541.
845
845
  | `discoverConfiguredVersionStateFiles` | function: function discoverConfiguredVersionStateFiles(cwd = process.cwd(), loadedConfig = loadBuildchainConfig(cwd)) | cwd = process.cwd(), loadedConfig = loadBuildchainConfig(cwd) | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { discoverConfiguredVersionStateFiles } from "@kungfu-tech/buildchain/core";` | `packages/core/buildchain-config.js:1428` |
846
846
  | `discoverKfdStandards` | function: function discoverKfdStandards() | none | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { discoverKfdStandards } from "@kungfu-tech/buildchain/core";` | `packages/core/kfd.js:464` |
847
847
  | `discoverPaperFleet` | function: function discoverPaperFleet(root = process.cwd()) | root = process.cwd() | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { discoverPaperFleet } from "@kungfu-tech/buildchain/core";` | `packages/core/paper-fleet.js:23` |
848
- | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:122` |
848
+ | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:91` |
849
849
  | `enumerateCliCommandsFromBin` | function: function enumerateCliCommandsFromBin({ root = process.cwd(), binPath = "bin/buildchain.mjs", } = {}) | { root = process.cwd(), binPath = "bin/buildchain.mjs", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateCliCommandsFromBin } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-cli.js:93` |
850
- | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:146` |
851
- | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:137` |
852
- | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:105` |
850
+ | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:115` |
851
+ | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:106` |
852
+ | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain/core";` | `packages/core/public-surface-audit.js:74` |
853
853
  | `evaluateBuildchainContractLock` | function: function evaluateBuildchainContractLock({ lock, current, runtimeRef = "", runtimeSha = "", runtimeClass = "", compatibilityPolicy = "", } = {}) | { lock, current, runtimeRef = "", runtimeSha = "", runtimeClass = "", compatibilityPolicy = "", } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { evaluateBuildchainContractLock } from "@kungfu-tech/buildchain/core";` | `packages/core/buildchain-contract.js:818` |
854
854
  | `evaluateCodeownersAuthority` | function: function evaluateCodeownersAuthority({ source = "", sourcePath = "", reviewAuthority = "kungfu-origin", protectedPaths = PROTECTED_AUTHORITY_PATHS, } = {}) | { source = "", sourcePath = "", reviewAuthority = "kungfu-origin", protectedPaths = PROTECTED_AUTHORITY_PATHS, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { evaluateCodeownersAuthority } from "@kungfu-tech/buildchain/core";` | `packages/core/github-governance-authority.js:425` |
855
855
  | `evaluateGithubGovernanceSnapshot` | function: function evaluateGithubGovernanceSnapshot({ descriptor = createBuildchainGithubGovernanceAuthority(), repository, targetRef, organizationPlan, codeowners, effectivePolicy, memberships, apiEvidence = {}, observedAt, expiresAt, verifier = {}, } = {}) | { descriptor = createBuildchainGithubGovernanceAuthority(), repository, targetRef, organizationPlan, codeowners, effectivePolicy, memberships, apiEvidence = {}, observedAt, expiresAt, verifier = {}, } = {} | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { evaluateGithubGovernanceSnapshot } from "@kungfu-tech/buildchain/core";` | `packages/core/github-governance-authority.js:694` |
@@ -1568,14 +1568,14 @@ Target: `./packages/core/public-surface-audit.js`. Public symbols: 8.
1568
1568
 
1569
1569
  | Symbol | Kind and signature | Parameters | Return | Errors | Side effects | Example | Source |
1570
1570
  | --- | --- | --- | --- | --- | --- | --- | --- |
1571
- | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:292` |
1572
- | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:11` |
1573
- | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:192` |
1574
- | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:122` |
1571
+ | `assertPublicSurfaceReverseAudit` | function: function assertPublicSurfaceReverseAudit(report) | report | unknown | May throw an Error on rejected input or failed operations; follow the linked source contract. | none-detected-by-static-source-scan | `import { assertPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:261` |
1572
+ | `BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT` | constant: const BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT | none | value | Import does not declare a throw contract. | none-on-import | `import { BUILDCHAIN_PUBLIC_SURFACE_AUDIT_CONTRACT } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:12` |
1573
+ | `collectPublicSurfaceReverseAudit` | function: function collectPublicSurfaceReverseAudit({ root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {}) | { root = process.cwd(), cliRegistry: suppliedCliRegistry = undefined, workflowRegistry: suppliedWorkflowRegistry = undefined, pageRegistry: suppliedPageRegistry = undefined, } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { collectPublicSurfaceReverseAudit } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:161` |
1574
+ | `enumerateActionInputs` | function: function enumerateActionInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateActionInputs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:91` |
1575
1575
  | `enumerateCliCommandsFromBin` | function: function enumerateCliCommandsFromBin({ root = process.cwd(), binPath = "bin/buildchain.mjs", } = {}) | { root = process.cwd(), binPath = "bin/buildchain.mjs", } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateCliCommandsFromBin } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-cli.js:93` |
1576
- | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:146` |
1577
- | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:137` |
1578
- | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:105` |
1576
+ | `enumerateDocCommandRefs` | function: function enumerateDocCommandRefs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateDocCommandRefs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:115` |
1577
+ | `enumerateSitePages` | function: function enumerateSitePages({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateSitePages } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:106` |
1578
+ | `enumerateWorkflowInputs` | function: function enumerateWorkflowInputs({ root = process.cwd() } = {}) | { root = process.cwd() } = {} | unknown | Errors from called operations may propagate; no narrower throw contract is declared in source. | none-detected-by-static-source-scan | `import { enumerateWorkflowInputs } from "@kungfu-tech/buildchain/public-surface-audit";` | `packages/core/public-surface-audit.js:74` |
1579
1579
 
1580
1580
  ## `@kungfu-tech/buildchain/logging`
1581
1581
 
@@ -575,6 +575,38 @@ context shape into the other. Consumer repositories can keep their context
575
575
  stable while changing the actual verification command declaratively in
576
576
  `buildchain.toml`:
577
577
 
578
+ Before a release caller is merged, consumers should also verify its exact
579
+ reusable-workflow call contract. The checker reads the caller and an already
580
+ checked-out exact Buildchain commit; it never resolves a floating ref or starts
581
+ a release. It rejects unknown or missing inputs and secrets, literal type
582
+ drift, insufficient permissions, untrusted event classes, and a caller pin that
583
+ does not equal the checked callee commit. Defaults, workflow bytes, and the
584
+ complete interface are bound into `contractRoot`; the receipt additionally
585
+ binds the caller commit/tree and both workflow digests.
586
+
587
+ ```sh
588
+ node .buildchain/workflow-contract-runtime/scripts/workflow-call-contract.mjs check \
589
+ --caller-root . \
590
+ --caller-workflow .github/workflows/release-new-version.yml \
591
+ --caller-repository kungfu-systems/example \
592
+ --job promote \
593
+ --callee-root .buildchain/workflow-contract-runtime \
594
+ --callee-workflow .github/workflows/release-candidate-promote.yml \
595
+ --callee-repository kungfu-systems/buildchain \
596
+ --trusted-event workflow_dispatch \
597
+ --trusted-event pull_request:closed \
598
+ --expected-contract-root "$(cat .buildchain/release-call-contract-root)" \
599
+ --output .buildchain/workflow-call-receipts/release-new-version.json
600
+ ```
601
+
602
+ The checkout at `.buildchain/workflow-contract-runtime` must use the same
603
+ 40-character SHA written in the caller's `uses:` edge. To accept an intentional
604
+ contract change, first run without `--expected-contract-root`, review the full
605
+ diagnostic and exact coordinates, then replace only the committed root. The
606
+ ordinary PR check runs this command before any candidate or promotion dispatch.
607
+ Local pre-commit rehearsal may add `--allow-dirty`; that result is marked
608
+ `receiptReusable: false` and cannot replace the clean exact-source receipt.
609
+
578
610
  ```toml
579
611
  [lifecycle.install]
580
612
  command = "cargo fetch --locked"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kungfu-tech/buildchain",
3
- "version": "3.0.5-alpha.4",
3
+ "version": "3.0.5-alpha.5",
4
4
  "private": false,
5
5
  "description": "Buildchain Release Passport, release governance, CLI toolkit, and site facts.",
6
6
  "repository": "https://github.com/kungfu-systems/buildchain",
@@ -5,6 +5,7 @@ import {
5
5
  commandId,
6
6
  enumerateCliCommandsFromBin,
7
7
  } from "./public-surface-cli.js";
8
+ import { parseReusableWorkflowInterface } from "./workflow-yaml-contract.js";
8
9
 
9
10
  export { enumerateCliCommandsFromBin } from "./public-surface-cli.js";
10
11
 
@@ -46,38 +47,6 @@ function listDirectories(root, dir) {
46
47
  .sort();
47
48
  }
48
49
 
49
- function parseYamlWorkflowCall(text) {
50
- const lines = text.split(/\r?\n/);
51
- const result = { reusable: false, inputs: [], secrets: [], outputs: [] };
52
- const workflowCallIndex = lines.findIndex((line) => /^(\s*)workflow_call:\s*$/.test(line));
53
- if (workflowCallIndex === -1) return result;
54
- result.reusable = true;
55
- const workflowCallIndent = lines[workflowCallIndex].match(/^(\s*)/)?.[1].length || 0;
56
- let section = "";
57
- for (const line of lines.slice(workflowCallIndex + 1)) {
58
- const currentIndent = line.match(/^(\s*)/)?.[1].length || 0;
59
- if (line.trim() && currentIndent <= workflowCallIndent) break;
60
- const sectionMatch = line.match(new RegExp(`^\\s{${workflowCallIndent + 2}}(inputs|secrets|outputs):\\s*$`));
61
- if (sectionMatch) {
62
- section = sectionMatch[1];
63
- continue;
64
- }
65
- if (line.trim() && currentIndent <= workflowCallIndent + 2) {
66
- section = "";
67
- continue;
68
- }
69
- if (!section) continue;
70
- const fieldMatch = line.match(new RegExp(`^\\s{${workflowCallIndent + 4}}([A-Za-z0-9_-]+):\\s*$`));
71
- if (fieldMatch) result[section].push(fieldMatch[1]);
72
- }
73
- return {
74
- reusable: result.reusable,
75
- inputs: uniqueSorted(result.inputs),
76
- secrets: uniqueSorted(result.secrets),
77
- outputs: uniqueSorted(result.outputs),
78
- };
79
- }
80
-
81
50
  function parseYamlTopLevelInputs(text) {
82
51
  const lines = text.split(/\r?\n/);
83
52
  const inputs = [];
@@ -104,14 +73,14 @@ function parseYamlTopLevelInputs(text) {
104
73
 
105
74
  export function enumerateWorkflowInputs({ root = process.cwd() } = {}) {
106
75
  return listFiles(root, ".github/workflows", (name) => /\.ya?ml$/.test(name)).map((relPath) => {
107
- const contract = parseYamlWorkflowCall(readText(root, relPath));
76
+ const contract = parseReusableWorkflowInterface(readText(root, relPath));
108
77
  return {
109
78
  id: relPath.replace(/^\.github\/workflows\//, "").replace(/\.ya?ml$/, ""),
110
79
  path: relPath,
111
80
  reusable: contract.reusable,
112
- inputs: contract.inputs,
81
+ inputs: contract.inputs.map((entry) => entry.name),
113
82
  inputCount: contract.inputs.length,
114
- secrets: contract.secrets,
83
+ secrets: contract.secrets.map((entry) => entry.name),
115
84
  secretCount: contract.secrets.length,
116
85
  outputs: contract.outputs,
117
86
  outputCount: contract.outputs.length,