|
|
|
|
|
# Audit: scroll-frames
|
|
|
|
|
|
audit-version: 1
|
|
|
|
|
|
audited-at: 2026-06-26
|
|
|
|
|
|
scope: ['eidos'] (eidos-only primitive)
|
|
|
|
|
|
method: theming-coherence category sweep (infra), adversarially verified; roles + `:Morfo` lead-verified CLEAN across all eidos (no success/warning/danger/info; only alert-dialog uses `:Morfo`).
|
|
|
|
|
|
|
|
|
|
|
|
## Summary
|
|
|
|
|
|
Counts (post-verification): CRITICAL 0 · HIGH 0 · MEDIUM 2 · LOW 0.
|
|
|
|
|
|
conformance: eidos layout primitive; 'as const satisfies' ✓; passive; layout-only CSS; 2× spacing/opacity drift.
|
|
|
|
|
|
as-const: true · roles clean: true · variants clean: true · has-recipe: false
|
|
|
|
|
|
|
|
|
|
|
|
## Findings
|
|
|
|
|
|
### MEDIUM: layout literals where canonical scale exists — scroll-frames-001 <!-- id: scroll-frames-001 -->
|
|
|
|
|
|
- dimension: SIZES
|
|
|
|
|
|
- location: src/uix/eidos/components/scroll-frames/scroll-frames.css:33
|
|
|
|
|
|
- evidence: inset-block-end: 1.5rem;
|
|
|
|
|
|
- impact: hardcoded spacing bypasses the --space-* scale; theme tune requires CSS edit
|
|
|
|
|
|
- proposed-fix: use 'var(--space-3)' (1.5rem ≈ --space-3 in canonical scale)
|
|
|
|
|
|
- verify: [confirmed] scroll-frames.css:33 'inset-block-end: 1.5rem;' is a bare rem layout literal in a recipe whose other props already use scale tokens (--font-size-xs, --tracking-widest, --color-neutral-text). 1.5rem maps to the canonical --space-* scale; this is genuine SPACING drift. MEDIUM is correct for a primitive.
|
|
|
|
|
|
- fix-status: open
|
|
|
|
|
|
|
|
|
|
|
|
### MEDIUM: opacity literal where canonical scale exists — scroll-frames-002 <!-- id: scroll-frames-002 -->
|
|
|
|
|
|
- dimension: THEMING
|
|
|
|
|
|
- location: src/uix/eidos/components/scroll-frames/scroll-frames.css:38
|
|
|
|
|
|
- evidence: opacity: 0.5;
|
|
|
|
|
|
- impact: hardcoded opacity bypasses the --opacity-50 semantic scale; theme tune requires CSS edit
|
|
|
|
|
|
- proposed-fix: use 'var(--opacity-50)' (0.5 is in OPACITY_NUMERIC_KEYS)
|
|
|
|
|
|
- verify: [confirmed] scroll-frames.css:38 'opacity: 0.5;' is a bare decimal opacity where the canonical --opacity-* scale exists (THEME-SYS-2 baseline, 0.5 == --opacity-50). Confirmed MEDIUM magic-opacity drift.
|
|
|
|
|
|
- fix-status: open
|
|
|
|
|
|
|
|
|
|
|
|
## Theming facts (E-bis)
|
|
|
|
|
|
- magic literals: 1.5rem @ src/uix/eidos/components/scroll-frames/scroll-frames.css:33 -> var(--space-3) | 0.5 @ src/uix/eidos/components/scroll-frames/scroll-frames.css:38 -> var(--opacity-50)
|
|
|
|
|
|
- magic z-index: none
|
|
|
|
|
|
- non-canonical names: none
|
|
|
|
|
|
- roles clean: true · variants clean: true
|