act_runner v0.2.x does not expose gitea.run_attempt, so release archive and workspace paths rendered with a trailing dash. Use gitea.run_id only, matching the Meet/CRM deploy workflows.
Falls back to downloading Node only when host npm is unavailable, fixing npm ci failures on ladill-deploy-runner.
Visitor management app with SSO, kiosk, badges, reports, and Gitea CI deploy to frontdesk.ladill.com. Co-authored-by: Cursor <cursoragent@cursor.com>