# JarvisPanel — Glass System 2.1

**Version:** 2.1.0 · **Status:** Approved by Yazeed on 2026-10-08 (2.0.0 approved 2026-10-03).

## 2.1.0 changes
- Dark mode is true black (`#000`) with neutral glass; gloss kept through rim, reflection and ambient glow.
- Toggle redesigned: glossy track, domed knob, accent glow when on, no border.
- Fields and selects have no border or outline; depth comes from inset shadows, focus is a glow.
- Fonts unchanged since 2.0.0 patch: Geist + IBM Plex Sans Arabic.


The user explicitly accepted the delivered design and requested cleanup. This release records that approval, promotes the bundle to `Current/`, consolidates old material under `../Legacy/`, and updates status labels and paths without redesigning the accepted system. It is not authorization to deploy a portal or invent services.

## Contents

- **29 component families:** controls, structure, overlays and feedback, with applicable states, Dark/Light, Opaque and LTR/RTL.
- `index.html`, `brand.css`, `brand.js`, `tokens.json`, `tokens.css`, `component-manifest.json`: the interactive system and its contract.
- `applications.html`: six editable compositions with measured copy-fit validation and retained invalid drafts; 72/110 input limits are not fit guarantees.
- `exports/`: English/Arabic social, square, presentation cover and letterhead PNGs, letterhead PDF, motion poster and silent six-second H.264 1920×1080/24fps MP4.
- `JarvisPanel-Brand-Guide.pdf`: the brand/component guide. `DESIGN.md` and `.impeccable/design.json` document actual source, including ten reusable component previews.
- `assets/`, `tools/`, source/licence manifests, `Review.md` and `Verification.json`: required reusable assets, checks and scoped evidence—not disposable build debris.

## Canonical homes and preservation

`Current/` is the approved home. `../Legacy/` retains the old Guidelines, Logo, Icons, Imagery and Motion trees, plus `JarvisPanel-Glossy-Proposed.1-Checkpoint.zip` and the delivered pre-approval `JarvisPanel-Glossy-Proposed.zip`. The 34 original-source hashes remain in `legacy-manifest.json`; original lion geometry, photographs and font bytes are preserved. Historical file contents and quoted source text are not rewritten to look newly approved.

The neighbouring **JarvisPanel Portal now uses Glass System 2.0 (2.0.0), and Yazeed approved its final design on 2026-10-03**. Its local `../../JarvisPanel-Portal/docs/design-handoff.md` and `docs/glass-system-2-migration.md` record that separate migration and its verification limits. Design approval does not establish production authentication, a Hermes connection or deployment. Portal remains read-only during this Brand Kit maintenance.

**Historical cleanup context:** at the earlier Current/Legacy consolidation, Portal still used 1.1.0; only its original-source references were redirected into Legacy. That statement described the cleanup checkpoint, not Portal's present design. Temporary captures and one-use work files were moved to native Trash, not permanently erased or confused with required source/tests.

## Scoped maintenance — approved Portal examples

`DESIGN.md` → “Approved Portal usage examples” documents the separated Header, media-top service card and Hero composition as optional examples from the accepted site, not mandatory layouts or new component families. General motion policy remains **`autoplay=false` and `loop=false`**. Portal's one automatic Hero playback attempt is a site-only exception with Pause, Reduced motion, still/failure fallback and immediately available entry; it does not change the library's opt-in media.

Only confirmed library gaps were repaired: `.status-message a` and `figcaption a` now use the existing 48px target token; `.status-message` participates in Opaque, Reduced transparency and Forced Colors fallbacks. Existing colours, typography, lion assets, core tokens and JavaScript are unchanged. Portal-specific codec, focus, disabled-icon and backdrop-enhancement corrections were not copied into the library.

## Fonts and sharing

Geist is the original variable TTF with its SIL OFL notice, not Apple's SF font. IBM Plex Sans Arabic 400/500/600/700 use original TTF files under SIL OFL. **Legacy Saudi fonts are excluded from `../JarvisPanel-Brand-Kit.zip`.** Recipients obtain their own official files under `Font-Licence.md`; otherwise live Arabic uses system fallback. PNG/PDF appearance does not require distribution of raw font files.

The package contains only Current, with ZIP integrity and every member checked against the final source bytes. Legacy is not bundled.

## Verification and limits

`Verification.json` preserves the earlier approval/cleanup evidence and records the scoped maintenance checks separately; older suite totals are not newly rerun coverage. Historical coverage includes the 29-family catalog, 19 behaviour slices, 5 targeted accessibility regressions, 60 copy-fit fixtures, 145 source-frame samples, 27 final-frame background-contrast samples, 20 Chromium layout/theme/direction cases, 160 documentation component comparisons and 48 state comparisons. Native WKWebView checks local loading/layout/opaque fallback; PDFKit checks text bounds and pagination. The maintenance pass rechecks the affected links/material states, documentation and guide PDF, then seals the package; it is not a fresh whole-product audit.

These checks are not physical-device or iCloud synchronization tests, a full Safari/Firefox/screen-reader audit, blanket WCAG certification, or print-press proof. Whole-video model analysis was unsupported; real playback and sampled decoded frames do not certify every temporal transition. The earlier detector snapshot had 35 warnings / 164 advisories; no clean rescan is claimed. Design acceptance comes from Yazeed, not from test results.

## Reproduce on the current Mac

The HTML uses local relative dependencies. The tools reuse installed Chrome/Playwright, FFmpeg, Pillow and native macOS frameworks; opening the guide installs nothing. Run from Current:

```sh
export JP_EVIDENCE_DIR="$HOME/.hermes/cache/scratch/jarvispanel-checks"
python3 -B tools/build-assets.py --check-fonts
python3 -B tools/check-system.py
python3 -B tools/verify.py
node tools/verify-components.cjs
node tools/verify-accessibility.cjs
node tools/check-design-docs.cjs
node tools/check-applications.cjs
node tools/verify-export-contrast.cjs
node tools/verify-browser.cjs
swift tools/verify-webkit.swift "$PWD/index.html"
swift tools/verify-pdf.swift "$PWD/JarvisPanel-Brand-Guide.pdf" "$JP_EVIDENCE_DIR/pdf"
python3 -B tools/package.py --check
```

`node tools/export.cjs` regenerates PNG/PDF/MP4; `--stills-only` skips encoding but still rewrites all stills and the provenance record. For this maintenance, only the guide PDF is rendered from `index.html` with the same installed Playwright/Chrome, font/image readiness and A4/tagged options; unaffected application PNG/JPEG/PDF/MP4 bytes and embedded origins are retained. `exports/provenance.json` distinguishes their original generation hashes from the refreshed guide PDF's inputs. Re-exporting PNG/JPEG removes their embedded origin metadata: restore origins, re-scan and refresh source/output hashes before packaging. Do not run `build-assets.py` without `--check-fonts` just to export: its main path refetches the pinned Geist/IBM Plex Sans Arabic OFL inputs. Once records are current, `python3 -B tools/package.py` creates `../JarvisPanel-Brand-Kit.zip` and verifies its integrity and member bytes. Generated review captures stay in scratch, not the working brand library.
