Files
pikasTech-HWLAB/reports/dev-gate/dev-cloud-workbench-live.json
T
2026-05-23 03:18:25 +00:00

311 lines
10 KiB
JSON

{
"$schema": "https://hwlab.pikastech.local/schemas/dev-gate-report.schema.json",
"$id": "https://hwlab.pikastech.local/reports/dev-gate/dev-cloud-workbench-live.json",
"reportVersion": "v1",
"status": "degraded",
"issue": "pikasTech/HWLAB#7",
"taskId": "dev-cloud-workbench-live",
"commitId": "unknown",
"acceptanceLevel": "dev_cloud_workbench_live",
"devOnly": true,
"prodDisabled": true,
"reportLifecycle": {
"version": "v1",
"state": "active",
"activeEndpoint": "http://74.48.78.17:16667",
"activeBrowserEndpoint": "http://74.48.78.17:16666",
"deprecatedEndpoint": null,
"summary": "Current deployed browser user journey report for the 16666 Cloud Workbench; deployed UI usable in degraded/read-only mode and does not substitute for M3/M4/M5 DEV-LIVE acceptance."
},
"task": "DC-DCSN-P0-2026-003",
"refs": [
"pikasTech/HWLAB#7",
"pikasTech/HWLAB#108",
"pikasTech/HWLAB#99",
"pikasTech/HWLAB#78",
"pikasTech/HWLAB#117",
"pikasTech/HWLAB#118",
"pikasTech/HWLAB#119",
"pikasTech/HWLAB#120",
"pikasTech/HWLAB#131",
"pikasTech/HWLAB#164"
],
"mode": "live",
"url": "http://74.48.78.17:16666/",
"generatedAt": "2026-05-22T18:11:35.955Z",
"evidenceLevel": "DEV-LIVE-BROWSER-DEGRADED",
"devLive": false,
"sourceIdentity": {
"status": "observed",
"source": "git-head",
"commitId": "ee9d60f00b1bc47c1d99b7edb8746623333fe544",
"shortCommitId": "ee9d60f00b1b",
"ref": "test/deployed-workbench-journey-evidence",
"worktreeState": "dirty",
"dirty": true,
"reportCommitId": "unknown",
"summary": "Source HEAD was observed, but the worktree was not cleanly attributable when the report was generated; top-level commitId is unknown rather than pretending to identify uncommitted source."
},
"runtimeIdentity": {
"status": "observed",
"source": "health-live",
"endpoint": "http://74.48.78.17:16667/health/live",
"serviceId": "hwlab-cloud-api",
"environment": "dev",
"healthStatus": "degraded",
"ready": false,
"commitId": "c7de474",
"commitSource": "runtime-env",
"imageTag": "c7de474",
"observedAt": "2026-05-22T18:11:24.844Z",
"runtime": {
"durable": false,
"ready": false,
"status": "degraded",
"blocker": "runtime_durable_adapter_query_blocked",
"connection": {
"queryAttempted": true,
"queryResult": "query_blocked"
}
},
"readiness": {
"ready": false,
"status": "degraded",
"durability": {
"ready": false,
"status": "blocked",
"blocker": "runtime_durable_adapter_query_blocked",
"blockedLayer": "durability_query",
"queryResult": "query_blocked"
}
},
"blockerCodes": [
"runtime_durable_adapter_query_blocked"
],
"summary": "Live runtime identity was observed through the existing read-only health endpoint and is not inferred from source git HEAD."
},
"sourceContract": {
"status": "pass",
"documents": [
"docs/cloud-web-workbench.md",
"docs/reference/cloud-workbench.md",
"docs/reference/code-agent-chat-readiness.md"
],
"summary": "The deployed browser journey is anchored to the Cloud Workbench and Code Agent readiness contracts."
},
"validationCommands": [
"node --check scripts/dev-cloud-workbench-smoke.mjs",
"node --check scripts/src/dev-cloud-workbench-smoke-lib.mjs",
"node scripts/dev-cloud-workbench-smoke.mjs --static",
"node scripts/dev-cloud-workbench-smoke.mjs --live --url http://74.48.78.17:16666/ --report reports/dev-gate/dev-cloud-workbench-live.json",
"node scripts/validate-dev-gate-report.mjs reports/dev-gate/dev-cloud-workbench-live.json",
"node scripts/validate-dev-gate-report.mjs"
],
"localSmoke": {
"status": "not_run",
"commands": [
"node scripts/dev-cloud-workbench-smoke.mjs --static"
],
"evidence": [
"Static mode verifies the source contract and same-origin Code Agent wiring only."
],
"summary": "Static workbench smoke is SOURCE-level evidence and does not prove the deployed browser journey."
},
"dryRun": {
"status": "not_applicable",
"commands": [
"node scripts/dev-cloud-workbench-smoke.mjs --static"
],
"evidence": [
"No dry-run substitute is accepted for the deployed browser journey."
],
"summary": "The journey evidence is collected from the real DEV browser endpoint, not a dry-run fixture."
},
"devPreconditions": {
"status": "degraded",
"requirements": [
"GET http://74.48.78.17:16666/ serves the Cloud Workbench HTML.",
"Browser DOM exposes the default workbench and core controls.",
"A controlled same-origin POST /v1/agent/chat returns completed UI-visible evidence or reports a blocker.",
"No hardware write API, service restart, PROD access, or secret read is performed."
],
"commands": [
"node scripts/dev-cloud-workbench-smoke.mjs --live --url http://74.48.78.17:16666/ --report reports/dev-gate/dev-cloud-workbench-live.json"
],
"summary": "Deployed UI usable in degraded/read-only mode; API health/runtime durability is degraded, so this is not full DEV-LIVE acceptance."
},
"endpoints": {
"frontend": "http://74.48.78.17:16666",
"api": "http://74.48.78.17:16667",
"edge": "http://74.48.78.17:16667"
},
"checks": [
{
"id": "live-http-html",
"status": "pass",
"summary": "Live URL serves the Cloud Workbench HTML.",
"evidence": [
"http://74.48.78.17:16666/",
"HTTP 200",
"text/html; charset=utf-8"
]
},
{
"id": "live-browser-dom",
"status": "pass",
"summary": "Browser DOM confirms the default workbench, core controls, and outer scroll lock.",
"evidence": [
"title=HWLAB 云工作台",
"bodyOverflow=hidden",
"htmlOverflow=hidden"
],
"observations": {
"title": "HWLAB 云工作台",
"bodyOverflow": "hidden",
"htmlOverflow": "hidden",
"workspaceHidden": false,
"gateHidden": true,
"helpHidden": true,
"outerScrollLocked": true,
"labelsPresent": true,
"coreControlsVisible": {
"commandInput": true,
"commandSend": true,
"agentChatStatus": true,
"conversationList": true,
"hardwareList": true,
"wiringTab": true,
"recordsTab": true
}
}
},
{
"id": "live-api-runtime-readiness",
"status": "degraded",
"summary": "Live API is reachable but degraded/read-only; runtime durability is not ready, so this cannot be full DEV-LIVE acceptance.",
"evidence": [
"api.status=degraded",
"ready=false",
"runtime.durable=false",
"runtime.ready=false",
"durability.ready=false",
"runtime_durable_adapter_query_blocked",
"blocker=runtime_durable_adapter_query_blocked"
],
"observations": {
"status": "degraded",
"healthStatus": "degraded",
"ready": false,
"runtimeDurable": false,
"runtimeReady": false,
"durabilityReady": false,
"durableBlocked": true,
"blockerCodes": [
"runtime_durable_adapter_query_blocked"
],
"evidence": [
"api.status=degraded",
"ready=false",
"runtime.durable=false",
"runtime.ready=false",
"durability.ready=false",
"runtime_durable_adapter_query_blocked",
"blocker=runtime_durable_adapter_query_blocked"
],
"summary": "Live API is reachable but degraded/read-only; runtime durability is not ready, so this cannot be full DEV-LIVE acceptance."
}
},
{
"id": "live-code-agent-browser-journey",
"status": "pass",
"summary": "Deployed browser journey opened the workbench, sent a Code Agent message, and observed a completed UI response.",
"evidence": [
"POST /v1/agent/chat HTTP 200",
"status=completed",
"provider=openai-responses",
"model=gpt-5.5",
"traceId=trc_cloud-web-workbench-1779473490624-11",
"uiStatus=已回复"
],
"observations": {
"controls": {
"appShell": true,
"workspace": true,
"commandInput": true,
"commandSend": true,
"agentChatStatus": true,
"conversationList": true,
"hardwareList": true,
"wiringTab": true,
"recordsTab": true
},
"request": {
"method": "POST",
"status": 200,
"urlPath": "/v1/agent/chat"
},
"response": {
"status": "completed",
"provider": "openai-responses",
"model": "gpt-5.5",
"backend": "hwlab-cloud-api/openai-responses",
"traceId": "trc_cloud-web-workbench-1779473490624-11",
"hasReply": true,
"error": null
},
"ui": {
"title": "HWLAB 云工作台",
"workspaceHidden": false,
"gateHidden": true,
"helpHidden": true,
"agentChatStatus": "已回复",
"inputCleared": true,
"completedMessageVisible": true,
"failedMessageVisible": false,
"messageCount": 4,
"completedMessageHasNonSensitiveMeta": true
},
"networkEvents": [
{
"method": "POST",
"status": 200,
"urlPath": "/v1/agent/chat",
"body": {
"status": "completed",
"provider": "openai-responses",
"model": "gpt-5.5",
"backend": "hwlab-cloud-api/openai-responses",
"traceId": "trc_cloud-web-workbench-1779473490624-11",
"hasReply": true,
"error": null
}
}
]
}
}
],
"blockers": [],
"safety": {
"prodTouched": false,
"servicesRestarted": false,
"heavyE2E": false,
"hardwareWriteApis": false,
"sourceIsDevLive": false,
"liveMode": "browser-user-journey-with-code-agent-post",
"retainedApiFields": [
"status",
"provider",
"model",
"backend",
"traceId",
"hasReply",
"error.code",
"error.missingEnv"
],
"statement": "Live smoke records deployed UI usable in degraded/read-only mode only; API health/runtime durability is degraded, so this is not full DEV-LIVE acceptance and must not be used to infer M3/M4/M5 acceptance."
},
"artifacts": {
"reportPath": "/workspace/hwlab/.worktrees/deployed-workbench-journey-evidence/reports/dev-gate/dev-cloud-workbench-live.json"
}
}