116 lines
3.8 KiB
JSON
116 lines
3.8 KiB
JSON
{
|
|
"schema": "vignette.public-web-preflight.v1",
|
|
"captured_at": "2026-08-12T18:18:30+09:00",
|
|
"status": "preflight_passed_approval_required",
|
|
"deployment_executed": false,
|
|
"external_mutation": false,
|
|
"source": {
|
|
"branch": "detached HEAD",
|
|
"commit": "00f851a66fb680f650bf2077c72fcd563c27c229",
|
|
"tree": "9f78cd165b59e04986905e182b3e0cb89d9e9486",
|
|
"candidate_root": "D:\\workspace\\vignette-public-web-preflight-00f851a6",
|
|
"tracked_clean": true,
|
|
"api_generated_types_lf_pinned": true
|
|
},
|
|
"candidate_gates": {
|
|
"npm_ci_ignore_scripts": "passed",
|
|
"api_type_contract": "passed",
|
|
"typecheck": "passed",
|
|
"production_build_runs": 2,
|
|
"production_build_deterministic": true,
|
|
"production_file_count_before_asset_preservation": 599,
|
|
"focused_playwright": {
|
|
"passed": 12,
|
|
"failed": 0,
|
|
"projects": [
|
|
"chromium-desktop",
|
|
"chromium-mobile"
|
|
],
|
|
"contracts": [
|
|
"all-role topbar controls are at least 44px at 1280, 1024, 390, and 320 widths",
|
|
"login root has no horizontal overflow at narrow scrollbar viewports",
|
|
"secondary Google login action preserves its domain and redirect contract",
|
|
"learner self-directed home to session to review to repractice flow",
|
|
"transient boot diagnostic clears and actual empty boot remains fail-honest"
|
|
],
|
|
"listener_15471_after": 0,
|
|
"temp_remaining": 0
|
|
}
|
|
},
|
|
"new_primary_assets": {
|
|
"css": {
|
|
"path": "assets/index-Dzmt2kJS.css",
|
|
"bytes": 29683,
|
|
"sha256": "da5e8535acd714fd85dfbd6d041f457a7a5d16eb15132b4889f2ff3f2867fb9a"
|
|
},
|
|
"javascript": {
|
|
"path": "assets/index-BUoTLplD.js",
|
|
"bytes": 246182,
|
|
"sha256": "08654d08230358fdb607cc4d5116862b2e988787e7ea14fd5bcc73a87e1a3c05"
|
|
}
|
|
},
|
|
"previous_asset_preservation": {
|
|
"origins_checked": 6,
|
|
"assets_added": 133,
|
|
"final_file_count": 732,
|
|
"download_temp_remaining": 0,
|
|
"current_public_assets": [
|
|
{
|
|
"path": "assets/index-1zrRyPRd.css",
|
|
"sha256": "96954208bc09396ddcb30acc11f727658fa865957a9cf223e54e2fa06200ae61",
|
|
"preserved_exact": true
|
|
},
|
|
{
|
|
"path": "assets/index-BrpoQ5nP.js",
|
|
"sha256": "b8e6b6679f6ad073f4a2ecfe81aa86769b09dcff7203ff393a8c3d9d854d623e",
|
|
"preserved_exact": true
|
|
}
|
|
]
|
|
},
|
|
"actual_runtime_read_only": {
|
|
"public": {
|
|
"health_status": "ok",
|
|
"db": true,
|
|
"engine": true,
|
|
"environment": "prod",
|
|
"auth_me_status": 401,
|
|
"openapi_paths": 126,
|
|
"voice": "local_whisper/small + melotts/melotts-korean",
|
|
"console_errors": 0,
|
|
"boot_diagnostic_overlays": 0,
|
|
"horizontal_overflow_px": 0,
|
|
"pii_placeholder_literals": 0,
|
|
"mobile_topbar_controls_under_44px": 6,
|
|
"candidate_not_deployed": true
|
|
},
|
|
"nas_preview": {
|
|
"login_http_status": 200,
|
|
"auth_me_status": 401,
|
|
"openapi_paths": 126,
|
|
"health": "timeout",
|
|
"relay_9100_listener_count": 0,
|
|
"mobile_login_horizontal_overflow_px": 10,
|
|
"candidate_not_deployed": true
|
|
}
|
|
},
|
|
"known_dependency_risk": {
|
|
"production_audit": {
|
|
"critical": 0,
|
|
"high": 0,
|
|
"moderate": 2
|
|
},
|
|
"package": "react-router-dom@6.30.4",
|
|
"advisory": "GHSA-jjmj-jmhj-qwj2",
|
|
"introduced_by_candidate": false,
|
|
"patched_v6_available": false,
|
|
"decision": "track a separate React Router 7 migration; do not apply an unreviewed major upgrade in this UI-only release"
|
|
},
|
|
"approval_boundaries": {
|
|
"public_pages_deploy": "explicit owner approval required",
|
|
"nas_engine_relay": "explicit owner approval required",
|
|
"g7_physical_microphone": "device selection and explicit consent required",
|
|
"public_api_db_scheduled_tasks_touched": false,
|
|
"nas_containers_db_touched": false,
|
|
"physical_microphone_opened": false
|
|
}
|
|
}
|