diff --git a/docs/checkpoints/PC1.md b/docs/checkpoints/PC1.md index 3da02c9..6861b69 100644 --- a/docs/checkpoints/PC1.md +++ b/docs/checkpoints/PC1.md @@ -37,45 +37,33 @@ the real scope of PC1; don't expect more when playtesting. ## Manual playtest: backend on cloudbison, client on pinkbison -Cloudbison's LAN IP: `192.168.58.138`. Pinkbison's: `192.168.58.124`. +As of 2026-08-20 this is dashboard-controlled — no terminal commands, no +env vars, no editing files. Foolproof enough to hand to someone else. -### 1. On cloudbison — start a real (persistent, not throwaway) backend +### 1. On cloudbison — the AGP dashboard -```bash -cd ~ -git clone http://localhost:3000/daddy/agp-game.git agp-game-playtest -cd agp-game-playtest/backend -docker compose up -d postgres -docker compose exec -T postgres pg_isready -U agp_user -d agp_db # wait for this to succeed +Open the dashboard (`http://cloudbison:7070`, or its Tailscale address) and +go to **PC1** in the nav bar (`/checkpoint/PC1`). Click **Start Backend** — +it pulls the latest `main`, stands up Postgres, runs migrations, and starts +the API server, all in one step. The page shows the LAN address it's +reachable at once it's up (under a minute). -export DATABASE_URL="postgresql+asyncpg://agp_user:agp_password@localhost:5432/agp_db" -export JWT_ALGORITHM="RS256" -/home/daddy/agp/venv/bin/python3 -m alembic upgrade head -nohup /home/daddy/agp/venv/bin/python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000 > /tmp/agp-backend.log 2>&1 & -disown -``` +When you're done playtesting, click **Stop & Clean Up** on the same page — +it tears down everything that step started (API server, Postgres +container, its volume and network). Nothing is left running or lying +around afterward, even if the dashboard itself gets restarted in between. -`--host 0.0.0.0` matters — the default `127.0.0.1` only listens on loopback -and pinkbison won't be able to reach it. Verify: `curl -http://localhost:8000/api/health` should return `{"status":"ok",...}`. +### 2. On pinkbison — download and run the .exe -### 2. On pinkbison — get the game and point it at cloudbison - -Copy `export/windows/agp-game.exe` (or `export/linux/agp-game.x86_64`, -whichever matches pinkbison's OS) from cloudbison, or clone the repo there -and run `scripts/build.sh` locally. Launch with the backend URL as an env -var so you don't have to rebuild to change it: - -- Windows (PowerShell): `$env:AGP_API_BASE_URL="http://192.168.58.138:8000"; .\agp-game.exe` -- Linux: `AGP_API_BASE_URL=http://192.168.58.138:8000 ./agp-game.x86_64` +Same dashboard page: click **Build .exe** the first time (or **Rebuild** to +pick up newer changes) — this pulls the latest `main` and exports a Windows +binary with cloudbison's backend address already baked in. Click +**Download agp-game.exe**, copy it to pinkbison, and just run it. No +environment variable, no config file, no build step on pinkbison at all. ### 3. Tear down when done -```bash -# on cloudbison -pkill -f "uvicorn app.main:app" -cd ~/agp-game-playtest/backend && docker compose down -v -``` +**Stop & Clean Up** on the dashboard page. That's it. ## Status