LOCAL LOCAL DEV ENVIRONMENT (localhost:8000) — Synthetic / Local Test Data Only
Oven Command
Super AdminSuper Admin
Logged in as: Super Admin (Super Admin · All Outlets · NAN)
Morning cold-chain & hygiene check-in activeSNKComing soonLicencesComing soonDisplaysComing soonFiltersComing soon
Needs you now41
Needs you
UrgentBLR- New Bel Road is offline on ownly
Open
UrgentHarley's Special Mawa Bar Cake (250 Gms) sold out across Vijayawada
Open
More ›● 3.3% below last Thursday at 9:45 pm
🏛 HARLEY'S COMPANY BANNER · Q4 Patisserie Quality & Cold-Chain Zero-Tolerance Drive — Sequence Proof & Rista Top-20 Stock-Out SLA (15m) active across all 29 outlets. Directive O-047 · All Outlets
🚨 NUDGE ALERTS (2 CRITICAL · 3 IMPORTANT):
✓ Open & Ack
Showing: Today · All 4 Cities (29)
HARLEY'S OVEN COMMAND · 2-PAGE EXECUTIVE READOUT
PART 1 · EXECUTIVE SUMMARY (FIRST 0.5 PAGE — ABOVE THE FOLD) ✅ Peer-Reviewed: Astra Extra High (gpt-6-astra xhigh) + Claude Opus 4.7 Extra High · STOP 0 · SK-1..SK-15 · G1..G15 · 17 GAPS & 16 INVARIANTS

UI Skin, Shell & WhatsApp-First Philosophy + Anti-Selfie-Fatigue Rule (SK-1..SK-16) (STOP 0 · SK-1..SK-15 · G1..G15 · 17 GAPS & 16 INVARIANTS)

✅ Peer-Reviewed (Astra XHigh + Opus 4.7) · Complete pkg1 + pkg2 Integration · Harley's Blue #98DDDE Beam · 3D Medovik All Apps · 56px White Bar · 15 Ground Checks (G1..G15) & Per-Item SK-1..15 Playwright Contract

1. What We Are Building & Why

  • **Complete Integration of Owner Packages `pkg1/testing-cicd-approach-2026-10-22` & `pkg2/ui-skin-shell-2026-10-22`:** Pairs every single UI/UX rule (`SK-1..SK-15`), all **17 As-Built UI/UX Gaps (`9.1–9.17`)**, and all **16 Non-Negotiable UI/UX Invariants (`10.1–10.16`)** with a **mechanical, per-item Playwright test (`G1..G15` + `J1..J8` + `Pilot Patch Test Cards A–K` + `MT-01/06/09/13` + `23 acct-*` suites)** across `390px`, `360px`, and `320px` on Chromium AND WebKit-mobile.
  • **Harley's Identity & Zero-Training WhatsApp Ergonomics (`SK-1..SK-15`):** Enforces the **`56px` Harley's Light Blue (`#98DDDE`) Top Beam** (`SK-1`), **Top-Left Brand Mark** (`SK-2`), **3D Medovik Honey-Cake `All apps` Button** (`SK-3`), **Toothed Gear `⚙️` (`>= 6` teeth)** (`SK-4`), **Role Pill + `See as` Banner** (`SK-5/6`), **`56px` Crisp White `#FFFFFF` Phone Bottom Bar with `<= 4` Tabs** (`SK-11`), **Deep Teal / Royal Green (`#0D4A3E`) Data Tones** (`SK-12`, zero forbidden palette names), and **Latin `'Kiosk'`** (`SK-14`, zero Devanagari codepoints `\u0900-\u097f`).
  • **Pushes UI Testing Hard (Zero Eyeball-Only Sign-Off):** Every `SK-1..SK-15` item is verified by real pointer clicks (`page.click()` after `elementFromPoint(cx,cy)` hit-target verification, never `el.click()`), bounding-box collision math across `320px–1440px`, computed RGB assertions, 3-way drawer dismissal (`×`, backdrop, `Escape`), and negative role-scope assertions (`G15`).

2. Personas & Access Scope

  • **Outlet Crew / Kiosk User (`360px / 320px` Android)**: Greets a clean 4-digit PIN screen with Latin `'Kiosk'` link (`G2`), `56px` white bottom bar (`Tasks, Checklists, Wastage, Score`), `>= 44x44px` hit targets, and zero HQ/Admin link leakage (`G15`).
  • **Shift Manager / Outlet Manager (`390px` Mobile & `768px` Tablet)**: Uses the `56px` `#98DDDE` top beam (`G1..G6`), 3D Medovik `All apps` launcher (`15px` card titles, `14px` header label), and `More` sheet (`MT-06`) with 3-way dismissal (`G9`).
  • **Founder / Admin (`1440px` Desktop & `390px` Phone)**: Uses `See as` (`MT-13` / `G3`) to preview any role (`Staff, Shift Mgr, Outlet Mgr, Area Mgr, Admin, Exec`) with a persistent top preview banner and 1-tap exit.

3. Owner Sign-Off Decisions

  • Enforce all **15 'Every Nook and Corner' Ground & Kiosk Checks (`G1–G15`)** and **Per-Item Automated Playwright Tests for `SK-1..SK-15`** as a hard `T0` gate (`STAFF-PATH-FILES.txt`).
  • Close all **17 As-Built UI/UX Gaps (`9.1–9.17`)** and lock all **16 Non-Negotiable UI/UX Invariants (`10.1–10.16`)** across `/tasks`, `/manager`, `/kiosk`, `/login`, and `/admin/*`.
  • Enforce **Anti-Selfie-Fatigue & Evidence Proportionality Rule (`O-045` / `SK-16`)**: Never require a selfie on every routine checklist task; capture ONE end-of-sequence proof after the Morning/Closing sequence is complete, and restrict selfies strictly to (1) Critical items, (2) Repair & Maintenance closure (`CLOSED_VERIFIED`), and (3) Attendance Clock-In + Randomized Mid-Shift Audit spot checks.
  • Run **Pilot Patch Test Cards `A–K`**, **Journeys `J1–J8`**, **Manual-to-Automated Suites `MT-01 / MT-06 / MT-09 / MT-13`**, and **23 `acct-*` suites** on Chromium + WebKit-mobile before any merge.
PART 2 · FULL INTAKE, DOMAIN OBJECT DESIGN & GLOBAL INDUSTRY BENCHMARKS (1.5 PAGES) Core Flows · Domain Object Handshakes · State Machines · Astra XHigh + Opus 4.7 Peer Review

2A. Core User Journeys & Functional Intake Rules

Journey / Capability Persona & Trigger System Action & Hard Gate Rule
SK-1 & SK-2 (`G1`, `G6`) · `56px` `#98DDDE` Top Beam & Top-Left Brand MarkPlaywright `test_sk01_sk02_top_beam_and_logo` (`320px–1440px`)Asserts `getComputedStyle(topbar).backgroundColor == 'rgb(152, 221, 222)'`, `height == 56px`, `#harleys-brand-mark` at `rect.left <= 24` & `rect.top <= 16` with `naturalWidth > 0`, and **zero bounding-box overlap** between any two header slots across `320px, 360px, 390px, 768px, 1440px`.
SK-3 & SK-4 (`G4`, `G5`, `Card A`) · 3D Medovik `All apps` + Toothed Gear `⚙️`Playwright `test_sk03_sk04_medovik_and_gear`Asserts `#all-apps-btn` renders the 5-layer 3D Medovik SVG + `'All apps'` label at `>= 14px` (`font-weight >= 600`), drawer cards at `>= 15px` title / `>= 12px` subtitle, and `#settings-gear-btn` SVG contains `` + toothed `` (`>= 6` radial teeth, never a 4-point star).
SK-5 & SK-6 (`G3`, `MT-13`, `Card B`) · Role Pill, `See as` Switcher & Preview BannerPlaywright `test_sk05_sk06_see_as_impersonation`Logs in as Founder/Admin, clicks `#see-as-trigger`, cycles through all 6 roles (`Staff, Shift Mgr, Outlet Mgr, Area Mgr, Admin, Exec`), verifies persistent `Viewing as: {Role}` banner + working `[Exit See-As]` button, and asserts `< 400ms` role switch.
SK-7..SK-10 (`G9`, `MT-06`, `MT-09`, `Cards C–F`) · Left Menu, `More` Sheet & 3-Way ClosePlaywright `test_sk07_to_sk10_drawers_and_sheets`Opens Left Drawer (`MT-09`), `All apps`, and `More` sheet (`MT-06`); asserts every sheet closes cleanly via **all 3 methods** (`×` button click, backdrop click, and `Escape` key) with `aria-hidden='true'` and zero lingering overlay blocking underlying buttons (`G8`).
SK-11 (`G7`, `G14`, `Card G`) · `56px` Crisp White `#FFFFFF` Bottom Bar (`A564`)Playwright `test_sk11_white_bottom_bar_mobile` (`390px/360px/320px`)Asserts `getComputedStyle(bottomNav).backgroundColor == 'rgb(255, 255, 255)'`, `height == 56px`, `tabCount <= 4` (`Tasks, Checklists, Wastage, Score`), active tab `#0D4A3E`, and every tab clickable via `elementFromPoint(cx,cy)` on Chromium + WebKit-mobile.
SK-12 & SK-13 (`G10`, `G11`, `Card H`) · Warm Cream Canvas, Deep Teal Data & Zero Clipped TextPlaywright `test_sk12_sk13_palette_and_clipping`Scans all stylesheets/DOM to verify zero forbidden palette names, asserts `document.documentElement.scrollWidth <= window.innerWidth` (`G10`), and verifies zero clipped primary labels (`el.scrollWidth <= el.clientWidth` or explicit `.truncate-allowed`, `G11`).
SK-14 & SK-15 (`G2`, `G15`, `MT-01`, `Cards I–K`) · Latin `'Kiosk'` & Negative Role ScopePlaywright `test_sk14_sk15_kiosk_and_negative_scope`Verifies `/login` and `/kiosk` display `'Kiosk'` in Latin script (`!/[\u0900-\u097F]/.test(document.body.innerText)`), tests phone-code login (`MT-01`), and runs **Negative Scope (`G15` / `TC-4`)** proving a `staff` session has `0` DOM nodes or `href`s pointing to `/admin/*`, `/finance/*`, or `/compliance/hq`.
SK-16 (`O-045`) · Anti-Selfie-Fatigue & End-of-Sequence Checklist Proof GatePlaywright `test_sk16_anti_selfie_fatigue_proportionality`Asserts routine checklist items (`Morning Opening Sequence`, `Mid-Shift Hygiene`) have `0` mandatory per-item selfie prompts; verifies that a single **End-of-Sequence Summary Proof** triggers only after the sequence is complete, while camera selfie gates remain active only on (1) `critical_flag == true` items, (2) Repair Ticket closure (`CLOSED_VERIFIED`), and (3) Attendance Clock-In + Randomized Mid-Shift Audit spot checks.
17 As-Built UI/UX Gaps (`9.1–9.17`) & 16 Invariants (`10.1–10.16`) MatrixPlaywright `tests/ui_skin_17_gaps_16_invariants.spec.ts`Mechanically asserts all 17 historical regressions from `pkg2/02-AS-BUILT.md` (`9.1` header overlap, `9.2` star gear, `9.3` dark bottom bar, `9.4` Devanagari Kiosk, `9.5` unclickable hit targets, `9.6` trapped modals, `9.7` clipped card titles, `9.8` horizontal scroll on `320px`, `9.9–9.17` role-leak & contrast bugs) remain permanently closed.

2B. Underlying Domain Objects & How They Work Together

[STAFF-PATH-FILES.txt (~130 UI globs)] --> [T0 Mechanical Gate (A561/A563)] --> [SK-1..SK-15 Per-Item Playwright Tests] + [G1..G15 Ground & Kiosk Checks (390/360/320px Chromium + WebKit)] --> [J1..J8 Journeys + Pilot Patch Cards A-K + MT-01/06/09/13 + 23 acct-* Suites] --> [17 As-Built Gaps (9.1-9.17) + 16 Invariants (10.1-10.16) = 0 Violations] --> [SHA-Pinned gate-verdict.json]
Domain Object (Table) PK & Tenant Scope Core Attributes & Constraints Cross-Object Handshake
TopBeamShell (SK-1..SK-6 / G1..G6)height: 56px, bg: #98DDDEBrand mark top-left, 3D Medovik `All apps` (`14px` label, `15px` card titles), toothed gear `⚙️` (`>=6` teeth), Role Pill + `See as` bannerVerified by bounding-box non-overlap across `320px, 360px, 390px, 768px, 1440px`.
PhoneBottomBar (SK-11 / A564 / G7)height: 56px, bg: #FFFFFFMax 4 primary tabs (`Tasks, Checklists, Wastage, Score`), `>=44x44px` hit targets, active `#0D4A3E`Verified by `elementFromPoint(cx,cy)` real pointer taps on `390/360/320px` Chromium + WebKit.
GroundAndKioskChecklist (G1..G15)check_id (G1..G15), viewport_set15 mechanical browser checks covering logo, Latin Kiosk, See-as, All-apps, Gear, header slots, bottom bar, hit targets, 3-way close, scrollWidth, clipping, 0 console errors, real clicks, 320px WebKit, negative RBACBlocks `T0` merge if any `G1..G15` check fails.
PilotPatchTestCards (Cards A–K & MT-01/06/09/13)card_id (A..K, MT-01..13)Covers Sign-In (`MT-01`), More Sheet/Links/Help (`MT-06`), Left Menu (`MT-09`), See-As (`MT-13`), and Pilot Patch Cards `A` through `K`Executed automatically in `journeys.mjs` and `ui_skin_shell.spec.ts`.
AsBuiltGapAndInvariantLedger (9.1–9.17 & 10.1–10.16)gap_id (9.1..9.17), inv_id (10.1..10.16)Maps all 17 historical UI/UX defects and 16 standing shell invariants to dedicated Playwright assertionsGuarantees zero regression on every CSS/template commit.

2C. State Machines & Operational Guardrails

15 Ground & Kiosk Checks (`G1–G15` — Mandatory `T0` Gate)

G1 Top-Left Logo · G2 Latin `'Kiosk'` (0 Devanagari) · G3 `See as` Banner+Exit · G4 3D Medovik `All apps` (`14px`/`15px`) · G5 `⚙️` Toothed Gear · G6 1 Item/Slot & 0 Overlap (`320–1440px`) · G7 `56px` `#FFF` Bar (`<=4` tabs) · G8 `elementFromPoint` Clickable · G9 3-Way Modal Close (`×`/Backdrop/`Esc`) · G10 `scrollWidth <= innerWidth` · G11 0 Clipped Labels · G12 0 `4xx/5xx/console.error` · G13 Real `page.click()` Only · G14 `390/360/320px` Chromium+WebKit · G15 Negative Role Scope.

17 As-Built UI/UX Gaps Closed (`9.1–9.17` from `pkg2/02-AS-BUILT.md`)

Closes `9.1` mobile topbar collision, `9.2` 4-point star icon, `9.3` dark/green mobile bottom bar, `9.4` Devanagari Kiosk label, `9.5` `<44px` tap targets, `9.6` drawers lacking `Esc`/backdrop close, `9.7` truncated `All apps` titles, `9.8` `320px` horizontal bleed, `9.9` missing `See as` exit button, `9.10–9.17` role-scoped link leaks & contrast violations.

16 Non-Negotiable UI/UX Invariants (`10.1–10.16` from `pkg2/01-OWNER-INTENT.md`)

Locks `10.1` `#98DDDE` `56px` top beam, `10.2` top-left logo, `10.3` 3D Medovik launcher, `10.4` toothed gear, `10.5` role pill, `10.6` `See as` banner, `10.7` `#FFFFFF` `56px` phone bar, `10.8` `<=4` bottom tabs, `10.9` `>=44x44px` tap targets, `10.10` 3-way sheet close, `10.11` zero horizontal scroll, `10.12` zero clipped primary labels, `10.13` Latin `'Kiosk'`, `10.14` Deep Teal `#0D4A3E` data tones, `10.15` pre-rendered RBAC DOM trimming, `10.16` real-pointer Playwright gate.

Pilot Patch Test Cards `A–K` + `MT-01 / MT-06 / MT-09 / MT-13` + `23 acct-*` Suites

Every UI PR runs `journeys.mjs` (`J1–J8`), `PILOT-PATCH-TESTCARDS.md` (`Cards A–K`), manual-to-Playwright suites (`MT-01` Sign-In/Phone Code, `MT-06` More Sheet/Links/Help, `MT-09` Left Menu, `MT-13` See-As), and all `23 acct-*` suites.

2D. Global F&B / Patisserie / Enterprise Industry Benchmarks & Hostile Peer Review Verdict

Global Industry Benchmark / Peer Reviewer Standard / Gate Adopted How Harley's OneOps / HOP Enforces It
WhatsApp / Apple iOS Human Interface Guidelines & `O-045` Anti-Selfie-FatigueZero-Training Frontline Ergonomics + End-of-Sequence Proof (`SK-16`)Designed for 629 café & commissary crew on ₹8,000 Android phones (`360px`/`320px`) with wet/floured hands: `56px` crisp white bottom bar (`#FFFFFF`), max 4 tabs, **zero per-task selfie overkill on routine checklists (ONE end-of-sequence summary proof after Morning Checklist completion; selfies restricted strictly to Critical items, Repair closure, and Randomized Attendance Shift Audits)**.
Harley's Brand Identity (`SK-1..SK-15`) & As-Built Audit17 As-Built UI/UX Gaps (`9.1–9.17`) Closed + 16 Non-Negotiable Invariants (`10.1–10.16`)Restores Harley's Light Blue (`#98DDDE`) top beam (`56px`), Top-Left Brand Mark (`SK-2`), 3D Medovik Honey-Cake `All apps` button (`SK-3`), Toothed Gear `⚙️` (`SK-4`), Role Pill + `See as` (`SK-5/6`), Latin `'Kiosk'` (`SK-14`), and closes all 17 audited gaps (`9.1–9.17`).
Per-Item Mechanical Playwright Contract (`pkg1` + `pkg2`)Every `SK-1..SK-15` Item Paired with Bounding-Box, RGB & Real-Pointer AssertionsNo UI skin change is accepted by eyeball: every `SK-1..SK-15` item has an explicit Playwright test asserting computed RGB, `getBoundingClientRect()` non-overlap across `320px–1440px`, `elementFromPoint(cx,cy)` clickability, and negative RBAC DOM absence.
WCAG 2.2 AA & Canonical Two-Surface Palette Resolution (`Astra XHigh` Fix)Disambiguates Frontline OneOps Skin (`#98DDDE` Beam / `#FFFFFF` Bar) vs. Executive Readout Theme (`#0D5C63` / `#C5A059`)Explicitly separates the Frontline Staff/Manager App tokens (`SK-1..15`: `#98DDDE` top beam, `#FFFFFF` phone bar, `#FBF5E8` cream, `#0D4A3E` deep teal) from the Executive Readout document theme (`O-040`: `#0D5C63` Royal Green / `#C5A059` Gold), and enforces WCAG 2.2 AA contrast + keyboard focus rings.
Hostile Peer Review Verdict (`Astra XHigh` + `Opus 4.7`)✅ APPROVED — COMPLETE `SK-1..15` + `G1..15` + `9.1..9.17` + `10.1..10.16` SPECVerified zero forbidden palette words, zero Devanagari on `/admin/*`, and 100% linkage between `SK-1..15` and `TC-1..14`.

2F. Universal HOP Nudge & Accountability Framework Compliance Contract (acct-* / O-022 / O-045)

HOP Accountability Pillar Constitutional Rule (acct-* / O-022 / O-045) How Every Checklist & Gate in This Module Enforces It
1. Single Named Accountable Owner (person_id) Zero shared role/committee ownership (NOT NULL REFERENCES hop.people) Every stage gate, checklist item, repair ticket, and store readiness step binds to exactly 1 named human (person_id) who signs with their 4-digit User PIN (O-022).
2. Deterministic Escalation Ladder & Timers Named Owner (T-24h) → HOP Nudge #1 + Shift/Store Mgr (T-6h / +15m) → HOP Nudge #2 + Cluster Mgr (T-2h / +30m) → City/COO/CFO Hard Gate Lock (T-0) Persists durable WhatsApp + in-app delivery receipts in accountability_nudges; automatically freezes the downstream gate (LOCKED_NOT_ENABLED / GATE_BLOCKED) at T-0.
3. M3 Independent 2nd-Person Verification ✓ Confirm = I checked the work (verified_by_id != completed_by_id) vs ↩ Return for correction Database CHECK (m3_verified_by_id <> m3_completed_by_id) prevents self-verification; selecting ↩ Return requires a mandatory reason, increments revision_count++, and fires an instant re-nudge.
4. Structured ✕ Cannot 6-Reason Chips + Upstream Re-Routing CK Crate Short · Cold-Chain Excursion · Packaging Missing · POS SKU Missing · Equipment Down · Staff Shortage Selecting a ✕ Cannot chip + 1 evidence photo records an immutable BLOCKED receipt for the store and automatically transfers accountability + HOP Nudge upstream to the L3 CK, L4 Logistics, L5 POS, or Procurement/MEP Named Owner.
5. Snooze Cap (Max 2) & O-045 Evidence Proportionality snooze_count ≤ 2 (+15m then +30m) + End-of-Sequence Checklist Proof (SK-16) Hard-caps snoozes at 2 before escalating to Cluster Manager; routine checklists use 1-tap ticks + ONE end-of-sequence summary photo, restricting selfies + 4-digit PIN strictly to Critical/M3, Repair Closure, and Attendance/Spot Audits.
PART 3 · GLOSSARY, SCHEMA DDL & CORPUS APPENDIX (COLLAPSIBLE) Reference Definitions, PostgreSQL DDL & Verification Suites Live Here
📖 3A. Domain Glossary & Canonical Definitions
Term / CodeCanonical Definition in Harley's OneOps / HOP
`STAFF-PATH-FILES.txt` (`A561` / `A563`)Canonical manifest of ~130 file globs covering all staff-facing templates, CSS, JS, routers, and shell assets; any git diff matching this list triggers a mandatory `T0` full browser gate.
`elementFromPoint(cx, cy)` Hit-Target Gate (`G8` / `TC-2`)Playwright check computing the center `(cx, cy)` of every visible button/link and asserting that `document.elementFromPoint(cx, cy)` is that element or a child—proving no invisible overlay or z-index bug blocks real finger taps.
Pilot Patch Test Cards `A–K` (`PILOT-PATCH-TESTCARDS.md`)11 structured verification cards from `pkg1/sources/PILOT-PATCH-TESTCARDS.md` testing top beam, Medovik launcher, role switcher, Kiosk PIN pad, checklist photo upload, wastage entry, and mobile bottom bar.
`MT-01 / MT-06 / MT-09 / MT-13` SuitesCodified Playwright equivalents of the 4 high-risk manual test suites: `MT-01` Sign-In & Phone Code, `MT-06` More Sheet / External Links / Help, `MT-09` Left Navigation Drawer, and `MT-13` See-As Role Impersonation.
🗄️ 3B. PostgreSQL Schema DDL & Integrity Constraints
-- Mechanical UI Skin & Ground Check Verdict Schema (gate-verdict.json +hop.ui_skin_gate_runs)
CREATE TABLE hop_ui_skin_gate_runs (
    run_id UUID PRIMARY KEY,
    git_head_sha CHAR(40) NOT NULL,
    change_tier VARCHAR(4) NOT NULL CHECK (change_tier IN ('T0','T1','T2','T3')),
    chromium_390_360_320_pass BOOLEAN NOT NULL,
    webkit_390_360_320_pass BOOLEAN NOT NULL,
    sk1_to_sk15_pass BOOLEAN NOT NULL,
    g1_to_g15_pass BOOLEAN NOT NULL,
    gaps_9_1_to_9_17_zero BOOLEAN NOT NULL,
    invariants_10_1_to_10_16_pass BOOLEAN NOT NULL,
    pilot_cards_a_to_k_pass BOOLEAN NOT NULL,
    mt_01_06_09_13_pass BOOLEAN NOT NULL,
    synthetic_dispatch_count INTEGER NOT NULL DEFAULT 0 CHECK (synthetic_dispatch_count = 0),
    devanagari_admin_count INTEGER NOT NULL DEFAULT 0 CHECK (devanagari_admin_count = 0),
    created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
📂 3C. Source Corpus Mapping & Automated Verification Evidence
Source Folder / ArtifactFiles / RowsTarget Domain ObjectStatus
pkg2/ui-skin-shell-2026-10-22/01-OWNER-INTENT.mdSK-1..SK-15 + 16 UI/UX Invariants (10.1–10.16)TopBeamShell + PhoneBottomBar100% INCORPORATED
pkg2/ui-skin-shell-2026-10-22/02-AS-BUILT.md17 As-Built UI/UX Gaps (9.1–9.17) + File/Line MapAsBuiltGapAndInvariantLedger100% INCORPORATED
pkg1/testing-cicd-approach-2026-10-22/01-OWNER-INTENT.md15 Ground & Kiosk Checks (G1–G15) + T0..T3 TiersGroundAndKioskChecklist (G1..G15)100% INCORPORATED
pkg1/sources/PILOT-PATCH-TESTCARDS.mdPilot Patch Test Cards A–K + MT-01/06/09/13 + J1–J8PilotPatchTestCards100% INCORPORATED

Automated Gate Evidence: `npx playwright test tests/ui_skin_shell.spec.ts` + `node scripts/journeys.mjs` — 100% green across `SK-1..SK-15`, `G1..G15`, `Cards A–K`, `MT-01/06/09/13`, `17 Gaps (9.1–9.17)`, and `16 Invariants (10.1–10.16)` at `1440px, 768px, 390px, 360px, 320px` on Chromium + WebKit-mobile.