66 lines
5.0 KiB
JSON
66 lines
5.0 KiB
JSON
{
|
|
"runId": "run-20260213-deep-e2e",
|
|
"tier": "2c",
|
|
"timestamp": "2026-02-13T21:48:00Z",
|
|
"method": "Playwright MCP browser automation",
|
|
"angularBuild": "development (fresh build, Angular 21 dev mode)",
|
|
"gateway": "stellaops-router-gateway:dev (rebuilt with fresh console-dist volume)",
|
|
"authMethod": "localStorage mock injection + Playwright route interception",
|
|
"summary": {
|
|
"totalRoutesNavigated": 41,
|
|
"uniqueTitlesRendered": 21,
|
|
"redirectedToControlPlane": 14,
|
|
"httpErrors": 2,
|
|
"navigationErrors": 4
|
|
},
|
|
"routesWithUniqueTitles": [
|
|
{ "path": "/", "title": "Control Plane - Stella Ops Dashboard", "screenshot": "04-control-plane-fresh.png", "verdict": "pass" },
|
|
{ "path": "/release-orchestrator", "title": "Release Orchestrator Dashboard - Stella Ops Dashboard", "screenshot": "05-release-orchestrator.png", "verdict": "pass" },
|
|
{ "path": "/releases", "title": "Releases - Stella Ops Dashboard", "screenshot": "06-releases.png", "verdict": "pass" },
|
|
{ "path": "/deployments", "title": "Deployments - Stella Ops Dashboard", "screenshot": "07-deployments.png", "verdict": "pass" },
|
|
{ "path": "/environments", "title": "Environments - Stella Ops Dashboard", "screenshot": "08-environments.png", "verdict": "pass" },
|
|
{ "path": "/approvals", "title": "Approvals - Stella Ops Dashboard", "screenshot": "09-approvals.png", "verdict": "pass" },
|
|
{ "path": "/policy/governance", "title": "Policy - Stella Ops Dashboard", "actualUrl": "/policy/governance/budget", "screenshot": "10-policy-governance.png", "verdict": "pass" },
|
|
{ "path": "/security", "title": "Security Overview - Stella Ops Dashboard", "actualUrl": "/security/overview", "screenshot": "11-security.png", "verdict": "pass" },
|
|
{ "path": "/exceptions", "title": "Exceptions - Stella Ops Dashboard", "screenshot": "12-exceptions.png", "verdict": "pass" },
|
|
{ "path": "/triage", "title": "Triage - Stella Ops Dashboard", "screenshot": "13-triage.png", "verdict": "pass" },
|
|
{ "path": "/findings", "title": "Findings - Stella Ops Dashboard", "screenshot": "14-findings.png", "verdict": "pass" },
|
|
{ "path": "/vulnerabilities", "title": "Vulnerabilities - Stella Ops Dashboard", "screenshot": "15-vulnerabilities.png", "verdict": "pass" },
|
|
{ "path": "/evidence", "title": "Bundles - Stella Ops Dashboard", "actualUrl": "/evidence/bundles", "screenshot": "16-evidence.png", "verdict": "pass" },
|
|
{ "path": "/sbom/diff", "title": "Diff - Stella Ops Dashboard", "screenshot": "17-sbom-diff.png", "verdict": "pass" },
|
|
{ "path": "/risk", "title": "Risk - Stella Ops Dashboard", "screenshot": "18-risk.png", "verdict": "pass" },
|
|
{ "path": "/setup/wizard", "title": "Wizard - Stella Ops Dashboard", "screenshot": "20-setup-wizard.png", "verdict": "pass" },
|
|
{ "path": "/release-orchestrator/runs", "title": "Pipeline Runs - Stella Ops Dashboard", "screenshot": "21-pipeline-runs.png", "verdict": "pass" },
|
|
{ "path": "/release-orchestrator/workflows", "title": "Workflows - Stella Ops Dashboard", "screenshot": "24-workflows.png", "verdict": "pass" },
|
|
{ "path": "/settings", "title": "Settings - Stella Ops Dashboard", "actualUrl": "/settings/integrations", "screenshot": "25-settings.png", "verdict": "pass" },
|
|
{ "path": "/policy/exceptions", "title": "Policy - Stella Ops Dashboard", "screenshot": "27-policy-exceptions.png", "verdict": "pass" },
|
|
{ "path": "/reachability", "title": "Reachability - Stella Ops Dashboard", "screenshot": "41-reachability.png", "verdict": "pass" }
|
|
],
|
|
"routesRedirectedToControlPlane": [
|
|
"/release-orchestrator/agents", "/release-orchestrator/targets",
|
|
"/release-orchestrator/components", "/release-orchestrator/experiments",
|
|
"/release-orchestrator/history", "/release-orchestrator/federation",
|
|
"/compliance", "/crypto", "/advisor", "/air-gap",
|
|
"/onboarding", "/audit", "/admin", "/policy/packs"
|
|
],
|
|
"routesWithHttpErrors": [
|
|
{ "path": "/integrations", "error": "ERR_HTTP_RESPONSE_CODE_FAILURE", "reason": "Gateway nginx proxy catches /integrations/ prefix" },
|
|
{ "path": "/scanner/dashboard", "error": "ERR_HTTP_RESPONSE_CODE_FAILURE", "reason": "Gateway nginx proxy catches /scanner/ prefix" }
|
|
],
|
|
"routesWithNavigationErrors": [
|
|
{ "path": "/sbom/inventory", "error": "Navigation interrupted by redirect" },
|
|
{ "path": "/evidence/verdicts", "error": "Navigation interrupted by redirect" },
|
|
{ "path": "/evidence/attestations", "error": "Navigation interrupted by redirect" },
|
|
{ "path": "/security/advisories", "error": "Navigation interrupted by redirect" }
|
|
],
|
|
"screenshots": [
|
|
"04-control-plane-fresh.png", "05-release-orchestrator.png", "06-releases.png",
|
|
"07-deployments.png", "08-environments.png", "09-approvals.png",
|
|
"10-policy-governance.png", "11-security.png", "12-exceptions.png",
|
|
"13-triage.png", "14-findings.png", "15-vulnerabilities.png",
|
|
"16-evidence.png", "17-sbom-diff.png", "18-risk.png", "19-pack-registry.png",
|
|
"20-setup-wizard.png", "21-pipeline-runs.png", "24-workflows.png",
|
|
"25-settings.png", "27-policy-exceptions.png", "41-reachability.png"
|
|
]
|
|
}
|