v0.3.0 — Subagents, safe MCP config, --diff mode, PR comments
Highlights
New checks: subagents and safe MCP config. The scanner now recognizes .cursor/agents/*.md custom subagents (AGT-01, AGT-02) and rewards a .cursor/mcp.json that uses ${ENV_VAR} interpolation for credential-shaped fields instead of hardcoding them (HYG-08) — the positive complement to the existing HYG-04 leak check. The rubric grows from 100 to 108 points across the same six dimensions (Skills & Commands 12→17, Hygiene & Safety 20→23); level thresholds are unchanged, since they're percentage-based per dimension.
Track your score over time. harness-score --diff <baseline.json> compares a scan against a previously saved report — level, score, and per-dimension deltas, plus exactly which checks flipped pass/fail. Works with --json and --md output too.
PR comments from the GitHub Action. Set comment: 'true' on a pull_request workflow and the action posts (and updates) a sticky comment showing your harness score move — "L2 → L3" — right on the PR, instead of a job-summary-only snapshot. Requires the workflow to grant pull-requests: write.
Also in this release
- A dedicated bug-hunting pass (run before anything shipped) fixed a real security blind spot: the new
HYG-08check previously missed literal secrets stored inside JSON arrays (e.g."apiKeys": ["sk-...", ...]) and silently accepted numeric/boolean credential values. Both are now caught. --diffnow validates that a baseline file actually looks like aharness-scorereport before comparing, instead of crashing on malformed input — and flags when a baseline comes from a different rubric version, so score deltas aren't misread as regressions.- The Action's PR-comment feature now works correctly for monorepo consumers using
working-directory, and no longer risks duplicate comments on long-running PRs. - Fixed a live CI failure unrelated to any of the above (a Biome false-positive on Vue single-file components, plus a real formatting issue) —
mainis green again. - 66 tests (up from 45); this repository still dogfoods its own scanner at L4 · Self-correcting, 108/108 (100%).
Upgrading
No breaking changes. If you pin harness-score in CI, no action is needed beyond bumping the version — the two new checks only add points, they never remove them.
npx harness-score@latestFull changelog: v0.1.2...v0.3.0