Repository navigation
Description
Scale & performance hardening — Phase 14 core topic (research + design)
Filed from the next-horizons discussion #1240, decided by Drew on 2026-11-05: all themes are planned. This issue is the core topic for Scale & performance hardening. Its job is research and design — broaden the idea beyond what is already understood, set up multiple next steps, and produce implementation plans. No implementation starts here; the output is design documents and implementation issues.
Drew's principles for everything in Phase 14 (from #1240, 2026-11-05)
- Local-first is always the goal, AND a hosted version is intended: central coordination supporting a large graph of broadly accessible objects.
- Anything built must be completely usable by others hosting a small or large server themselves. P2P-hosted worlds and data behave the same as a large hosted public server; differences live in backend scale elements and access controls.
- Users connect to each other and transfer/interact directly wherever possible, so hosted resources are an offloadable backstop, not a requirement. The app must not technically need us to function. Collaborative / shared / federated / local-first / p2p.
- Our hosted instance is essentially public; other operators open theirs only as much as they want. Publishing paths: share to a big server, publish on pkarr, or self-host. All comms through iroh on the backend; first-class clients.
The idea, broadened
Phase 12 makes worlds data; this topic makes them big. Broaden beyond benchmarks: the failure shapes of large worlds (journal growth, replay time, fan-out cost per frame, memory on small hosts), graceful degradation (what a world sheds first under load), and the difference between a big world on a laptop and a big world on the public server — same behavior, different budgets. Every claim here needs the harness (#539) and baselines (#542) to already exist; they now do.
Research questions (first pass)
- Limits inventory: entities, journal entries, members, programs per world — measured, not guessed (stress harness on the laptop + CI)
- Journal growth economics: snapshot/compaction policy, replay-time budget, cold-start of an old world
- Fan-out: bytes/frame per member (extends id(world): F11.9 bytes-per-frame baseline table #542 baselines), backpressure, slow-member isolation
- Degradation ladder: what sheds first — presence detail, history depth, program fuel — and who decides
Dependencies and existing pieces
Builds on #539 benchmark harness and #542 bytes-per-frame baselines (done), F11.7 metrics (#553, done), F12.10 scheduling (#1067), F12.12 presence at scale (#557), F12.13 replication (#806).
Next steps — the version ladder
- v1 — first-iteration design — its own issue, filed in the same pass and linked in the first comment below
- v2 — outline: growth policy — its own issue, filed in the same pass and linked in the first comment below
- v3 — outline: multi-node chaos — its own issue, filed in the same pass and linked in the first comment below
- v4 — outline: public-server targets — its own issue, filed in the same pass and linked in the first comment below
Plus a standing rule for this topic: anything the research surfaces that doesn't fit v1–v4 gets its own issue (Drew's rule: every feature, concept, or idea gets an issue), and future investigations are listed as comments here rather than lost.
Sequencing
Design queue order: F12.4 provider registry (#1061) and F12.10 scheduling/quotas (#1067) designs land first; Phase 14 v1 designs then run hosted worlds → discovery → agents spike → the rest. Implementation follows Phase 13. The drop rule applies throughout: anything that proves blocked, wrong, or superseded gets parked or closed with a note — never a silent stall.
Acceptance criteria
- A research + design output exists for Scale & performance hardening: design documents broadening the topic beyond the current understanding, per the Phase 14 principles in the body (local-first plus hosted coordination).
- Multiple concrete next steps are produced as implementation plans / implementation issues filed from this topic.
- No implementation starts under this issue itself (per its own charter).
Activity
developing-today commentedon Nov 5, 2026
CODE-1847
dezren39 commentedon Nov 5, 2026
Version ladder for this topic (filed in the same pass, 2026-11-05):
Phase 14 plan of record: #6312. Discussion of record: #1240.
dezren39 commentedon Nov 6, 2026
Intake review
🤖 Fleet monitor intake (repo-fleet-monitor), 2026-11-06.
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
opencode, so task 11053 is handed off to the opencode claimant per the worker instruction §1b and parked 1200s pending the claimant launching the bound session; if the park expires first, task 11053 returns to the queue.2 remaining items
dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off
opencode, so the task is handed off — the opencode claimant launches the bound session that drives it to its terminal state.dezren39 commentedon Nov 6, 2026
agent-note:v1
task 11053 picked up by lane code-q and handed off: execution lane assigned
opencodeper fleet queue lane assignment. The laptop opencode claimant should launch the bound session; this lane will park task 11053 for 1200s to await binding. Issue #6281 verified OPEN with no hard-stop labels at handoff (fresh gh check).dezren39 commentedon Nov 6, 2026
agent-note:v1
opencode. Checkpointedhanded_offand parked 1200s for the opencode claimant to launch the bound session.dezren39 commentedon Nov 6, 2026
🤖 Agent note · handed off