test: add dev m3 hardware loop smoke
This commit is contained in:
@@ -0,0 +1,159 @@
|
||||
{
|
||||
"$schema": "https://hwlab.pikastech.local/schemas/dev-m3-hardware-loop-report.schema.json",
|
||||
"$id": "https://hwlab.pikastech.local/reports/dev-gate/dev-m3-hardware-loop.json",
|
||||
"reportVersion": "v1",
|
||||
"issue": "pikasTech/HWLAB#38",
|
||||
"taskId": "dev-m3-hardware-loop",
|
||||
"commitId": "1e8d009e9531",
|
||||
"acceptanceLevel": "dev_m3_hardware_loop",
|
||||
"devOnly": true,
|
||||
"prodDisabled": true,
|
||||
"sourceContract": {
|
||||
"status": "pass",
|
||||
"documents": [
|
||||
"docs/dev-acceptance-matrix.md",
|
||||
"docs/m3-hardware-loop.md",
|
||||
"fixtures/mvp/m3-hardware-loop/topology.json"
|
||||
],
|
||||
"summary": "Source contracts define DEV-only M3 simulator wiring and prohibit fixture output as live evidence."
|
||||
},
|
||||
"validationCommands": [
|
||||
"node --check scripts/dev-m3-hardware-loop-smoke.mjs",
|
||||
"node scripts/dev-m3-hardware-loop-smoke.mjs --live --confirm-dev --confirmed-non-production",
|
||||
"node --check scripts/validate-dev-gate-report.mjs",
|
||||
"node scripts/validate-dev-gate-report.mjs"
|
||||
],
|
||||
"runtimeTarget": {
|
||||
"endpoint": "http://74.48.78.17:6667",
|
||||
"namespace": "hwlab-dev",
|
||||
"environment": "dev",
|
||||
"requiredBoxSimulators": 2,
|
||||
"requiredGatewaySimulators": 2,
|
||||
"realHardwareAllowed": false,
|
||||
"prodAllowed": false
|
||||
},
|
||||
"safetyGates": {
|
||||
"liveFlagRequired": true,
|
||||
"confirmDevRequired": true,
|
||||
"confirmedNonProductionRequired": true,
|
||||
"prodForbidden": true,
|
||||
"realHardwareForbidden": true,
|
||||
"secretReadForbidden": true,
|
||||
"forcePushForbidden": true,
|
||||
"unideskRuntimeSubstitutionForbidden": true
|
||||
},
|
||||
"liveChecks": [
|
||||
{
|
||||
"id": "static-contract-parse",
|
||||
"status": "pass",
|
||||
"summary": "DEV M3 smoke contract files were readable before live probing.",
|
||||
"evidence": [
|
||||
"docs/dev-acceptance-matrix.md",
|
||||
"docs/m3-hardware-loop.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "endpoint-freeze",
|
||||
"status": "pass",
|
||||
"summary": "DEV endpoint is frozen at http://74.48.78.17:6667.",
|
||||
"evidence": [
|
||||
"http://74.48.78.17:6667"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "dev-ingress-health",
|
||||
"status": "blocked",
|
||||
"blockerClass": "network_blocker",
|
||||
"summary": "DEV ingress at http://74.48.78.17:6667 did not return reachable HWLAB DEV health.",
|
||||
"evidence": [
|
||||
"{\"url\":\"http://74.48.78.17:6667/health/live\",\"method\":\"GET\",\"startedAt\":\"2026-05-21T16:38:29.319Z\",\"observedAt\":\"2026-05-21T16:38:33.884Z\",\"reached\":false,\"ok\":false,\"error\":{\"name\":\"Error\",\"message\":\"connect ECONNREFUSED 74.48.78.17:6667\",\"code\":\"ECONNREFUSED\"}}",
|
||||
"{\"url\":\"http://74.48.78.17:6667/health\",\"method\":\"GET\",\"startedAt\":\"2026-05-21T16:38:33.885Z\",\"observedAt\":\"2026-05-21T16:38:36.674Z\",\"reached\":false,\"ok\":false,\"error\":{\"name\":\"Error\",\"message\":\"connect ECONNREFUSED 74.48.78.17:6667\",\"code\":\"ECONNREFUSED\"}}",
|
||||
"{\"url\":\"http://74.48.78.17:6667/live\",\"method\":\"GET\",\"startedAt\":\"2026-05-21T16:38:36.674Z\",\"observedAt\":\"2026-05-21T16:38:39.674Z\",\"reached\":false,\"ok\":false,\"error\":{\"name\":\"Error\",\"message\":\"connect ECONNREFUSED 74.48.78.17:6667\",\"code\":\"ECONNREFUSED\"}}",
|
||||
"{\"url\":\"http://74.48.78.17:6667/v1\",\"method\":\"GET\",\"startedAt\":\"2026-05-21T16:38:39.674Z\",\"observedAt\":\"2026-05-21T16:38:39.835Z\",\"reached\":false,\"ok\":false,\"error\":{\"name\":\"Error\",\"message\":\"connect ECONNREFUSED 74.48.78.17:6667\",\"code\":\"ECONNREFUSED\"}}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "two-box-simu-online",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "two-gateway-simu-online",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "patch-panel-healthy",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "wiring-do1-di1-applied",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "direct-call-do-write-di-read",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "audit-evidence-traceable",
|
||||
"status": "not_run",
|
||||
"summary": "Stopped at DEV ingress per the DEV smoke matrix.",
|
||||
"evidence": [
|
||||
"No live DEV evidence collected for this check."
|
||||
]
|
||||
}
|
||||
],
|
||||
"localRuntimeObservations": [
|
||||
{
|
||||
"id": "docker-hwlab-containers",
|
||||
"status": "not_observed",
|
||||
"command": "docker ps --format {{.Names}}\t{{.Image}}\t{{.Status}}\t{{.Ports}}",
|
||||
"summary": "No running docker container name/image/port line contained hwlab-."
|
||||
},
|
||||
{
|
||||
"id": "kubectl-hwlab-dev",
|
||||
"status": "unavailable",
|
||||
"command": "command -v kubectl",
|
||||
"summary": "kubectl is not available in this runner, so hwlab-dev namespace state was not observed."
|
||||
}
|
||||
],
|
||||
"liveOperation": {
|
||||
"status": "not_run",
|
||||
"operationId": "not_observed",
|
||||
"traceId": "not_observed",
|
||||
"auditId": "not_observed",
|
||||
"evidenceId": "not_observed",
|
||||
"summary": "No live do.write -> di.read operation was attempted because DEV ingress is blocked."
|
||||
},
|
||||
"blockers": [
|
||||
{
|
||||
"type": "network_blocker",
|
||||
"scope": "dev-ingress-health",
|
||||
"status": "open",
|
||||
"summary": "Blocked at the #33 DEV runtime readiness condition: public DEV ingress does not accept HWLAB health requests, so #36/M3 hardware-loop checks were not reached."
|
||||
}
|
||||
],
|
||||
"summary": {
|
||||
"status": "blocked",
|
||||
"observedAt": "2026-05-21T16:38:29.315Z",
|
||||
"result": "No live DEV M3 evidence was produced; fixture-backed local evidence was not used as a substitute."
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user