# Rehearsal Room agent, one-prompt install (v1.5.2)

Everything below the line is one prompt. Fill in the two placeholders at the top, paste the
whole thing into Claude Code on the room Mac, and leave it alone until it prints a verdict.

## Before you paste

1. Claude Code is installed on that Mac and signed in. Check: `claude --version` answers.
2. UAD Console is installed, the Apollo is connected and powered on.
3. You are sitting at that Mac, logged into the desktop, in that user's own account.
4. You have the room id and a fresh enrollment code from Greg. Codes are single use and
   expire in 24 hours.
5. The Mac's admin password is optional. Nothing the mode switch needs depends on it: the
   agent runs under caffeinate and holds its own no-sleep assertion. A password buys the
   extra hardening only, so if nobody has it, the install still finishes.

Time: about 15 minutes, most of it waiting.

---

ROOM: studio-c
ENROLLMENT CODE: RR-XXXXX-XXXXX-XXXXX-XXXXX

You are installing the Recording Club Rehearsal Room mode agent on this Mac. Use the ROOM and
ENROLLMENT CODE above. Work autonomously: do not ask me questions, decide and proceed, and do
not stop until you have a verdict.

Do all of this:

1. Download and verify the bundle.
   curl -fsSL -o /tmp/rr-room-bundle-v1.5.2.tgz https://rrsetup.gregspero.com/rr-room-bundle-v1.5.2.tgz
   curl -fsSL -o /tmp/rr-room-bundle-v1.5.2.tgz.sha256 https://rrsetup.gregspero.com/rr-room-bundle-v1.5.2.tgz.sha256
   cd /tmp && shasum -a 256 -c rr-room-bundle-v1.5.2.tgz.sha256
   If the checksum does not match, stop and tell me. Do not install an unverified bundle.
   Then: tar xzf /tmp/rr-room-bundle-v1.5.2.tgz -C /tmp

2. Run the installer and read its JSON.
   bash /tmp/rr-room-bundle/install.sh --room <ROOM> --enroll <CODE> --json
   Human progress goes to stderr, the JSON summary to stdout. Parse the JSON. Every step carries
   name, status, detail and remedy. Do not read the colored text instead of the JSON.

3. Fix what you can, yourself, then re-run. The installer is idempotent, so re-running it is the
   normal way to confirm a fix. Handle at least these:
   - preflight_clt needs_human: run `xcode-select --install`. If a GUI dialog appears, tell me
     to click Install, wait for it to finish, then re-run the installer.
   - launchagent fail with "Bootstrap failed: 5: Input/output error": the old job has not gone
     away yet. `launchctl bootout gui/$(id -u)/club.therecording.rr-mode`, wait until
     `launchctl print gui/$(id -u)/club.therecording.rr-mode` returns non-zero, then re-run.
   - launchagent or login_items_background needs_human: background items are blocked for the app
     that ran the installer. Open the pane with
     `open "x-apple.systempreferences:com.apple.LoginItems-Settings.extension"`, tell me the exact
     name of the single toggle to turn on under Allow in the Background, wait for me to say done,
     then re-run the installer.
   - enroll fail with already_used or expired: the code is spent. Stop and ask me for a new one.
     Do not retry the same code.
   - console_detect or apollo_detect needs_human: report it, carry on with the rest, and put it in
     the final human list. Do not try to install UAD Console yourself.

4. The admin password is optional, so never block on it. Ask at most once, and only if the
   installer's system_settings step says it needs one. Say what it is for before asking: wake for
   network, restart after a power failure, and auto-login if FileVault is off. Idle sleep is NOT
   on that list any more, because the LaunchAgent runs the agent under `caffeinate -s -i` and the
   assertion lasts as long as the agent does. If I decline, mark the step for me and keep going.
   Never store the password anywhere.

5. Run the installer again after every fix, until the JSON has no `failed` entries. Stop retrying a
   step after three attempts and report it instead of looping.

6. Verify for real, not by reading your own output:
   - `launchctl print gui/$(id -u)/club.therecording.rr-mode` shows the job loaded
   - `tail -40 ~/Library/Logs/rr-mode.log` shows a successful wait call, no repeating error
   - the installer's probe and test steps both passed
   - the door step confirms the room reads online

7. Finish with exactly this, and nothing else:
   - INSTALLED OK, or the list of what failed
   - the probe result: which load verb won
   - the test counts
   - a numbered list of anything a human still has to do, each with the exact click or command

Rules: never paste the enrollment code, the room token, or the file secret into a log, a URL, a
file you leave behind, or your reply to me. Do not modify anything outside ~/trc-room,
~/Library/LaunchAgents, and the settings the installer changes. Do not send any email or message.
If you are blocked in a way you cannot fix, say exactly what is blocking you and what I should do.

---

## If it goes wrong

Nothing here is destructive. To start over: `bash ~/trc-room/uninstall.sh --purge`, get a fresh
enrollment code, paste the prompt again.

The manual path, step by step, is the appendix of the runbook:
https://rrsetup.gregspero.com/rr-mode-runbook-v1.4.html
