Skip to content

Scoring Methodology

Each check returns a numeric score in the range 0.0 to 1.0.

Harnix displays these as percentages:

  • 1.0: 100%
  • 0.75: 75%
  • 0.0: 0%

Per-check statuses are derived from percentage thresholds:

  • ✓ pass: >= 75%
  • △ partial: >= 25%, < 75%
  • ✗ fail: < 25%

The current CLI computes overall score as the arithmetic mean of all evaluated checks:

overall = sum(check scores) / number of evaluated checks

Skipped and inapplicable checks are excluded from the evaluated set.

The overall percentage maps to one of these labels:

  • 0 to 25: Poor
  • 26 to 50: Needs Improvement
  • 51 to 75: Good
  • 76 to 100: Excellent

Each check has an assigned tier that influences its contribution to the overall score:

TierWeightDescription
critical3Essential signals that must be present for reliable agent and human usage
important2Significant signals that improve readiness but are not blockers
nice-to-have1Supplementary signals that indicate mature repository practices

The overall score is computed as a weighted average:

overall = sum(check_score × tier_weight) / sum(tier_weight)

This means critical checks have three times the influence of nice-to-have checks on the final score.

Top recommendations prioritize:

  1. Check tier (critical, then important, then nice-to-have)
  2. Lower score within the same tier

This ordering ensures the most impactful improvements are surfaced first in the console output and reports.