Skip to content

Commit ad508e3

Browse files
alpslaclaude
andcommitted
fix(score): Fix P0 Issue #3 - Skill Score now uses base=50 consistently
ISSUE: - calculateSimplifiedScore() was using base=100 for Skill Score - calculateFullV9Score() correctly used base=50 - Inconsistency caused incorrect Skill Score calculations in fallback mode FIX: - Updated calculateSimplifiedScore() to use base=50 for skillCategoryScores - Changed lines 463-467 from base=100 to base=50 - Both functions now consistently use: * APP Score: base=100 (repository health) * Skill Score: base=50 (developer skill threshold) RATIONALE: - base=50 distinguishes developers: 0 issues = 50/100 (passing threshold) - Developers with issues score <50 (clear signal of problems) - Consistent scoring across all code paths TESTING: - TypeScript compilation: PASSED (no errors) - Verified in score-calculator.ts lines 459-468 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent c00d47d commit ad508e3

1 file changed

Lines changed: 8 additions & 7 deletions

File tree

packages/agents/src/two-branch/report/score-calculator.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -456,14 +456,15 @@ export function calculateSimplifiedScore(issues: EnrichedIssue[]): any {
456456
codeQuality: calculateCategoryScore(issuesByCategory.codeQuality, 100)
457457
};
458458

459-
// BUG #4 FIX: Calculate skill category scores with base=100 (for Skill Score)
460-
// Changed from base=50 to base=100 for better UX (0 issues = 100/100, not 50/100)
459+
// P0 ISSUE #3 FIX: Calculate skill category scores with base=50 (for Skill Score)
460+
// Skill Score uses base=50 to distinguish developers: 0 issues = 50/100 (passing threshold)
461+
// Developers with issues score <50 (clear signal of problems needing improvement)
461462
const skillCategoryScores = {
462-
security: calculateCategoryScore(issuesByCategory.security, 100),
463-
performance: calculateCategoryScore(issuesByCategory.performance, 100),
464-
architecture: calculateCategoryScore(issuesByCategory.architecture, 100),
465-
dependency: calculateCategoryScore(issuesByCategory.dependency, 100),
466-
codeQuality: calculateCategoryScore(issuesByCategory.codeQuality, 100)
463+
security: calculateCategoryScore(issuesByCategory.security, 50),
464+
performance: calculateCategoryScore(issuesByCategory.performance, 50),
465+
architecture: calculateCategoryScore(issuesByCategory.architecture, 50),
466+
dependency: calculateCategoryScore(issuesByCategory.dependency, 50),
467+
codeQuality: calculateCategoryScore(issuesByCategory.codeQuality, 50)
467468
};
468469

469470
// APP Score = MIN of all categories (weakest link)

0 commit comments

Comments
 (0)