暴露项目发布 gate manifest API

This commit is contained in:
2026-06-16 10:31:50 +08:00
parent 6c087499fd
commit 343ad0acd6
12 changed files with 188 additions and 19 deletions

View File

@@ -51,6 +51,7 @@ import {
createMachineSessionPersistenceRenderState,
createMachineSessionPersistenceSummary,
createMachineSessionSnapshotPayload,
createProjectReleaseGateManifest,
createProjectReleaseReadinessArtifactValidation,
createProjectReleaseReadinessReport,
createSessionSnapshot,
@@ -189,12 +190,14 @@ It does not implement or reinterpret LinuxCNC error semantics.
## Project release readiness export
`createProjectReleaseReadinessReport()` returns a machine-readable release
readiness report for CI dashboards and external SDK callers. The report lists
the required project release gate command, expected smoke outputs, the current
sim-config inventory baseline, and blocked runtime families. It is evidence
driven: the default report is `ready: false` until the caller supplies observed
gate output such as `project_release_gate=ok` or explicit gate results.
`createProjectReleaseGateManifest()` returns the required release gate IDs,
commands, expected smoke outputs, and gate count for CI dashboards and external
SDK callers. `createProjectReleaseReadinessReport()` returns a
machine-readable release readiness report that embeds the same manifest beside
the current gate results, sim-config inventory baseline, and blocked runtime
families. It is evidence driven: the default report is `ready: false` until the
caller supplies observed gate output such as `project_release_gate=ok` or
explicit gate results.
This helper does not execute shell commands and does not inspect or implement
CNC behavior. It only packages project-level release evidence and blocked
@@ -207,7 +210,9 @@ validates that artifact with
`tests/host/verify_project_release_readiness_artifact.sh`. External tools can
load that JSON with `parseProjectReleaseReadinessArtifactJson()` and validate
it with `createProjectReleaseReadinessArtifactValidation()` without copying the
host test assertions.
host test assertions. The validation result includes `expectedGateCount` and
`expectedGateIds` so external callers can compare an artifact against the
current manifest.
## OPFS/session persistence exports