163 lines
4.6 KiB
JSON
163 lines
4.6 KiB
JSON
{
|
|
"phase": 12,
|
|
"date": "2026-06-25",
|
|
"runtime": {
|
|
"executedNode": "22.16.0",
|
|
"targetNode": "24.17.0",
|
|
"pnpm": "11.9.0"
|
|
},
|
|
"commands": [
|
|
{
|
|
"command": "pnpm install --frozen-lockfile",
|
|
"exitCode": null,
|
|
"status": "environment-blocked",
|
|
"testCount": 0,
|
|
"passCount": 0,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["registry DNS EAI_AGAIN; process terminated after retries"],
|
|
"evidence": "docs/quality/logs/pnpm-install-frozen.log"
|
|
},
|
|
{
|
|
"command": "npm install --engine-strict=false --ignore-scripts --package-lock=false --no-audit --no-fund",
|
|
"exitCode": 0,
|
|
"status": "fallback-pass",
|
|
"testCount": 0,
|
|
"passCount": 0,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["Node engine mismatch; does not satisfy frozen pnpm gate"],
|
|
"evidence": "docs/quality/logs/npm-install-fallback.log"
|
|
},
|
|
{
|
|
"command": "npm run validate",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 10,
|
|
"passCount": 10,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/logs/validate.log"
|
|
},
|
|
{
|
|
"command": "npm run format:check",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 1,
|
|
"passCount": 1,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/logs/format-check.log"
|
|
},
|
|
{
|
|
"command": "npm run lint",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 1,
|
|
"passCount": 1,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/logs/lint.log"
|
|
},
|
|
{
|
|
"command": "npm run typecheck",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 1,
|
|
"passCount": 1,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/logs/typecheck.log"
|
|
},
|
|
{
|
|
"command": "npm run test:unit",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 22,
|
|
"passCount": 22,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/logs/unit.log"
|
|
},
|
|
{
|
|
"command": "npm run build (without SITE_ORIGIN)",
|
|
"exitCode": 1,
|
|
"status": "expected-fail-closed",
|
|
"testCount": 1,
|
|
"passCount": 1,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["Production metadata rejected the missing canonical origin as designed."],
|
|
"evidence": "docs/quality/logs/build-missing-site-origin.log"
|
|
},
|
|
{
|
|
"command": "SITE_ORIGIN=http://127.0.0.1:3000 PUBLIC_RELEASE_APPROVED=false npm run build",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 1,
|
|
"passCount": 1,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["Local evidence origin only; production origin remains P10-001."],
|
|
"evidence": "docs/quality/logs/build.log"
|
|
},
|
|
{
|
|
"command": "standalone server + curl locale/component-lab matrix",
|
|
"exitCode": 0,
|
|
"status": "pass",
|
|
"testCount": 6,
|
|
"passCount": 6,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": [],
|
|
"evidence": "docs/quality/PHASE_12_HTTP_ROUTE_RESULTS_v1.0.json"
|
|
},
|
|
{
|
|
"command": "playwright test tests/browser tests/a11y --project=chromium",
|
|
"exitCode": null,
|
|
"status": "environment-blocked",
|
|
"testCount": 44,
|
|
"passCount": 0,
|
|
"failureCount": 0,
|
|
"skippedCount": 44,
|
|
"warnings": ["Chromium rejected loopback navigation with net::ERR_BLOCKED_BY_ADMINISTRATOR"],
|
|
"evidence": "docs/quality/logs/playwright-browser-a11y.log"
|
|
},
|
|
{
|
|
"command": "playwright test tests/visual --project=chromium --update-snapshots",
|
|
"exitCode": null,
|
|
"status": "not-run-after-shared-blocker",
|
|
"testCount": 0,
|
|
"passCount": 0,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["Same loopback policy blocks image capture"],
|
|
"evidence": "docs/quality/PHASE_12_VISUAL_REGRESSION_RESULTS_v1.0.json"
|
|
},
|
|
{
|
|
"command": "pnpm audit --audit-level low",
|
|
"exitCode": 124,
|
|
"status": "environment-blocked",
|
|
"testCount": 0,
|
|
"passCount": 0,
|
|
"failureCount": 0,
|
|
"skippedCount": 0,
|
|
"warnings": ["registry DNS EAI_AGAIN; timed out during retry delay"],
|
|
"evidence": "docs/quality/logs/pnpm-audit.log"
|
|
}
|
|
],
|
|
"unitCoverage": {
|
|
"statements": 92.4,
|
|
"branches": 86.04,
|
|
"functions": 95.45,
|
|
"lines": 92.64
|
|
},
|
|
"releaseAcceptance": "blocked",
|
|
"blockingIssues": ["P12-001", "P12-002", "P12-003", "P12-004", "P12-005"]
|
|
}
|