ensureWorkspaceProvisioned was bailing out as soon as provision_status=='ready', even if gitea_bot_token_encrypted had been cleared (e.g. after a manual rotation). Check every sub-resource is present before skipping. Made-with: Cursor