docs: PRD + plan to move FruitCake "Watch AI" to the client (M30)#22
Closed
PieterjanDeClippel wants to merge 1 commit into
Closed
docs: PRD + plan to move FruitCake "Watch AI" to the client (M30)#22PieterjanDeClippel wants to merge 1 commit into
PieterjanDeClippel wants to merge 1 commit into
Conversation
Move the FruitCake "Watch AI" agent (net inference, observation, physics, depth-3 search) entirely into the browser, collapsing the server to static-asset + checkpoint hosting and eliminating the per-viewer standing CPU cost on the CPU-only Hetzner VPS. Deliberately reverses the original server-authoritative serving decision (FRUITCAKE_AI_PRD.md 4.6/4.8); central de-risk is the C#<->TS physics conformance test (4.8 recommended-but-unbuilt), shipping on same-column-choice parity rather than bit-equality. Server engine preserved as the training path + parity oracle. Plan G0-G7 in the PRD; PLAN.md M30. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Member
Author
|
Superseded — closing. This docs-only PRD proposed moving FruitCake's "Watch AI" into the browser; that's now shipped:
The delivered approach differs from this draft in the good direction: rather than a bespoke TS net + |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Adds
docs/prd/FRUITCAKE_CLIENT_AI_PRD.mdand the matching M30 milestone entry inPLAN.md. Docs only — no code changes.Why
FruitCake's "Watch AI" runs entirely server-side today: a per-connection WebSocket loop runs the C# physics +
DuelingQNet+ depth-3 search, streaming ~30 fps frames (FruitCakeController.Live). On the CPU-only Hetzner VPS that's a persistent per-viewer CPU cost with no admission control — N viewers saturate the cores and frame deadlines slip for everyone.This PRD moves the whole agent into the browser (net inference, observation, physics, search), collapsing the server to static-asset + checkpoint hosting. Per-viewer standing CPU → ~0.
Key points
FRUITCAKE_AI_PRD.md§4.6/§4.8) — the target shifted from "ship correctly" to "serve cheaply at concurrency."FruitCakeWorld/Env/Search/Controllerstay for training + as the parity oracle; the WS just leaves the serving hot path (optionally flag-gated)./api/fruitcake/weights→ TS observation → TS physics search surface → conformance test → TS search → Web Worker + UI cutover → ≥200-game client-vs-server validation → (stretch) generalize to Snake/MountainCar.🤖 Generated with Claude Code