Determinism
The model labels and rephrases. It never scores.
Qwen3:8b does exactly two jobs: classify a clause against a 30-type taxonomy, and rephrase a finding that has already been computed. Every score comes from formulas F-001 to F-014 whose weights and thresholds are read from a formula_version row, never hardcoded — so a score can be traced to the exact formula version that produced it. If a number could move because a model felt different today, nobody could stand behind the report.
app/services/scoring/ · formula_version