Files
initiative/specs/031-quality-gates-hygiene/data-model.md

36 lines
1.3 KiB
Markdown

# 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 `<div>` with `onClickCapture` to stop propagation, replacing the current pattern of `<div onClick={e => 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.