Files
pikasTech-HWLAB/reports/dev-gate/dev-mvp-gate-report.json
T
Lyon 357a68bb95 fix: layer dev DB readiness evidence
Refs #49

Merged by commander after reviewing Code Queue task codex_1779422762669_1. Adds redacted DB readiness layering and refreshes DEV endpoint/report evidence. Follow-up: deploy/verify the new readiness probe in DEV via standard image CI/CD.
2026-05-22 12:27:01 +08:00

198 lines
8.2 KiB
JSON

{
"$schema": "https://hwlab.pikastech.local/schemas/dev-gate-report.schema.json",
"$id": "https://hwlab.pikastech.local/reports/dev-gate/dev-mvp-gate-report.json",
"reportVersion": "v1",
"issue": "pikasTech/HWLAB#39",
"taskId": "dev-mvp-gate-report",
"commitId": "6eb4c199b0c63cca7fd68fc3306f7a9cbe4323ea",
"acceptanceLevel": "dev_mvp_gate",
"devOnly": true,
"prodDisabled": true,
"gateStatus": "blocked",
"sourceContract": {
"status": "pass",
"documents": [
"docs/dev-gate-report.md",
"docs/dev-acceptance-matrix.md",
"docs/m0-contract-audit.md",
"docs/m1-local-smoke.md",
"docs/m2-dev-deploy-smoke.md",
"docs/m3-hardware-loop.md",
"docs/m4-agent-loop.md",
"docs/m5-mvp-e2e.md",
"docs/runtime-boundary-guard.md",
"docs/topology-constraints.md",
"docs/artifact-catalog.md",
"docs/schema-drift-map.md",
"protocol/README.md",
"protocol/audit.md",
"protocol/evidence-chain.md",
"protocol/mvp-e2e-contract.md"
],
"summary": "The DEV gate is anchored to the frozen matrix, gate contract, and M0-M5 milestone docs on origin/main."
},
"validationCommands": [
"node --check scripts/validate-dev-gate-report.mjs",
"node scripts/validate-dev-gate-report.mjs"
],
"localSmoke": {
"status": "pass",
"commands": [
"node scripts/validate-contract.mjs",
"node scripts/validate-m0-contract.mjs",
"node scripts/validate-artifact-catalog.mjs",
"node scripts/validate-runtime-boundary.mjs",
"node scripts/validate-schema-drift-map.mjs",
"node scripts/validate-evidence-chain.mjs",
"node scripts/m1-contract-smoke.mjs",
"node scripts/m2-dev-deploy-smoke.mjs --dry-run",
"node scripts/m3-hardware-loop-smoke.mjs",
"node scripts/m4-agent-loop-smoke.mjs"
],
"evidence": [
"validated 15 JSON files and 13 service ids",
"validated M0 contract examples: 7 JSON files, 13 service ids",
"validated 13 DEV artifact catalog services at 24eb3bf",
"validated HWLAB runtime boundary guard for 13 services; forbidden substitutes: unidesk-backend, provider-gateway, microservice-proxy",
"validated schema drift map with 59 aligned fields and 12 gaps",
"validated 2 evidence chain fixtures and 2 evidence records",
"[m1-smoke] passed",
"[m2-smoke] validated 11 service contracts",
"[m2-smoke] mode=dry-run endpoint=http://74.48.78.17:16667",
"[m2-smoke] no real DEV/PROD request was made",
"M3 hardware loop smoke passed",
"[m4-smoke] ok m4-agent-automation-loop-local-contract-smoke"
],
"summary": "M0-M4 contract and smoke checks pass locally without contacting the live DEV ingress."
},
"dryRun": {
"status": "pass",
"commands": [
"node tools/hwlab-cli/bin/hwlab-cli.mjs health",
"node tools/hwlab-cli/bin/hwlab-cli.mjs test e2e --env dev --mvp --dry-run",
"node scripts/m5-mvp-e2e-dry-run.mjs"
],
"evidence": [
"hwlab-cli health -> status: ok, environment: dev, endpoint: http://74.48.78.17:16667, projects: 2",
"hwlab-cli dry-run -> 9 steps, 13 artifacts, 14 health contracts, 2 hardware operations, 2 evidence records, 0 network calls",
"M5 MVP E2E dry-run passed: 9 steps, 13 artifacts, 14 health contracts, 2 hardware operations, 2 evidence records, 0 network calls"
],
"summary": "The M5 orchestration dry-run is green, but it remains fixture-only and does not establish a live DEV gate."
},
"devPreconditions": {
"status": "blocked",
"requirements": [
"Obtain a live HTTP 200/JSON health observation from http://74.48.78.17:16667/health and /live",
"Record live route observations for hwlab-edge-proxy, hwlab-tunnel-client, hwlab-router, hwlab-cloud-api/web, hwlab-gateway, hwlab-gateway-simu, hwlab-box-simu, hwlab-patch-panel, hwlab-agent-mgr, hwlab-agent-worker, and hwlab-agent-skills",
"Keep the run DEV-only and avoid PROD, heavy e2e, secrets, restarts, or UniDesk substitution"
],
"commands": [
"curl -fsS --max-time 5 http://74.48.78.17:16667/health",
"curl -fsS --max-time 5 http://74.48.78.17:16667/live"
],
"evidence": [
"curl exit 7 for /health: could not connect to 74.48.78.17 port 6667",
"curl exit 7 for /live: could not connect to 74.48.78.17 port 6667"
],
"summary": "The frozen DEV endpoint is not reachable from this runner, so no live DEV gate can be claimed yet."
},
"blockers": [
{
"type": "network_blocker",
"scope": "devPreconditions",
"status": "open",
"summary": "http://74.48.78.17:16667/health and /live both fail with curl exit 7; live DEV ingress evidence is missing."
}
],
"milestones": [
{
"id": "M0",
"status": "pass",
"commands": [
"node scripts/validate-contract.mjs",
"node scripts/validate-m0-contract.mjs",
"node scripts/validate-artifact-catalog.mjs",
"node scripts/validate-runtime-boundary.mjs",
"node scripts/validate-schema-drift-map.mjs",
"node scripts/validate-evidence-chain.mjs"
],
"evidence": [
"validated 15 JSON files and 13 service ids",
"validated M0 contract examples: 7 JSON files, 13 service ids",
"validated 13 DEV artifact catalog services at 24eb3bf",
"validated HWLAB runtime boundary guard for 13 services; forbidden substitutes: unidesk-backend, provider-gateway, microservice-proxy",
"validated schema drift map with 59 aligned fields and 12 gaps",
"validated 2 evidence chain fixtures and 2 evidence records"
],
"summary": "Frozen contract, artifact, boundary, drift, and evidence fixtures are parseable and aligned to the DEV boundary."
},
{
"id": "M1",
"status": "pass",
"commands": [
"node scripts/m1-contract-smoke.mjs"
],
"evidence": [
"[m1-smoke] ok cloud-api health/live/rpc skeleton",
"[m1-smoke] ok patch-panel/sim status and route skeleton",
"[m1-smoke] ok CLI dry-run fixture parse",
"[m1-smoke] passed"
],
"summary": "The local M1 contract smoke passes."
},
{
"id": "M2",
"status": "pass",
"commands": [
"node scripts/m2-dev-deploy-smoke.mjs --dry-run"
],
"evidence": [
"[m2-smoke] validated 11 service contracts",
"[m2-smoke] mode=dry-run endpoint=http://74.48.78.17:16667",
"[m2-smoke] no real DEV/PROD request was made"
],
"summary": "The deploy smoke remains fixture-only and validates the frozen route phases and artifact metadata."
},
{
"id": "M3",
"status": "pass",
"commands": [
"node scripts/m3-hardware-loop-smoke.mjs"
],
"evidence": [
"M3 hardware loop smoke passed",
"topology: 2 box simulators, 2 gateway simulators, 1 patch panel",
"wiring: box-simu-1 DO1 -> box-simu-2 DI1 via hwlab-patch-panel"
],
"summary": "The local hardware trusted loop smoke passes."
},
{
"id": "M4",
"status": "pass",
"commands": [
"node scripts/m4-agent-loop-smoke.mjs"
],
"evidence": [
"[m4-smoke] ok m4-agent-automation-loop-local-contract-smoke"
],
"summary": "The local agent automation loop smoke passes."
},
{
"id": "M5",
"status": "pass",
"commands": [
"node tools/hwlab-cli/bin/hwlab-cli.mjs health",
"node tools/hwlab-cli/bin/hwlab-cli.mjs test e2e --env dev --mvp --dry-run",
"node scripts/m5-mvp-e2e-dry-run.mjs"
],
"evidence": [
"hwlab-cli health -> status: ok, environment: dev, endpoint: http://74.48.78.17:16667, projects: 2",
"hwlab-cli dry-run -> 9 steps, 13 artifacts, 14 health contracts, 2 hardware operations, 2 evidence records, 0 network calls",
"M5 MVP E2E dry-run passed: 9 steps, 13 artifacts, 14 health contracts, 2 hardware operations, 2 evidence records, 0 network calls"
],
"summary": "The M5 orchestration is green in dry-run mode, but it stays fixture-only and does not claim live DEV readiness."
}
],
"notes": "Blocked gate report. Local contract, smoke, and dry-run checks pass on origin/main, but live DEV ingress is unreachable from this runner."
}