Skip to content

codebase-audit v0.2.1

Choose a tag to compare

@aimfeld aimfeld released this 17 Apr 20:40
· 8 commits to main since this release
a379043

Added

  • Dimension 6 now probes IDE-committed static analysis profiles (.idea/inspectionProfiles/*.xml, .vscode/settings.json, .vscode/extensions.json, .editorconfig) as a weaker-but-real enforcement layer alongside CI gates. The probe reports which inspections are enabled="true", which external tools they wire up (PHPStan, Psalm, PHP-CS, PHPMD, ESLint, mypy, rubocop, SpotBugs, .NET analyzers, etc.), and classifies each tool as CI-enforced / IDE-enforced / configured-but-dead — the last being the misleading state where a tool config exists on disk but neither CI nor the IDE profile activates it.
  • Per-language IDE-enforcement probe bullets in references/languages.md for Python (PyCharm / VS Code), JS/TS (WebStorm / VS Code, incl. webpack transpileOnly), Go (GoLand), Ruby (RubyMine), PHP (PhpStorm — expanded with inspection-class reference list including PhpCSValidationInspection, MessDetectorValidationInspection, PhpStanGlobal, PsalmGlobal, SecurityAdvisoriesInspection, ForgottenDebugOutputInspection, DuplicatedCode), Java/Kotlin (IntelliJ / detekt), and C#/.NET (dotnet_diagnostic.* severities, Rider / ReSharper .DotSettings).
  • collect_stats.sh now surfaces IDE-profile artifacts in its output so the assessor sees them without manual grepping.

Changed

  • Dimension 6 grading calibration: IDE-only enforcement (no CI) is still a gap — it doesn't gate merges, runs manually rather than on every PR, and depends on every contributor using the same IDE. But it is now credited instead of silently missed. Reports should name the profile file, list its active inspections, and distinguish "IDE-enforced but not CI-enforced" from "no enforcement at all."

Full changelog · PR #6