Background
The recent combinatorial auction implementation highlighted the need to stop relying on scores provided by solvers and to start using our computed scores instead. While the combinatorial auction logic already relies solely on computed scores, other parts of the autopilot—such as the legacy MaxScore implementation and database storage—still use solver-provided scores.
Once the combinatorial auction cutover (#3387) is complete, we should fully transition to computed scores:
- Compute the score during construction of the
Solution struct
- Use a single field for the score (currently, we have both
Solution.score and Solution.computed_score)
- Remove the score from the solver API, so solvers no longer need to provide it
- Store the computed score in the database
Ref: #3397 (comment)
Background
The recent combinatorial auction implementation highlighted the need to stop relying on scores provided by solvers and to start using our computed scores instead. While the combinatorial auction logic already relies solely on computed scores, other parts of the autopilot—such as the legacy MaxScore implementation and database storage—still use solver-provided scores.
Once the combinatorial auction cutover (#3387) is complete, we should fully transition to computed scores:
SolutionstructSolution.scoreandSolution.computed_score)Ref: #3397 (comment)