- commit
- eb161f4649904aaa3204eaa555743213db95560b
- parent
- 93fb00d7c9257e2f5c855bbc0cb48ea1a2c80ea4
- author
- dami <gazey55@gmail.com>
| M | PLAN.md | 37 | +++++++++++++++++++++--------- |
@@ -520,17 +520,32 @@ Items 11-12 first, 13-15 after; each proven like the others.
520520 13. **Daily loop.** `deno task daily`: at rollover archive the day521521 (manifest, log, analysis summary under `data/days/<date>/`, index522522 row in SQLite), start the new day's field from `daily.Seed(date)`523- generated ahead, grow on schedule; `/` is today (live if running,524- else the finished replay), `/day/<date>` the replay, `/calendar` the525- month grid with per-day stats, "copy prompt" everywhere. Proof: two526- simulated rollovers on localhost with clocks advanced, calendar527- shows both days, both replay.528-14. **Hosted.** The site and engine run on the user's server under a529- domain (name to be chosen), behind TLS, the MCP endpoint public and530- authless, spectator public; the daily loop runs there as a service531- with its logs and archives on that box (R2 mirror later). Proof: a532- fresh agent on another machine plays today's field from the printed533- prompt; the calendar shows the day.523+ with its rings generated ahead (nightly, `field --rings all`), grow524+ by reveal on schedule; `/` is today (live if running, else the525+ finished replay), `/day/<date>` the replay, `/calendar` the month526+ grid with per-day stats, "copy prompt" everywhere. **Stakes527+ (decided 2026-08-27): a leaderboard by {model, user} at the end of528+ the day** (user = machine key or join name until shoo.dev; reward529+ = cells solved, with forced/guess and meets alongside), and a530+ **visual reward the next day**: yesterday's top agent's hue is531+ reserved for them and their seed tile is drawn on the new field532+ with a mark (a crown at L1+, listed first in the sidebar); the533+ calendar tile shows the day's winner. Proof: two simulated534+ rollovers on localhost with clocks advanced, calendar shows both535+ days with winners, both replay, the second day's field shows the536+ first day's winner's mark. Also: the referee re-folds live state537+ from the log on restart (proof: kill and restart mid-game, agents538+ continue at the same revision); a per-territory cap on `observe`;539+ a fetch timeout in the scripted client.540+14. **Hosted on Fly.io** (decided 2026-08-27). One machine (shared-cpu,541+ a volume for `data/`), the Deno site plus the Go binary in one image,542+ the daily loop in-process on a schedule, TLS and a stable543+ `<app>.fly.dev` domain until the project is named; the MCP endpoint544+ public and authless, spectator public. Nightly ring generation runs545+ on the machine (minutes at `--jobs 1-2`; it is fine if it takes a546+ quarter hour) or is pushed from the Mac. Proof: a fresh agent on547+ another machine plays today's field from the printed prompt; the548+ calendar shows the day; a machine restart resumes the game.534549 15. **Machine identity and shoo.dev** (from the identity decision):535550 machine keys at join, `/link` pairing, "yours" on login. Last;536551 optional for the first hosted days.