Context
SPEC-03 defines static analysis as (lint_score * 0.5) + (type_score * 0.5). The implementation has lint scoring but no separate type checker scoring.
Current Behavior
discover_eval_config detects type checkers (mypy, tsc) and stores type_check_command, but neither runner.py nor dimensions.py uses it. The "lint" dimension only runs the lint command.
Expected Behavior
Run the type checker command, parse its output (error count), and combine with lint score: static_analysis = lint_score * 0.5 + type_score * 0.5.
Impact
- Type regressions go undetected in evaluation
- Projects with strict type checking (mypy strict, tsc) don't get credit for maintaining type safety
References
atlas-specs/03-EVALUATION.md — static analysis formula
atlas/evaluation/discovery.py — type_check_command detected but unused
atlas/evaluation/dimensions.py — no score_types function
Context
SPEC-03 defines static analysis as
(lint_score * 0.5) + (type_score * 0.5). The implementation has lint scoring but no separate type checker scoring.Current Behavior
discover_eval_configdetects type checkers (mypy, tsc) and storestype_check_command, but neitherrunner.pynordimensions.pyuses it. The "lint" dimension only runs the lint command.Expected Behavior
Run the type checker command, parse its output (error count), and combine with lint score:
static_analysis = lint_score * 0.5 + type_score * 0.5.Impact
References
atlas-specs/03-EVALUATION.md— static analysis formulaatlas/evaluation/discovery.py—type_check_commanddetected but unusedatlas/evaluation/dimensions.py— noscore_typesfunction