Recovery checks that duplicate a DB finish gate can turn "billing pending" into a runtime error
Lesson: when a database finish function is already the authority that keeps a runtime claim leased until external reconciliation completes (e.g. provider billing), an in-process recovery step that returns a plain bool "finalized?" should not treat "pending external reconciliation…