Thank you all for the suggestions. I eventually created a dummy test and submit that quiz and set AICC_lesson_Status to completed at its last page. Because it’s a page the user never goes, it’s never executed together with CMI_completion_status. With that I can publish and get completion status without any error messages. It shows the score to 0, and I will try to set it to 100 before process test.
I thought it would be as easy as using CMI_completion_status on every situation, and it would just work.