Wave 2: data-hygiene severity_counts foots to total_issues - #14
Open
MsShawnP wants to merge 4 commits into
Open
Conversation
The severity breakdown drawn from high_issues/medium_issues/low_issues undercounts: those are findings-only, but duplicates, fuzzy duplicates, and schema violations carry a severity too, so H+M+L did not reconcile to the headline total_issues (52 vs 59 on the messy sample — the 7 duplicates were missing). Adds AuditResult.severity_counts, which counts every issue type by severity and foots exactly (23+20+16 == 59). Regression-locked. The Finding-typed high/medium/low properties are unchanged (non-breaking for the published API). Version 1.2.1 -> 1.3.0 (staged, not published). Full suite 267 passed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…te-pattern count Prompt 6 step 0.f. The committed samples/output/ reports were last regenerated at 1.2.0; regenerate them from current source so the shipped showcase reflects the 1.3.0 tool (visible counts unchanged — 59 issues 23H/20M/16L, health 42/100 — since they already footed). README "What It Detects" said 6 date patterns; DATE_PATTERNS actually has 9 (phone 7 / currency 6 were correct). Verified with engagement-template/scripts/scan_binaries_for_drift.py: 0 retired tokens across all 6 tracked binaries (char counts confirm real extraction), the scenario the 2026-08-04 binary scan named as most likely to reintroduce a figure. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Prompt 6 step 0.e. core.hooksPath (the local pre-push guard) is inert on a fresh clone, so a force-added active engagement.yml could otherwise reach a deploy. Add an 'Engagement guard' step (python3 scripts/engagement_guard.py — python3 is preinstalled on ubuntu-latest) right after checkout in the deploy path, so the guard runs server-side regardless of local git config. No-op for demo/clean checkouts (engagement.yml is gitignored). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Wave 2 — data-hygiene-auditor severity footing
Fix: the severity breakdown (
high_issues/medium_issues/low_issues) is findings-only, but duplicates, fuzzy duplicates, and schema violations carry a severity too — so H+M+L did not foot tototal_issues. Reproduced on the messy sample: H+M+L = 52 vs total_issues = 59 (the 7 severity-tagged duplicates were excluded).Adds
AuditResult.severity_counts— counts every issue type by severity, reconciling exactly ({High:23, Medium:20, Low:16}= 59). The Finding-typedhigh/medium/low_issuesare unchanged (non-breaking for the published API);severity_countsis the reconciling view. Regression-locked (test_severity_counts_foot_to_total_issues).Version 1.2.1 → 1.3.0 (staged, not published).
Deferred (needs Shawn): stale showcase artifacts ("42" with no scale) + README pattern-count drift — cosmetic regen, not the correctness fix.
Verification
🤖 Generated with Claude Code