Files
pikasTech-HWLAB/reports/dev-gate/dev-artifacts.json
T
2026-05-21 16:44:49 +00:00

283 lines
12 KiB
JSON

{
"$schema": "https://hwlab.pikastech.local/schemas/dev-artifact-publish.schema.json",
"$id": "https://hwlab.pikastech.local/reports/dev-gate/dev-artifacts.json",
"reportVersion": "v1",
"issue": "pikasTech/HWLAB#31",
"taskId": "dev-artifact-publish",
"commitId": "1e8d009",
"acceptanceLevel": "dev_artifact_publish",
"devOnly": true,
"prodDisabled": true,
"sourceContract": {
"status": "pass",
"documents": [
"docs/dev-acceptance-matrix.md",
"docs/m0-contract-audit.md",
"docs/artifact-catalog.md",
"docs/dev-artifact-publish.md"
],
"summary": "DEV artifact publish evidence for pikasTech/HWLAB#35, stored in the DEV gate report envelope."
},
"validationCommands": [
"node --check scripts/dev-artifact-publish.mjs",
"node scripts/dev-artifact-publish.mjs --preflight --no-report",
"node --check scripts/validate-dev-gate-report.mjs",
"node scripts/validate-dev-gate-report.mjs"
],
"localSmoke": {
"status": "not_run",
"commands": [
"node scripts/m1-contract-smoke.mjs"
],
"evidence": [
"This report records artifact build/publish state only; local smoke remains a separate gate."
],
"summary": "Local smoke is not implied by artifact publication."
},
"dryRun": {
"status": "not_run",
"commands": [
"node tools/hwlab-cli/bin/hwlab-cli.mjs test e2e --env dev --mvp --dry-run"
],
"evidence": [
"This report records DEV artifact build/publish state only; deployment dry-run remains separate."
],
"summary": "DEV deploy dry-run is not implied by artifact publication."
},
"devPreconditions": {
"status": "pass",
"requirements": [
"Registry prefix is localhost or private/internal only.",
"Environment remains dev and namespace remains hwlab-dev.",
"PROD profile remains disabled.",
"No secret or token material is required by this workflow."
],
"summary": "Fatal DEV-only artifact preconditions passed."
},
"blockers": [
{
"type": "runtime_blocker",
"scope": "hwlab-router",
"status": "open",
"summary": "hwlab-router has no cmd/hwlab-router/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation."
},
{
"type": "runtime_blocker",
"scope": "hwlab-tunnel-client",
"status": "open",
"summary": "hwlab-tunnel-client has no cmd/hwlab-tunnel-client/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation."
},
{
"type": "runtime_blocker",
"scope": "hwlab-edge-proxy",
"status": "open",
"summary": "hwlab-edge-proxy has no cmd/hwlab-edge-proxy/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation."
},
{
"type": "runtime_blocker",
"scope": "hwlab-cli",
"status": "open",
"summary": "tools/hwlab-cli declares bin/hwlab-cli.mjs but the bin file is absent; a health-only placeholder image was not built as a real CLI artifact."
}
],
"artifactPublish": {
"issue": "pikasTech/HWLAB#35",
"status": "blocked",
"mode": "publish",
"repo": "pikasTech/HWLAB",
"sourceCommitId": "1e8d009e9531d71cef0762998663b4e3731032c6",
"registryPrefix": "127.0.0.1:5000/hwlab",
"baseImage": "node:22-bookworm-slim",
"environment": "dev",
"serviceCount": 13,
"builtCount": 9,
"publishedCount": 9,
"generatedAt": "2026-05-21T16:39:23.804Z",
"services": [
{
"serviceId": "hwlab-cloud-api",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-api:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:daa3e09996209242ae409f21802757cfab20fe80adfdcc729dc7144a0758a067",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-api@sha256:daa3e09996209242ae409f21802757cfab20fe80adfdcc729dc7144a0758a067",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-cloud-api/main.mjs",
"localImageId": "sha256:cfa8de38b9113365764a2a7dffb8732e7049d77ba83329eb5f7f29167dfa13e9"
},
{
"serviceId": "hwlab-cloud-web",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-cloud-web:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:267de8af9ef4ff2bc60e197ca37f266ab49e75d49cce91909dda64715d47c0c8",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-cloud-web@sha256:267de8af9ef4ff2bc60e197ca37f266ab49e75d49cce91909dda64715d47c0c8",
"runtimeKind": "cloud-web",
"implementationState": "static-web-wrapper",
"entrypoint": "web/hwlab-cloud-web/index.html",
"localImageId": "sha256:d4bd2ef29fda976ad162092cd95197e130a7ade811aa11784b8396c0ef979884"
},
{
"serviceId": "hwlab-agent-mgr",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-agent-mgr:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:12510042c5ab96419b4eafa52314ad58e17e1d1c5a0fbebe4cb6cd50e8935a5a",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-mgr@sha256:12510042c5ab96419b4eafa52314ad58e17e1d1c5a0fbebe4cb6cd50e8935a5a",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-agent-mgr/main.mjs",
"localImageId": "sha256:58ac216ee9faee27e1bcb569d5ce36166d8344aab24c7e4ab69781ef4356e70d"
},
{
"serviceId": "hwlab-agent-worker",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-agent-worker:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:1cbfd4840ca567539f5eab5df2e301b4c1e263555b1a1f160900996bc6895c07",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-worker@sha256:1cbfd4840ca567539f5eab5df2e301b4c1e263555b1a1f160900996bc6895c07",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-agent-worker/main.mjs",
"localImageId": "sha256:44fad5f75ce63c82e052827c4536be1c70b08a48d8962da78094a29a6822070e"
},
{
"serviceId": "hwlab-gateway",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-gateway:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:b6e6213e03773539ab21691bdee973338e270cf639b1deccb8c6d904278a43d8",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway@sha256:b6e6213e03773539ab21691bdee973338e270cf639b1deccb8c6d904278a43d8",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-gateway/main.mjs",
"localImageId": "sha256:ea0301dd293a71de84642b1d21682e8575219e08c221ccfb637bef7a1ce39c52"
},
{
"serviceId": "hwlab-gateway-simu",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-gateway-simu:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:8d54ea760cdad2a418660e7d6293ae493d86b2173db0ec0be00ad49d63bb7aaf",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-gateway-simu@sha256:8d54ea760cdad2a418660e7d6293ae493d86b2173db0ec0be00ad49d63bb7aaf",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-gateway-simu/main.mjs",
"localImageId": "sha256:38736ba8ca348d8c7527a94378b509be879ce338f36596be91f756c88a78ff96"
},
{
"serviceId": "hwlab-box-simu",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-box-simu:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:e18223e56d7b443dd0d5b3bccbd1ebc7964ef188c39d85750c1d82659634d861",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-box-simu@sha256:e18223e56d7b443dd0d5b3bccbd1ebc7964ef188c39d85750c1d82659634d861",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-box-simu/main.mjs",
"localImageId": "sha256:7e9db37e7ad184c8fea659675385dc5dc1078c29e4108cf9e605495699570c8c"
},
{
"serviceId": "hwlab-patch-panel",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-patch-panel:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:2cbf98f534cd31f86df9d656f40fb883bf40582dae4a4b3615c8c0db187d85fc",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-patch-panel@sha256:2cbf98f534cd31f86df9d656f40fb883bf40582dae4a4b3615c8c0db187d85fc",
"runtimeKind": "node-command",
"implementationState": "repo-entrypoint",
"entrypoint": "cmd/hwlab-patch-panel/main.mjs",
"localImageId": "sha256:b7d11cf5683a3fc1a54029ecfd13bbf05353a33b2038ffa8a968f596c54bc864"
},
{
"serviceId": "hwlab-router",
"status": "blocked_missing_runtime",
"image": "127.0.0.1:5000/hwlab/hwlab-router:1e8d009",
"imageTag": "1e8d009",
"digest": "not_published",
"repositoryDigest": null,
"runtimeKind": "health-placeholder",
"implementationState": "missing-runtime-entrypoint",
"entrypoint": null
},
{
"serviceId": "hwlab-tunnel-client",
"status": "blocked_missing_runtime",
"image": "127.0.0.1:5000/hwlab/hwlab-tunnel-client:1e8d009",
"imageTag": "1e8d009",
"digest": "not_published",
"repositoryDigest": null,
"runtimeKind": "health-placeholder",
"implementationState": "missing-runtime-entrypoint",
"entrypoint": null
},
{
"serviceId": "hwlab-edge-proxy",
"status": "blocked_missing_runtime",
"image": "127.0.0.1:5000/hwlab/hwlab-edge-proxy:1e8d009",
"imageTag": "1e8d009",
"digest": "not_published",
"repositoryDigest": null,
"runtimeKind": "health-placeholder",
"implementationState": "missing-runtime-entrypoint",
"entrypoint": null
},
{
"serviceId": "hwlab-cli",
"status": "blocked_missing_runtime",
"image": "127.0.0.1:5000/hwlab/hwlab-cli:1e8d009",
"imageTag": "1e8d009",
"digest": "not_published",
"repositoryDigest": null,
"runtimeKind": "cli",
"implementationState": "library-only",
"entrypoint": "tools/hwlab-cli/lib/cli.mjs"
},
{
"serviceId": "hwlab-agent-skills",
"status": "published",
"image": "127.0.0.1:5000/hwlab/hwlab-agent-skills:1e8d009",
"imageTag": "1e8d009",
"digest": "sha256:46c3c8e24c3f696931599e40c21c66de98f1caf431a992f0a02e19dde67529b2",
"repositoryDigest": "127.0.0.1:5000/hwlab/hwlab-agent-skills@sha256:46c3c8e24c3f696931599e40c21c66de98f1caf431a992f0a02e19dde67529b2",
"runtimeKind": "skills-bundle",
"implementationState": "repo-bundle",
"entrypoint": "skills/hwlab-agent-runtime/SKILL.md",
"localImageId": "sha256:33d64850cc7dd4b86ca136ba7b8d6ff79cdffab1d30f2c90cd16693976739050"
}
],
"blockers": [
{
"type": "runtime_blocker",
"scope": "hwlab-router",
"status": "open",
"summary": "hwlab-router has no cmd/hwlab-router/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation.",
"next": "Add cmd/hwlab-router/main.mjs or a dedicated Dockerfile for hwlab-router."
},
{
"type": "runtime_blocker",
"scope": "hwlab-tunnel-client",
"status": "open",
"summary": "hwlab-tunnel-client has no cmd/hwlab-tunnel-client/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation.",
"next": "Add cmd/hwlab-tunnel-client/main.mjs or a dedicated Dockerfile for hwlab-tunnel-client."
},
{
"type": "runtime_blocker",
"scope": "hwlab-edge-proxy",
"status": "open",
"summary": "hwlab-edge-proxy has no cmd/hwlab-edge-proxy/main.mjs runtime entrypoint; a health-only placeholder image was not built as a real implementation.",
"next": "Add cmd/hwlab-edge-proxy/main.mjs or a dedicated Dockerfile for hwlab-edge-proxy."
},
{
"type": "runtime_blocker",
"scope": "hwlab-cli",
"status": "open",
"summary": "tools/hwlab-cli declares bin/hwlab-cli.mjs but the bin file is absent; a health-only placeholder image was not built as a real CLI artifact.",
"next": "Add tools/hwlab-cli/bin/hwlab-cli.mjs that calls tools/hwlab-cli/lib/cli.mjs."
}
]
},
"notes": "DEV-only artifact report. Do not treat runtime placeholder images as real service implementations."
}