Skip to content

id(phase-14): Hosted worlds & always-on hosting — core topic (research + design) #6276

Open

Description

@dezren39

Hosted worlds & always-on hosting — 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 Hosted worlds & always-on hosting. 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

A world today lives while a host process runs. Hosting asks: what is a world when nobody is connected? Broaden beyond 'run the same binary on a VPS': world persistence semantics, who may wake/pause a world, journal custody and backup, operator trust, and how a hosted world stays the same object as the local one (same journal, same programs, same ceilings) so moving a world between a laptop, a home server and a public host is a transfer, not a port. Include the split Drew named: a totally public main endpoint, with deeper backend pieces as separate iroh/id servers behind private tunnels with limited trusted access.

Research questions (first pass)

  • World lifecycle states (live, asleep, archived) and who can transition them under the role model (Phase 10 roles, F12.3 authority frames)
  • Journal custody: encryption at rest, snapshot/export formats, restore drills — what 'backup' means for a journaled world
  • Basement cluster as the first hosting target: capacity, power/egress limits, what breaks first
  • Hosted vs local parity checklist: which behaviors must be identical, which are legitimately backend-only (quotas, abuse controls, storage tiers)

Dependencies and existing pieces

Builds on F12.11 multi-node worlds (#805), F12.13 journal replication (#806), F12.10 quotas (#1067), #227 journal rollback compatibility (done). First Phase 14 implementation theme (with discovery).

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: custody & lifecycle — its own issue, filed in the same pass and linked in the first comment below
  • v3 — outline: many nodes — its own issue, filed in the same pass and linked in the first comment below
  • v4 — outline: public-server operation — 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.

Activity

  1. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 6, 2026
  4. added
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 6, 2026
  5. 17 remaining items

  6. added
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 6, 2026
  7. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  8. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    Handed off to opencode claimant per execution-lane assignment (task 11048, issue #6276).

    • Verified fresh via gh (REST): issue id(phase-14): Hosted worlds & always-on hosting — core topic (research + design) #6276 OPEN, no hard-stop labels (held / user/owned / do-not-merge / do-not-auto-edit).
    • Execution lane: assigned_lane=opencode, session_id=null at handoff — claimant polls and launches the bound session; this lane does not work it directly (instruction §1b).
    • Parked 20 minutes pending claimant launch. Attempts 2/6 at handoff.
  9. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  10. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  11. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  12. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  13. added
    queue/claimedQueue worker lifecycle state
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    queue/claimedQueue worker lifecycle state
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    app/idPackage/app: id (pkgs/ or apps/ in this repo)effort/lLarge: multi-day or open-ended; expect staged check-inskind/featureNew feature or capability requestpriority/normalOrdinary priority (the default)queue/parkedQueue task is parked (waiting on CI, time, or an event)source/humanFiled directly by a humanstatus/parkedDeliberately paused with a recorded resume conditiontask/triageQueue packet kind: verify, reproduce, and route this itemwork/assignedQueue worker lifecycle state

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions