Skip to content

id: research: prior art — capability systems, OCAP, Spritely Goblins/OCapN, CRDT shared worlds #5989

Open

Description

@dezren39

Part of the worlds design program: #5955. Statements S77 and S110 of the 2026-11-04 brief: the last part of the brief is research into capabilities, state of the art, predecessors, and prior art.

Scope (Drew, in substance)

A strong influence would definitely be Spritely Goblins and all the variety of research and innovation around CRDTs, OCapN, and shared virtual worlds and real estate. Survey that space and map it against our model:

  • Object-capability systems: E, Joule, Cap'n Proto, seL4-style capability hardware/OS work — the theory our "pass the platform in, nothing ambient" model (programming-model child of #5955) descends from. Where do we follow ocap discipline exactly, and where do we deliberately deviate (e.g., compile-time platform ceilings are not classic ocap)?
  • Spritely Goblins / OCapN: transactional actors, distributed object protocols, petnames — mapped against our identity/invite system (#5751) and writer-set authority (#5545).
  • CRDTs and shared state: which of our world-state problems are CRDT-shaped (presence, shared documents, collaborative building) and which are authority-shaped (game state under a world author's rules) — the line matters and the survey should draw it.
  • Shared virtual worlds & real estate: the land/ownership line from Habitat through Second Life parcels to modern attempts — what "real estate" means when the world is user-hosted (self-hosting child of #5955).
  • Adjacent modern work: WebAssembly component model / WASI capabilities (the cross-cutting layer of the capability-provider survey #5931 — coordinate, don't duplicate: that survey covers provider classes; this one covers capability theory and protocols).

Done looks like

A research doc with a per-system entry and an explicit "adopt / adapt / reject, because" line for our design for each — feeding the programming-model, capability-model, and self-hosting children.

Activity

  1. added
    priority/normalOrdinary priority (the default)
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    kind/designA design proposal (design-architect): multi-step, phased, decision-bearing
    on Nov 5, 2026
  2. developing-today commented on Nov 5, 2026

    @developing-today
    Contributor
  3. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    Wave-2 tie-in (finding F5) — part of this survey was already paid for once.

    On 2026-10-10, a dedicated research task (OpenCode session ses_edba8ff24ffemYX3iqlHI2vktt) investigated: the OCapN spec + Rust implementation state, Keyhive (threat model, ciphersuite, crates.io license/maturity), p2panda auth/core/sync (versions, licences, iroh use), Spritely Goblins concepts to borrow (Racket — concepts, not importable), and Petnames (concept-only?). License verification was a required part of that task. The Goblins vat/actor and Petname findings are inputs to the programming-model (#5963) and permission-UX designs — reuse them rather than re-surveying.

    Record: workspace/scratch/worlds-capabilities-brief-2026-11-04/conversation-tie-ins.md (F5).

  4. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    Wave-2 follow-ups filed from the prior-art research (Lane B). Granular sub-scopes of this issue, each carrying the relevant research findings + citations:

    Research source: workspace/scratch/worlds-capabilities-brief-2026-11-04/prior-art-research.md. Full wave-2 mapping: workspace/scratch/worlds-capabilities-brief-2026-11-04/wave2-map.md.

  5. added
    queue/queuedHas a queued task in the Supabase agent queue
    task/triageQueue packet kind: verify, reproduce, and route this item
    on Nov 5, 2026
  6. dezren39 commented on Nov 5, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  7. added
    work/assignedQueue 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
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 5, 2026
  8. 106 remaining items

  9. removed
    status/parkedDeliberately paused with a recorded resume condition
    on Nov 6, 2026
  10. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  11. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    queue/claimedQueue worker lifecycle state
    and removed
    queue/claimedQueue worker lifecycle state
    status/parkedDeliberately paused with a recorded resume condition
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 6, 2026
  12. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  13. added
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    status/parkedDeliberately paused with a recorded resume condition
    and removed
    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

Labels

app/idPackage/app: id (pkgs/ or apps/ in this repo)kind/designA design proposal (design-architect): multi-step, phased, decision-bearingpriority/normalOrdinary priority (the default)queue/parkedQueue task is parked (waiting on CI, time, or an event)status/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