# Data Model: Quality Gates & Code Hygiene **Feature**: 031-quality-gates-hygiene **Date**: 2026-03-11 ## Overview This feature has no new domain entities. It modifies configuration files, documentation, and refactors existing code for lint compliance. No data model changes. ## Configuration Artifacts ### Vitest Coverage Config (vitest.config.ts) New `test.coverage` block: - `provider`: "v8" - `enabled`: true - `thresholds.lines`: 70 (initial, auto-ratchets) - `thresholds.branches`: 60 (initial, auto-ratchets) - `thresholds.autoUpdate`: true ### Biome Config (biome.json) New rules under `linter.rules`: - `complexity.noExcessiveCognitiveComplexity`: error, maxAllowedComplexity: 15 - `a11y.noNoninteractiveElementInteractions`: error ### Check Script (package.json) Updated `check` script adds `pnpm audit --audit-level=high` step. ## New Component ### StopPropagation Wrapper (apps/web/src/components/) A small presentational component that wraps children in a `
` with `onClickCapture` to stop propagation, replacing the current pattern of `
e.stopPropagation()}>` that requires biome-ignore comments. Exact implementation TBD during task execution — alternatives include using `role="presentation"` or restructuring the click handling logic in the parent row.