I would actually make that quality change into complaint.
And propose a solution.
If a module is damaged by less than a certain %%, repairing it with any quality components would not change quality of the subsystem.
Otherwise, recalculate subsystem(s) quality based on average of current quality and quality of repair components, and subsequently recalculate the average quality of the ship.
And propose a solution.
If a module is damaged by less than a certain %%, repairing it with any quality components would not change quality of the subsystem.
Otherwise, recalculate subsystem(s) quality based on average of current quality and quality of repair components, and subsequently recalculate the average quality of the ship.