diff --git a/docs/quality-baseline.md b/docs/quality-baseline.md new file mode 100644 index 00000000..a97d21a5 --- /dev/null +++ b/docs/quality-baseline.md @@ -0,0 +1,38 @@ +# Quality Baseline — 2026-03-11 + +Regression target: violation counts must only go down, never up. + +## Metrics + +| Metric | Count | Status | +|--------|-------|--------| +| Silent catches | 22 | comment-only catch blocks across 15 files | +| Console statements (non-dev-gated) | 78 | console.log/warn/error not wrapped in DEV check | +| `any` types | 15 | `: any`, `as any`, `` across 6 files | +| TypeScript type-check | 0 errors | PASS | +| Build | 0 errors | PASS (2.2s) | +| Tests | 41 passed, 0 failed | PASS | + +## Top Offenders + +### Console Statements +- `src/api/websocket.ts` — 24 +- `src/stores/app.ts` — 13 +- `src/views/Marketplace.vue` — 6 +- `src/views/MarketplaceAppDetails.vue` — 6 + +### Any Types +- `src/views/Marketplace.vue` — 5 +- `src/components/PWAInstallPrompt.vue` — 3 +- `src/views/ContainerAppDetails.vue` — 3 +- `src/views/Apps.vue` — 2 +- `src/views/ContainerApps.vue` — 1 +- `src/views/Dashboard.vue` — 1 + +### Silent Catches +- `src/utils/githubAppInfo.ts` — 4 +- `src/views/Web5.vue` — 2 +- `src/views/Settings.vue` — 2 +- `src/views/Home.vue` — 2 +- `src/components/AppLauncherOverlay.vue` — 2 +- Remaining 10 files — 1 each diff --git a/loop/plan.md b/loop/plan.md index 5116fa8c..5297fae7 100644 --- a/loop/plan.md +++ b/loop/plan.md @@ -64,7 +64,7 @@ #### Sprint 4: Quality Baseline (Week 7-8) -- [ ] **QUAL-01** — Run full sweep and record baseline. Execute `/sweep` skill. Record the initial violation counts in `docs/quality-baseline.md`. This becomes the regression target -- violation counts must only go down, never up. **Acceptance**: Baseline document exists with all metrics. +- [x] **QUAL-01** — Run full sweep and record baseline. Execute `/sweep` skill. Record the initial violation counts in `docs/quality-baseline.md`. This becomes the regression target -- violation counts must only go down, never up. **Acceptance**: Baseline document exists with all metrics. - [ ] **QUAL-02** — Fix all silent catch blocks. Grep for empty catch blocks across `neode-ui/src/`. Each silent catch should either: log in dev mode (`if (import.meta.env.DEV) console.warn(...)`), re-throw, or handle the error in the UI. Target: zero silent catches. **Acceptance**: `/sweep` "Silent catches" = PASS.