You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
2.6 KiB
36 lines
2.6 KiB
# Audit: meter
|
|
audit-version: 1
|
|
audited-at: 2026-06-26
|
|
scope:
|
|
method: adversarially-verified workflow; HIGH lead-verified. B7 ground-truth: Toolbar A35 + Form A36 incidents STAYED FIXED (untrack present); toast/clipboard/drag-drop use uix.timers (no A6 leak); button is clean (its archetype finding was inert — Spinner not runtime-registered); data-size/data-shape are eidos visual attrs (not contract violations).
|
|
provider: G:/dev/svelte/vicen/src/uix/soma/components/meter/meter-provider.svelte.ts
|
|
cleanup-audit (A6/A35/A36): MeterProvider: NO timers, listeners, observers, or resources requiring disposal. All state is via $derived (safe, reactive). MeterIndicatorProvider: same - no cleanup needed. A35/A36 loops: NOT POSSIBLE - no $effect usage anywhere, only safe $derived and readableActive helpers. Result: clean lifecyc
|
|
|
|
## Summary
|
|
Counts (post-verification): CRITICAL 0 · HIGH 0 · MEDIUM 1 · LOW 0.
|
|
|
|
## Findings
|
|
### MEDIUM: SYS-1 scope-drift: eidos recipe/dir exists but morfo `scope` omits 'eidos' — meter-SYS1-scope <!-- id: meter-SYS1-scope -->
|
|
- dimension: A
|
|
- rule: SYS-1 scope-drift: eidos recipe/dir exists but morfo `scope` omits 'eidos'
|
|
- location: src/uix/morfo/components/meter.ts:7
|
|
- evidence: Morfo declares `scope: ['soma']` (meter.ts:7), yet a full eidos layer materializes the component: a recipe entry `meter: { ... }` at src/uix/eidos/lib/recipes/base.ts:981-1010 (height/radius/ring/track/indicator tokens), and an eidos component dir src/uix/eidos/components/meter/ containing meter.css, meter.svelte (visual wrapper, size+shape), meter-indicator.svelte, types.ts. The scope array does not list 'eidos' despite this eidos materialization.
|
|
- impact: Contract metadata drift: the morfo scope no longer reflects which layers consume the component. Tooling/lint that keys off `scope` to know an eidos recipe should exist will under-report. Consistency only — runtime behavior unaffected.
|
|
- proposed-fix: Add 'eidos' to the meter morfo `scope` array: `scope: ['soma', 'eidos']`, matching the other B7 components that declare the eidos scope.
|
|
- verify: [verifier-added] added by adversarial verify pass
|
|
- fix-status: open
|
|
|
|
## No-findings dimensions
|
|
B, C, D, E, F, G
|
|
|
|
## Theming facts (E-bis)
|
|
- magic z-index: none
|
|
- magic literals: none
|
|
- undeclared parts: none
|
|
- roles clean: true · variants clean: true
|
|
|
|
## Tests (F)
|
|
- exists: true · env: jsdom
|
|
- covers: meter value attrs and indicator zone projection; default resolution and clamping; labelledby and valueText overrides
|
|
- untested: circular shape variant; responsive size changes; edge cases for optimum threshold calculation
|