Files
pikasTech-HWLAB/reports/dev-gate/dev-runtime-postflight-report.json
T
2026-05-24 00:31:01 +00:00

468 lines
14 KiB
JSON

{
"issue": "pikasTech/HWLAB#311",
"mode": "dev-live",
"generatedAt": "2026-05-24T00:18:29.459Z",
"target": {
"environment": "dev",
"namespace": "hwlab-dev",
"prodAllowed": false,
"apiHealthUrl": "http://74.48.78.17:16667/health/live",
"apiV1Url": "http://74.48.78.17:16667/v1",
"m3Target": "api"
},
"actions": {
"healthLiveReadAttempted": true,
"v1ReadAttempted": true,
"m3MutationAttempted": true,
"m3MutationAllowed": true
},
"apiHealth": {
"check": "GET /health/live",
"httpStatus": 200,
"reachable": true,
"serviceId": "hwlab-cloud-api",
"environment": "dev",
"status": "ok",
"ready": true,
"runtime": {
"adapter": "postgres",
"durable": true,
"durableRequested": true,
"ready": true,
"status": "ready",
"blocker": null,
"liveRuntimeEvidence": true,
"requiredEvidence": "runtime_adapter_schema_migration_read_query",
"blockedLayer": null,
"gates": {
"ssl": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"auth": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"schema": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"migration": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"durability": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
}
}
},
"runtimeDurableReadiness": {
"status": "ready",
"ready": true,
"classification": "runtime_durable_ready",
"reasonCode": "runtime_durable_ready",
"reason": "runtime durable ready; adapter=postgres; queryResult=durable_readiness_ready",
"impact": "M3 durable postflight may run because runtime persistence readiness is green.",
"safeNextAction": "Continue with repo-owned DEV CD postflight; do not read or print Secret values.",
"retryable": true,
"readonly": false,
"evidence": {
"adapter": "postgres",
"durable": true,
"runtimeReady": true,
"durabilityReady": true,
"liveRuntimeEvidence": true,
"blocker": null,
"blockedLayer": null,
"queryResult": "durable_readiness_ready",
"readyQueryResult": true,
"rawStatus": "ok",
"postgresRequired": true,
"gates": {
"ssl": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"auth": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"schema": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"migration": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"durability": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
}
},
"secretMaterialRead": false
}
},
"db": {
"ready": true,
"connected": true,
"liveDbEvidence": true,
"endpointSource": "secret-url-host",
"connectionResult": "connected",
"endpointRedacted": true,
"valueRedacted": true,
"runtimeReadiness": {
"ready": true,
"status": "ready",
"blocker": null,
"queryResult": "durable_readiness_ready",
"requiredEvidence": "runtime_adapter_schema_migration_read_query"
}
},
"readiness": {
"ready": true,
"status": "ok",
"durabilityReady": true,
"durabilityBlockedLayer": null
},
"blockerCodes": [],
"m3IoControl": null,
"error": null
},
"apiV1": {
"check": "GET /v1",
"httpStatus": 200,
"reachable": true,
"serviceId": "hwlab-cloud-api",
"environment": null,
"status": "ok",
"ready": true,
"runtime": {
"adapter": "postgres",
"durable": true,
"durableRequested": true,
"ready": true,
"status": "ready",
"blocker": null,
"liveRuntimeEvidence": true,
"requiredEvidence": "runtime_adapter_schema_migration_read_query",
"blockedLayer": null,
"gates": {
"ssl": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"auth": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"schema": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"migration": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"durability": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
}
}
},
"runtimeDurableReadiness": {
"status": "ready",
"ready": true,
"classification": "runtime_durable_ready",
"reasonCode": "runtime_durable_ready",
"reason": "runtime durable ready; adapter=postgres; queryResult=durable_readiness_ready",
"impact": "M3 durable postflight may run because runtime persistence readiness is green.",
"safeNextAction": "Continue with repo-owned DEV CD postflight; do not read or print Secret values.",
"retryable": true,
"readonly": false,
"evidence": {
"adapter": "postgres",
"durable": true,
"runtimeReady": true,
"durabilityReady": true,
"liveRuntimeEvidence": true,
"blocker": null,
"blockedLayer": null,
"queryResult": "durable_readiness_ready",
"readyQueryResult": true,
"rawStatus": "ok",
"postgresRequired": true,
"gates": {
"ssl": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"auth": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"schema": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"migration": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
},
"durability": {
"checked": true,
"ready": true,
"status": "ready",
"blocker": null
}
},
"secretMaterialRead": false
}
},
"db": {
"ready": true,
"connected": true,
"liveDbEvidence": true,
"endpointSource": "secret-url-host",
"connectionResult": "connected",
"endpointRedacted": true,
"valueRedacted": true,
"runtimeReadiness": {
"ready": true,
"status": "ready",
"blocker": null,
"queryResult": "durable_readiness_ready",
"requiredEvidence": "runtime_adapter_schema_migration_read_query"
}
},
"readiness": {
"ready": true,
"status": "ok",
"durabilityReady": true,
"durabilityBlockedLayer": null
},
"blockerCodes": [],
"m3IoControl": {
"route": "/v1/m3/io",
"status": "available",
"enabled": true,
"contractVersion": "m3-io-control-v1",
"directFrontendGatewayOrBoxAccess": false,
"genericHardwareRpcExposedToFrontend": false
},
"error": null
},
"m3": {
"mode": "dev-live",
"status": "blocked",
"classification": "source_contract_failed",
"trustedGreen": false,
"result": "SOURCE/static contract failed.",
"operationCount": 4,
"persisted": true,
"persistenceContract": {
"contractVersion": "m3-do1-true-false-persisted-v1",
"requiredRoute": "res_boxsimu_1:DO1 -> hwlab-patch-panel -> res_boxsimu_2:DI1",
"requiredValues": [
true,
true,
false,
false
],
"ready": true,
"sequence": [
{
"id": "write-do1-true",
"action": "do.write",
"expectedValue": true,
"observedValue": true,
"status": "succeeded",
"idsPresent": true,
"valueMatches": true,
"evidenceGreen": true,
"persisted": true
},
{
"id": "read-di1-true",
"action": "di.read",
"expectedValue": true,
"observedValue": true,
"status": "succeeded",
"idsPresent": true,
"valueMatches": true,
"evidenceGreen": true,
"persisted": true
},
{
"id": "write-do1-false",
"action": "do.write",
"expectedValue": false,
"observedValue": false,
"status": "succeeded",
"idsPresent": true,
"valueMatches": true,
"evidenceGreen": true,
"persisted": true
},
{
"id": "read-di1-false",
"action": "di.read",
"expectedValue": false,
"observedValue": false,
"status": "succeeded",
"idsPresent": true,
"valueMatches": true,
"evidenceGreen": true,
"persisted": true
}
]
},
"operations": [
{
"id": "write-do1-true",
"action": "do.write",
"status": "succeeded",
"operationId": "op_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a",
"traceId": "trc_m3_io_e2e_write_do1_true_9d47c939-0464-437a-a2a5-90cff6714434",
"auditId": "aud_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded",
"evidenceId": "evd_m3_do_write_63f8e5ee-3d78-4df2-b54f-d46b0308bd2a_succeeded",
"resultValue": true,
"evidenceState": {
"status": "green",
"durable": true,
"sourceKind": "DEV-LIVE",
"writeStatus": "persisted"
},
"blocker": null
},
{
"id": "read-di1-true",
"action": "di.read",
"status": "succeeded",
"operationId": "op_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd",
"traceId": "trc_m3_io_e2e_read_di1_true_a81f0788-33ab-42e1-a16e-16e2c171db1b",
"auditId": "aud_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded",
"evidenceId": "evd_m3_di_read_73166d40-4572-4f6d-a96e-8e20f07a10dd_succeeded",
"resultValue": true,
"evidenceState": {
"status": "green",
"durable": true,
"sourceKind": "DEV-LIVE",
"writeStatus": "persisted"
},
"blocker": null
},
{
"id": "write-do1-false",
"action": "do.write",
"status": "succeeded",
"operationId": "op_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a",
"traceId": "trc_m3_io_e2e_write_do1_false_9925768c-ca34-4b17-a9fa-344e7103ec97",
"auditId": "aud_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded",
"evidenceId": "evd_m3_do_write_0c0af96e-09e0-4e08-ba3f-b1fdf1d4668a_succeeded",
"resultValue": false,
"evidenceState": {
"status": "green",
"durable": true,
"sourceKind": "DEV-LIVE",
"writeStatus": "persisted"
},
"blocker": null
},
{
"id": "read-di1-false",
"action": "di.read",
"status": "succeeded",
"operationId": "op_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8",
"traceId": "trc_m3_io_e2e_read_di1_false_83b6a1c9-cd8f-402b-bee4-d4c7f3973832",
"auditId": "aud_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded",
"evidenceId": "evd_m3_di_read_f656bcc9-3a3f-4aed-b59b-2d5d2edafff8_succeeded",
"resultValue": false,
"evidenceState": {
"status": "green",
"durable": true,
"sourceKind": "DEV-LIVE",
"writeStatus": "persisted"
},
"blocker": null
}
]
},
"blockers": [
{
"type": "runtime_blocker",
"scope": "m3-durable-postflight",
"status": "open",
"reason": "M3 true/false durable postflight did not produce trusted green persisted evidence.",
"impact": "M3 durable readiness cannot be accepted because trusted evidence is not green.",
"safeNextAction": "Fix the M3 control path or trusted-record persistence and rerun DEV runtime postflight.",
"retryable": true,
"summary": "M3 true/false durable postflight did not produce trusted green persisted evidence. Impact: M3 durable readiness cannot be accepted because trusted evidence is not green. Safe next action: Fix the M3 control path or trusted-record persistence and rerun DEV runtime postflight.",
"sourceIssue": "pikasTech/HWLAB#311",
"evidence": {
"classification": "source_contract_failed",
"trustedGreen": false,
"operationCount": 4
}
}
],
"safety": {
"devOnly": true,
"environment": "dev",
"prodAllowed": false,
"liveHttpReads": true,
"liveM3Writes": true,
"liveM3WritesRequireDurableRuntimeReady": true,
"readsKubernetesSecrets": false,
"writesKubernetesSecrets": false,
"secretValuesPrinted": false,
"dbUrlValueRedacted": true,
"endpointRedacted": true
},
"safetyRefusal": false,
"conclusion": {
"status": "blocked",
"summary": "DEV runtime postflight is blocked; M3 is skipped unless durable runtime readiness is proven first.",
"blockerCount": 1
}
}