Skip to content

Commit f725abe

Browse files
committed
windows parity: GlancePage (12 units done, gates green)
Verified web/src/features/dashboard/pages/GlancePage.tsx: 4 api ops, RadialGauge chart, 5 panels, 4 states, 20/20 required strings (subset-verified). Verification-only; gates green. Evidence in apps/parity/logs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 3186175 commit f725abe

2 files changed

Lines changed: 126 additions & 1 deletion

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
=== Windows Parity Loop — evidence log ===
2+
Source: web/src/features/dashboard/pages/GlancePage.tsx
3+
Native: apps/windows/TeslaSync.App/feature-views/GlancePage/*
4+
Units: 12 (4 api, 1 chart, 5 panels, 1 page req=30, 1 string-group req=20). Verification-only; gates green.
5+
6+
api: get_api_v1_vehicles (Source.cs:15), get_api_v1_vehicles_vehicleID_state (Source.cs:73),
7+
get_api_v1_location_snapshots_latest (Source.cs:131), post_api_v1_vehicles_vehicleID_command (Source.cs:197).
8+
chart RadialGauge-1: native battery RadialGauge ring (GlancePage.cs:284-286).
9+
panels(5): GlassPanel1 (cs:168 TsGlassPanel Mica card), Range/Interior/Security/Location (cs:364-367 MetricCard tiles).
10+
page req=30 = 5 panels + 1 chart + 4 states + 20 strings.
11+
states(4): loading (cs:159 BuildLoading), empty (cs:237 BuildEmpty "No vehicle found"), error (retry surface cs:28),
12+
success (cs:162 BuildSuccess).
13+
string-group req=20: all 20 required keys verified present among 22 native GetString keys (subset check: 0 missing).
14+
15+
Gates (unchanged, green): build=0 · format=clean · placeholder=0 · test=31537 passed.
16+
17+
=== PARITY === platform=windows file=GlancePage.tsx units=12 status=done (coveredCount==requiredCount each, gates green)

apps/parity/windows-ledger.json

Lines changed: 109 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1149,7 +1149,7 @@
11491149
"coveredCount": 1,
11501150
"requiredCount": 1,
11511151
"promptId": "windows-parity-loop",
1152-
"evidenceLog": "apps/parity/logs/windows-parity-loop-App-routes.log"
1152+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
11531153
},
11541154
{
11551155
"unitId": "route:/guard-mode",
@@ -1834,5 +1834,113 @@
18341834
"requiredCount": 1,
18351835
"promptId": "windows-parity-loop",
18361836
"evidenceLog": "apps/parity/logs/windows-parity-loop-App-routes.log"
1837+
},
1838+
{
1839+
"unitId": "api:dashboard/Glance#useLocationSnapshotLatest",
1840+
"platform": "windows",
1841+
"status": "done",
1842+
"coveredCount": 1,
1843+
"requiredCount": 1,
1844+
"promptId": "windows-parity-loop",
1845+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1846+
},
1847+
{
1848+
"unitId": "api:dashboard/Glance#useVehicleCommand",
1849+
"platform": "windows",
1850+
"status": "done",
1851+
"coveredCount": 1,
1852+
"requiredCount": 1,
1853+
"promptId": "windows-parity-loop",
1854+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1855+
},
1856+
{
1857+
"unitId": "api:dashboard/Glance#useVehicleState",
1858+
"platform": "windows",
1859+
"status": "done",
1860+
"coveredCount": 1,
1861+
"requiredCount": 1,
1862+
"promptId": "windows-parity-loop",
1863+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1864+
},
1865+
{
1866+
"unitId": "api:dashboard/Glance#useVehicles",
1867+
"platform": "windows",
1868+
"status": "done",
1869+
"coveredCount": 1,
1870+
"requiredCount": 1,
1871+
"promptId": "windows-parity-loop",
1872+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1873+
},
1874+
{
1875+
"unitId": "chart:dashboard/Glance#RadialGauge-1",
1876+
"platform": "windows",
1877+
"status": "done",
1878+
"coveredCount": 1,
1879+
"requiredCount": 1,
1880+
"promptId": "windows-parity-loop",
1881+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1882+
},
1883+
{
1884+
"unitId": "page:dashboard/Glance",
1885+
"platform": "windows",
1886+
"status": "done",
1887+
"coveredCount": 30,
1888+
"requiredCount": 30,
1889+
"promptId": "windows-parity-loop",
1890+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1891+
},
1892+
{
1893+
"unitId": "panel:dashboard/Glance#GlassPanel1",
1894+
"platform": "windows",
1895+
"status": "done",
1896+
"coveredCount": 1,
1897+
"requiredCount": 1,
1898+
"promptId": "windows-parity-loop",
1899+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1900+
},
1901+
{
1902+
"unitId": "panel:dashboard/Glance#Interior",
1903+
"platform": "windows",
1904+
"status": "done",
1905+
"coveredCount": 1,
1906+
"requiredCount": 1,
1907+
"promptId": "windows-parity-loop",
1908+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1909+
},
1910+
{
1911+
"unitId": "panel:dashboard/Glance#Location",
1912+
"platform": "windows",
1913+
"status": "done",
1914+
"coveredCount": 1,
1915+
"requiredCount": 1,
1916+
"promptId": "windows-parity-loop",
1917+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1918+
},
1919+
{
1920+
"unitId": "panel:dashboard/Glance#Range",
1921+
"platform": "windows",
1922+
"status": "done",
1923+
"coveredCount": 1,
1924+
"requiredCount": 1,
1925+
"promptId": "windows-parity-loop",
1926+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1927+
},
1928+
{
1929+
"unitId": "panel:dashboard/Glance#Security",
1930+
"platform": "windows",
1931+
"status": "done",
1932+
"coveredCount": 1,
1933+
"requiredCount": 1,
1934+
"promptId": "windows-parity-loop",
1935+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
1936+
},
1937+
{
1938+
"unitId": "string-group:dashboard/Glance",
1939+
"platform": "windows",
1940+
"status": "done",
1941+
"coveredCount": 20,
1942+
"requiredCount": 20,
1943+
"promptId": "windows-parity-loop",
1944+
"evidenceLog": "apps/parity/logs/windows-parity-loop-GlancePage.log"
18371945
}
18381946
]

0 commit comments

Comments
 (0)