Skip to content

id(world): F12.12 many worlds per node: 1,000 idle / 100 active with a per-world memory budget #557

Open

Description

@dezren39

What and why

Lazy open, idle eviction with checkpoint and a bounded memory budget per world, measured against 1,000 idle and 100 active (20 ev/s, p99 < 50 ms) targets with the F11.8 harness. Lazy open, eviction and per-guest memory caps exist, but nobody has measured the targets and a world's total memory is not bounded.

Source

Current status

Partial. Mechanisms exist from Phase 9/10: pkgs/id/src/world_hub.rs:7-15 (lazy single-flight open, session and open-world ceilings, idle eviction), and a per-guest linear memory cap of 16 MiB (pkgs/id/src/sandbox.rs:25-36). The per-world total memory budget with refusal tests landed in #4628. The F11.8 many-world measurement now exists; its p99 is 5,650.792 ms versus the 50 ms target, so that performance criterion remains open. The checkpoint/eviction/reopen integrity assertion passed for all 100 active worlds.

Acceptance criteria

  • A per-world total memory budget is enforced, with refusal tests
  • 1,000 idle and 100 active worlds (20 ev/s each, p99 < 50 ms) are measured with the F11.8 harness and the results recorded (measured p99: 5,650.792 ms; target missed)
  • Idle eviction checkpoints and reopens without loss under that load

Size

L

Prerequisites

Activity

  1. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    effort/lLarge: multi-day or open-ended; expect staged check-ins
    app/idPackage/app: id (pkgs/ or apps/ in this repo)
    meta/enrichedIntake review done: acceptance criteria, links, and normalized labels added
    on Oct 26, 2026
  2. dezren39 commented on Oct 26, 2026

    @dezren39
    MemberAuthor

    Intake review

    Fleet-monitor intake pass (2026-10-26). Body already carries a full ## Acceptance criteria section, so this pass is label normalization plus a liveness check — no body edit.

    Verified live on main e3467560 (2026-10-26): no per-world total memory budget exists — git grep -i 'memory_budget\|per-world.*memory' origin/main -- pkgs/id/src finds nothing; the per-guest linear-memory cap the body cites is still the only memory bound. The measurement half is also untouched (no harness run recorded). Still live; the body's "Partial" status assessment still holds.

    Related: prerequisite #539 (F11.8 benchmark harness with committed baselines) is still open and unenriched — the 1,000-idle/100-active measurement cannot be recorded without it. The metrics from #553 would make the budget observable once enforced.

    Risks / notes: a per-world budget needs a defined refusal behavior when a world exceeds it (refuse new allocations vs. evict vs. poison) — that semantic choice should be made in the implementation plan, mirroring how the sandbox handles guest memory exhaustion.

    Suggested approach: define and enforce the per-world budget with refusal tests first (verifiable without the harness), then run the scale measurement once #539's harness exists and record the numbers on this issue.

  3. added
    nextOrg Project gate: queued next — orchestrator adds to the board
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed on Oct 27, 2026
  4. 326 remaining items

  5. added
    queue/claimedQueue worker lifecycle state
    and removed
    queue/parkedQueue task is parked (waiting on CI, time, or an event)
    on Nov 6, 2026
  6. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  7. 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
  8. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

  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. added
    queue/queuedHas a queued task in the Supabase agent queue
    and removed
    work/assignedQueue worker lifecycle state
    on Nov 6, 2026
  12. dezren39 commented on Nov 6, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · handed off

    • Agent: fleet monitor (repo-fleet-monitor)
    • Session / ID: task 8988 · repo-fleet-monitor run 2026-11-05 22:12 CST
    • Found via: monitor reconciliation
    • Task: Claim evaporated — the previous holder's claim on task 8988 ended without a terminal verb and the task is queued unclaimed (attempts 24/24, last checkpoint stage: handed_off). Labels reset to the truth: queue/queued + status/needs-triage. The attempt cap (24/24) is at or above the monitor's self-repair ceiling of 24, so the cap was NOT raised — this task is flagged for operator repair in the run summary.
    • Expectation: the next queue claimant picks up task 8988 from the handed_off checkpoint; no work was lost.
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)effort/lLarge: multi-day or open-ended; expect staged check-insenhancementNew feature or requestkind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudnextOrg Project gate: queued next — orchestrator adds to the boardpriority/normalOrdinary priority (the default)queue/parkedQueue task is parked (waiting on CI, time, or an event)queue/queuedHas a queued task in the Supabase agent queuesource/humanFiled directly by a humanstatus/needs-triageNot yet triaged; needs a first lookstatus/parkedDeliberately paused with a recorded resume conditiontask/triageQueue packet kind: verify, reproduce, and route this item

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions