mirror of
https://github.com/garrytan/gstack.git
synced 2026-10-02 17:40:02 +02:00
* feat: add surface-aware exploratory QA and ship documentation gates * test: preserve delegated QA setup authority after main integration * fix(qa): clarify exploration order and preserve report artifacts * test(qa): follow the shared setup reference directly * refactor(ship): make verification and recovery routes explicit * test(ship): align evidence and review guards with explicit routes * fix(workflows): clarify ship recovery and functional QA evidence * fix(workflows): clarify approval recovery and full QA coverage * refactor(workflows): order review transactions and clarify ship state * fix(ship): clarify final verification and fail closed at publication * fix(evals): attribute native atomic documentation writes * fix(ship): clarify recovery and documentation lifecycle guidance * fix(test): preserve observed native placeholder styling in CI * fix(codex): report watchdog timeouts without a process-exit race * Checkpoint functional QA implementation and workflow validation repairs * Fix documentation and shared-review fixture contracts * docs: clarify judge reuse and evaluation supervision * test: align review evidence and selected case contracts * test: verify append-only documentation checkpoints and recovery * fix: qualify QA workflows and CI validation repairs * fix: launch shared-libs fixture scripts on Windows * fix: qualify QA deadlines, fixture isolation, and shard cleanup * fix: preserve qualified QA and cancellation repairs * fix: enforce functional fixture authority and share strict event decoding * fix: retain free-test evidence and explain recovery * fix: reject malformed native evidence after decoder consolidation * test: use reliable capture for telemetry privacy filters * test: refresh measured quick coverage and document validation costs * Fix native fixture receipts and preserve VM validation evidence * Align negative judge controls with upstream clarity policy * Fix report-only QA preparation and public evidence handling * Clarify QA-only preparation and current-report preservation * Stream Ship quality judgments with an explicit 64k response contract * Validate compact judge reasoning locally with supported wire schema * Align functional QA fixture instructions with evidence acceptance * Bind native browser diagnostics to execution evidence and align review verdicts * Preserve native diagnostic line boundaries * Serialize functional QA evidence from native captures * Keep large QA evidence fixture payload out of Windows argv
120 lines
4.7 KiB
JSON
120 lines
4.7 KiB
JSON
{
|
|
"source": "R70 qa-only-no-fix public collector",
|
|
"sourceSha256": "65a1ae6341e7fb8adca775e42a70f56019ef94bc0f4e5e391dea50a51e3c6a3f",
|
|
"sourceEventIndices": [461, 465, 546, 550, 1041, 1045, 1965, 1969],
|
|
"sanitization": [
|
|
"Omitted unrelated events and message metadata; retained original tool IDs, parent scopes and ordering.",
|
|
"Replaced fixture and trusted guard paths with placeholders.",
|
|
"Retained the report heading only, baseline deadline receipts only, and the original image result shape with image bytes omitted."
|
|
],
|
|
"events": [
|
|
{
|
|
"type": "assistant",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"type": "tool_use",
|
|
"id": "toolu_017EfMv9HXaRkGcbs27CpH9t",
|
|
"name": "Bash",
|
|
"input": {
|
|
"command": "bun '__QA_GUARD__' start '__QA_FIXTURE__/qa-reports/deadline.json' 30",
|
|
"description": "Start 30-second QA deadline guard"
|
|
},
|
|
"caller": { "type": "direct" }
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "user",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"tool_use_id": "toolu_017EfMv9HXaRkGcbs27CpH9t",
|
|
"type": "tool_result",
|
|
"content": "QA_DEADLINE {\"guard\":\"qa-deadline\",\"event\":\"start\",\"version\":1,\"startedAt\":\"2026-09-27T17:16:18.282Z\",\"deadlineAt\":\"2026-09-27T17:16:48.282Z\",\"budgetMs\":30000,\"observedAt\":\"2026-09-27T17:16:18.284Z\",\"remainingMs\":29998,\"expired\":false}",
|
|
"is_error": false
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "assistant",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"type": "tool_use",
|
|
"id": "toolu_01DfXCfuJQVM11KqRY7AgaqV",
|
|
"name": "Bash",
|
|
"input": {
|
|
"command": "bun '__QA_GUARD__' run '__QA_FIXTURE__/qa-reports/deadline.json' -- bash -c 'B=\"/workspace/gstack/browse/dist/browse\"; \"$B\" goto http://127.0.0.1:38155/qa-eval.html; echo \"URL=$(\"$B\" js \"location.href\")\"; \"$B\" snapshot -i; \"$B\" screenshot __QA_FIXTURE__/qa-reports/screenshots/initial.jpg; echo \"CONSOLE_ERRORS_START\"; \"$B\" console --errors; echo \"CONSOLE_ERRORS_END\"; echo \"TEXT_START\"; \"$B\" text; echo \"TEXT_END\"; echo \"LINKS_START\"; \"$B\" links; echo \"LINKS_END\"'",
|
|
"description": "Guarded baseline: load page, snapshot, screenshot, console, text, links"
|
|
},
|
|
"caller": { "type": "direct" }
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "user",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"tool_use_id": "toolu_01DfXCfuJQVM11KqRY7AgaqV",
|
|
"type": "tool_result",
|
|
"content": "QA_DEADLINE {\"guard\":\"qa-deadline\",\"event\":\"started\",\"version\":1,\"startedAt\":\"2026-09-27T17:16:18.282Z\",\"deadlineAt\":\"2026-09-27T17:16:48.282Z\",\"budgetMs\":30000,\"observedAt\":\"2026-09-27T17:16:25.503Z\",\"remainingMs\":22779,\"expired\":false}\nQA_DEADLINE {\"guard\":\"qa-deadline\",\"event\":\"finished\",\"observedAt\":\"2026-09-27T17:16:26.943Z\",\"deadlineAt\":\"2026-09-27T17:16:48.282Z\",\"timedOut\":false,\"exitCode\":0}",
|
|
"is_error": false
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "assistant",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"type": "tool_use",
|
|
"id": "toolu_019dQfjroHvjD4WpY6ZnrYT9",
|
|
"name": "Read",
|
|
"input": { "file_path": "__QA_FIXTURE__/qa-reports/screenshots/initial.jpg" },
|
|
"caller": { "type": "direct" }
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "user",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"tool_use_id": "toolu_019dQfjroHvjD4WpY6ZnrYT9",
|
|
"type": "tool_result",
|
|
"content": [{ "type": "image", "source": { "type": "base64", "data": "[image bytes omitted]", "media_type": "image/jpeg" } }]
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "assistant",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"type": "tool_use",
|
|
"id": "toolu_012Hh13Uv8AxNNEduMHyjq6h",
|
|
"name": "Write",
|
|
"input": {
|
|
"file_path": "__QA_FIXTURE__/qa-reports/qa-only-report.md",
|
|
"content": "# QA Report: Widget Dashboard (qa-eval.html)\n"
|
|
},
|
|
"caller": { "type": "direct" }
|
|
}]
|
|
}
|
|
},
|
|
{
|
|
"type": "user",
|
|
"parent_tool_use_id": null,
|
|
"message": {
|
|
"content": [{
|
|
"tool_use_id": "toolu_012Hh13Uv8AxNNEduMHyjq6h",
|
|
"type": "tool_result",
|
|
"content": "File created successfully at: __QA_FIXTURE__/qa-reports/qa-only-report.md (file state is current in your context — no need to Read it back)"
|
|
}]
|
|
}
|
|
}
|
|
]
|
|
}
|