test: add workbench p1 reliability inventory

This commit is contained in:
lyon
2026-06-20 08:25:37 +08:00
parent 7acbc0394b
commit 5a8e6b39e2
3 changed files with 255 additions and 0 deletions
@@ -0,0 +1,103 @@
{
"metadata": {
"captureId": "d601-v03-workbench-p1-long-reliability-redacted-001",
"capturedFrom": {
"node": "D601",
"lane": "HWLAB v0.3",
"origin": "https://hwlab.pikapython.com",
"source": "UniDesk controlled web-probe plus existing redacted Workbench fake-server captures",
"webProbe": {
"command": "bun scripts/cli.ts hwlab nodes web-probe script --node D601 --lane v03",
"scriptSha256": "sha256:5b0537b26266937b84eeebaef23985e1aa7507019ccd30d11dec78228e0d76ed",
"reportPath": "/home/ubuntu/workspace/hwlab-v03/.state/web-probe-script/run.6US9qW/web-probe-script-report.json",
"reportSha256": "sha256:00b6543859599fa416328aee509f2c2a9158a286132e30a2e916045ed501fcd9",
"valuesPrinted": false
}
},
"capturedAt": "2026-06-20T00:24:00.000Z",
"schemaVersion": "workbench-p1-long-reliability-inventory.v1",
"redactionVersion": "metadata-only-redaction.v1",
"derivedFrom": [
"web/hwlab-cloud-web/tests/workbench-e2e/fixtures/real-captures/d601-v03-redacted.json",
"web/hwlab-cloud-web/scripts/workbench-e2e-server.ts#sealed-final-response-diagnostics",
"web/hwlab-cloud-web/scripts/workbench-e2e-server.ts#trace-hydration-timeout-diagnostic",
"web/hwlab-cloud-web/scripts/workbench-e2e-server.ts#projection-degraded-diagnostics",
"web/hwlab-cloud-web/scripts/workbench-e2e-server.ts#projector-resume-from-checkpoint"
],
"valuesPrinted": false,
"notes": [
"This fixture intentionally stores endpoint shape, scenario IDs, and source references only.",
"Session IDs in live evidence are reduced to prefix/shape in issue comments; full values remain in local redacted probe artifacts.",
"No cookie, Authorization header, API key, provider token, DSN, raw prompt, or user secret is stored."
]
},
"liveReadModelShape": {
"finalUrlKind": "workbench-session-route",
"selectedSessionShape": {
"sessionIdPrefix": "ses_79e7",
"status": "idle",
"hasLastTraceId": false
},
"endpoints": [
{
"path": "/auth/session",
"status": 200,
"topLevelKeys": ["authenticated", "authMethod", "identityAuthority", "sessionKind"]
},
{
"path": "/v1/workbench/sessions?limit=5",
"status": 200,
"topLevelKeys": ["ok", "status", "contractVersion", "sessions"]
},
{
"path": "/v1/workbench/sessions/<selected-session>",
"status": 200,
"topLevelKeys": ["ok", "status", "contractVersion", "session"]
},
{
"path": "/v1/workbench/sessions/<selected-session>/messages?limit=100",
"status": 200,
"topLevelKeys": ["ok", "status", "contractVersion", "sessionId"]
}
],
"valuesPrinted": false
},
"redScenarios": [
{
"scenarioId": "sealed-final-response-diagnostics",
"purpose": "completed sealed final response remains visible while trace hydration diagnostics are shown separately",
"covers": ["completed sealed after polling", "trace hydration error does not overwrite main message"]
},
{
"scenarioId": "trace-hydration-timeout-diagnostic",
"purpose": "GET lag or trace hydration timeout surfaces diagnostics instead of terminal/status inference",
"covers": ["projection lag", "diagnostic visibility", "no terminal inference"]
},
{
"scenarioId": "projection-degraded-diagnostics",
"purpose": "AgentRun result lag stays a projection diagnostic and keeps lifecycle running",
"covers": ["projection blocker", "running lifecycle authority"]
},
{
"scenarioId": "projector-resume-from-checkpoint",
"purpose": "future P2/P3 projector catch-up can turn P1 red inventory green without GET repair",
"covers": ["durable checkpoint", "pagination consistency", "no legacy request ledger"]
}
],
"negativeSourceScan": {
"script": "scripts/workbench-long-reliability-p1-inventory.mjs",
"entrypoint": "npm run workbench:p1:inventory -- --json",
"expectedCurrentStatus": "red",
"trackedTerms": [
"resultForTrace",
"traceSnapshot",
"compactSessionTraceResult",
"compactSessionTraceSnapshot",
"status ??",
"finalResponse ?? previous",
"sessionRepair",
"GET handler projection assembly"
],
"valuesPrinted": false
}
}