[Improvement] Cancel button works mid-build

Added onJobId callback to orchestrator so the operator UI can render the cancel button immediately after job creation, not only after completion. The cancel endpoint updates the DB status to "cancelled" and writes an audit row. Cooperative cancellation — having the orchestrator poll the status mid-run and abort an in-flight build — is still in progress, so today an already-running build completes naturally even after Cancel is hit.

Shipped in: #5132