Files
ai-video-fullstack/implement-stage/task-backends/frontend-smoke.json
T

177 lines
6.3 KiB
JSON
Raw Normal View History

{
"status": "passed_with_limitations",
"method": "Headless Google Chrome via temporary Playwright Core; built Next frontend at localhost:3217",
"mock_boundary": "Every /api request intercepted with explicit in-memory fixtures; non-local requests aborted. No backend, real model, OpenCode, database or real credentials contacted.",
"prior_attempts": [
{
"outcome": "Reasoner and OpenCode saves passed; narrow resource row edit was obstructed with existing expanded sidebar at390px. Repeated using existing sidebar collapse control; no application code changed."
}
],
"fixtures": {
"models": [
"UI Strong Model: supportsReasoningEffort=true",
"UI Basic Model: supportsReasoningEffort=false"
],
"tools": [
"UI HTTP Tool",
"UI Client Tool (must be excluded from Reasoner picker)"
]
},
"steps": [
{
"name": "Render dedicated resources page and open Reasoner form",
"status": "passed",
"details": {
"desktop_layout": {
"viewport": 1440,
"width": 751.712158203125,
"left": 344.1438903808594,
"right": 1095.8560485839844,
"scrollWidth": 768,
"clientWidth": 768,
"horizontalOverflow": false,
"outsideViewport": false
}
}
},
{
"name": "Configure Reasoner model, high effort, inline skill and server-only tool",
"status": "passed",
"details": {
"captured_payload": {
"name": "UI Reasoner Smoke",
"description": "",
"enabled": true,
"type": "reasoner",
"secrets": {},
"config": {
"instructions": "",
"timeoutSeconds": 600,
"maxConcurrency": 1,
"modelResourceId": "ui_model_strong",
"reasoningEffort": "high",
"toolBindings": [
{
"toolId": "ui_http",
"argumentBindings": {
"query": {
"source": "model"
}
},
"templateBindings": {},
"resultAssignments": {}
}
],
"skills": [
{
"name": "UI Analysis",
"content": "Analyze constraints before proposing a result."
}
]
}
}
}
},
{
"name": "Edit preserves Reasoner values; unsupported model disables nondefault effort",
"status": "passed"
},
{
"name": "Configure OpenCode connection, agent, paired model and remote skill note",
"status": "passed",
"details": {
"captured_payload": {
"name": "UI OpenCode Smoke",
"description": "",
"enabled": true,
"type": "opencode",
"secrets": {
"password": "<fake fixture credential>"
},
"config": {
"instructions": "",
"timeoutSeconds": 600,
"maxConcurrency": 1,
"url": "http://127.0.0.1:9",
"directory": "/test-fixture/repo",
"username": "opencode",
"agent": "build",
"modelProviderId": "ui-provider",
"modelId": "ui-model",
"skillsNote": "Installed remotely; fixture note only."
}
}
}
},
{
"name": "Responsive resource page and OpenCode modal fit a 390px viewport",
"status": "passed",
"details": {
"page_layout": {
"viewport": 390,
"width": 390,
"left": 0,
"right": 390,
"scrollWidth": 390,
"clientWidth": 390,
"horizontalOverflow": false,
"outsideViewport": false
},
"dialog_layout": {
"viewport": 390,
"width": 340.0999755859375,
"left": 24.950002670288086,
"right": 365.0499782562256,
"scrollWidth": 358,
"clientWidth": 358,
"horizontalOverflow": false,
"outsideViewport": false
}
}
},
{
"name": "Prompt binds backend independently and sends taskBackend without ToolBinding",
"status": "passed",
"details": {
"captured_task_backend": {
"backendId": "ui_backend_1",
"instructions": "Return clear evidence and limitations.",
"instructionSource": {
"source": "model"
}
},
"ordinary_tool_bindings": []
}
},
{
"name": "Migrated variable instruction source survives fetch/edit/save unchanged",
"status": "incomplete",
"error": "Optional legacy-variable fetch/edit/save follow-up timed out waiting for the task-instruction editor after page reload. Not diagnosed; this browser run does not claim to verify that scenario."
}
],
"console_errors": [],
"page_errors": [],
"unexpected_requests": [],
"captures": [
"/private/tmp/ai-video-browser-smoke/reasoner-desktop.png",
"/private/tmp/ai-video-browser-smoke/opencode-desktop.png",
"/private/tmp/ai-video-browser-smoke/expanded-sidebar-mobile-limitation.png",
"/private/tmp/ai-video-browser-smoke/opencode-mobile.png",
"/private/tmp/ai-video-browser-smoke/prompt-binding-desktop.png"
],
"limitations": [
"Browser smoke verifies rendered client behavior and request payloads against mocked APIs, not backend validation or genuine model/coding execution.",
"No microphone/WebRTC connection was started.",
"Responsive checks cover new resource page/dialog with the existing sidebar manually collapsed. Existing AppShell does not auto-collapse its252px sidebar on resize; the expanded sidebar obstructed row edit at390px.",
"Optional migrated variable instructionSource reload was not verified in this browser run; no backend or migration behavior is inferred from it.",
"Screenshots are diagnostic captures; mobile capture occurred during modal transition. Geometry checks, not pixel comparison, established the responsive result."
],
"completed_at": "2026-10-24T01:25:20.247Z",
"acceptance": "Core frontend browser smoke passed against explicitly mocked APIs; optional legacy variable reload remains unverified.",
"cleanup": {
"temporary_browser_closed": true,
"local_next_server_stopped": true,
"project_dependencies_changed": false
}
}