Commit graph

1 commit

Author SHA1 Message Date
Claude
7dc7fae1fe
feat(code-reviewer): raise quality score 54.8/D → 72.5/B- with assets, expected outputs, README
Addresses the Phase 3 quality_scorer roadmap items from the plugin audit:
adds the bundled fixtures, sample outputs, and quick-reference README that
the scorer expects, without diverging from the project's minimal-frontmatter
SKILL.md convention.

assets/:
- sample_csharp_smells.cs: a C# fixture with every pattern the skill
  detects (async void, blocking on Task, swallowed Exception, undisposed
  IDisposable, new HttpClient(), missing await, null-forgiving, hardcoded
  connection string, unsafe, dynamic, #pragma warning disable,
  [SuppressMessage], SQL concatenation), each smell labelled inline
- sample_csharp_clean.cs: the same code refactored per the standards in
  references/coding_standards.md — verifies the analyzer produces 0 HIGH
  smells on idiomatic code

expected_outputs/:
- sample_csharp_smells_quality.json: committed analyzer output for the
  smells fixture (F/45, 3 HIGH smells)
- sample_csharp_clean_quality.json: committed analyzer output for the
  clean fixture (A/98, 0 HIGH smells)

These act as a regression harness: diff the live output against the
committed JSON to detect any behaviour change in the analyzer.

scripts/code_quality_checker.py:
- Add _strip_csharp_comments() that removes // line and /* */ block
  comments before running C#-specific regex detectors. Fixes false
  positives where comment prose ("// FIX: await instead of .Result")
  matched a detection pattern.

SKILL.md:
- New ## Examples section pointing at the fixtures + showing how to
  reproduce the expected output with diff
- TOC updated to list "C# / .NET Review Notes" and "Examples"

README.md (new):
- Quick-reference card with how-to, 3 worked examples (one per script),
  pointer to fixtures, pointer to references

Phase re-scores after this change:
- Structure: 86.4/GOOD → 91.3/EXCELLENT (+4.9)
- Quality:   54.8/D    → 72.5/B-       (+17.7)
- Scripts:   3/3 PASS (unchanged)
- Security:  0/0       (unchanged)
2026-05-23 02:24:39 +00:00