Clue by Clue: The Clever Courier Solution
The restaurant delivery person did it. The courier saw James Tuesday morning so he was killed after that, probably when the delivery person brought their dinner Tuesday night.
No one but the killer knew James was dead until Friday. So why didn’t the restaurant delivery person deliver any food Wednesday or Thursday? Chances are the delivery person knew they were dead, meaning they were the killer.
We may never know why James was killed, of course.