226 lines
7.5 KiB
JSON
226 lines
7.5 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": "pass",
|
|
"issue": "pikasTech/HWLAB#7",
|
|
"taskId": "dev-cloud-workbench-live",
|
|
"commitId": "ab252f5",
|
|
"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; it does not substitute for M3/M4/M5 hardware 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-22T17:52:04.341Z",
|
|
"evidenceLevel": "DEV-LIVE-BROWSER",
|
|
"devLive": true,
|
|
"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": "pass",
|
|
"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 16666 browser journey and same-origin Code Agent chat completed."
|
|
},
|
|
"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-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-1779472320347-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-1779472320347-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-1779472320347-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 opens the deployed workbench and sends one controlled Code Agent message; it does not call hardware write APIs and must not be used to infer M3 DEV-LIVE hardware-loop acceptance."
|
|
},
|
|
"artifacts": {
|
|
"reportPath": "/workspace/hwlab/.worktrees/deployed-workbench-journey-evidence/reports/dev-gate/dev-cloud-workbench-live.json"
|
|
}
|
|
}
|