Skip to content

id: Phase 12 designs to run through the research workflow #534

Closed

Description

@dezren39

What and why

These Phase 12 tasks (.opencode/plans/phase-12-platform-flexibility.md) need a design, or for D1-026 a research package, before anyone implements them. Run each through the research workflow, commit the design, then open an implementation issue and tick the box. F12.1 (manifest) and F12.4 (provider registry) are the plan's two highest-return tasks; F12.7 (ABI spec) is part of its recommended first slice.

Items

Each box is done when the design (or research package) is committed and an implementation issue is linked here.

  • D1-019 — F12.1 Declarative world manifest (world.toml) with apply / --dry-run / diff (L, design)
    A world.toml naming module (hash or source), seed, grants, ceilings, resource profile, roles/invites and schedules. id world apply reconciles a live world idempotently through existing admin operations, and id world diff detects drift. The plan calls it one of the two highest-return tasks.
  • D1-022 — F12.4 Capability provider registry (manifested components) (L, design)
    Providers become components with a manifest (name, version, argument schema, bounds, required scope, default ceiling), read by the ledger, compile gate and CLI, so adding a capability needs no edit to world.rs. One of the two highest-return tasks.
  • D1-025 — F12.7 Versioned guest ABI spec, plaza_abi_version export, conformance suite (L, design)
    Write the plaza_* exports and capability protocol down as a versioned spec, add a plaza_abi_version export, and publish a conformance suite built on F11.16 fixtures and the feat(id): record world sessions to replayable fixtures #239 recordings. Part of the recommended first slice.
    • Status: not started. The ABI is described only in module docs (pkgs/id/src/sandbox.rs:6-8 lists plaza_out_len, plaza_alloc, memory). grep -rn plaza_abi_version pkgs/id finds nothing, and there is no spec document or conformance test directory.
    • Source: .opencode/plans/phase-12-platform-flexibility.md:43; .opencode/plans/phase-12-platform-flexibility.md:84
    • Prerequisites: id(world): F11.16 replay self-check (id world verify) #544 — D1-016 F11.16 Replay self-check (id world verify)
  • D1-021 — F12.3 Roles v2: journaled builder and moderator scopes with audit (M, design)
    Journaled grants for builder (install modules) and moderator (revoke participants) as scope bits, with an audit record for each use; builder never gets network/file/process authority.
    • Status: not started. WorldScopes checks only CHAT/HISTORY/JOIN-style bits (pkgs/id/src/world.rs:201-204); grep -rn 'BUILDER\|MODERATOR' pkgs/id/src finds nothing.
    • Source: .opencode/plans/phase-12-platform-flexibility.md:33; doc/2026-10-17T08-00-00Z_feature_world_roles_directory/
    • Prerequisites: D1-019 F12.1 Declarative world manifest (world.toml) with apply / --dry-run / diff (in this list)
  • D1-024 — F12.6 Structured audit log with OpenTelemetry export (L, design)
    A structured audit log of admin actions and provider use, exported via OpenTelemetry, building on F11.7; a test replays the log to the final grants.
    • Status: not started. grep -rn 'opentelemetry\|OpenTelemetry\|audit' pkgs/id/src/world*.rs finds nothing. Prerequisite F11.7 has not started (D1-007).
    • Source: .opencode/plans/phase-12-platform-flexibility.md:39
    • Prerequisites: id(world): F11.7 host metrics, Prometheus endpoint and tracing spans #553 — D1-007 F11.7 Host metrics, Prometheus endpoint and tracing spans
  • D1-023 — F12.5 First new providers: kv, blob, http.fetch, notify (XL, design)
    A bounded durable per-world KV store, content-addressed blobs over iroh-blobs, allowlisted http.fetch (off by default, no off-list redirects), and rate-limited notify. Each needs a ceiling, an audit entry, and bound, refusal and replay tests.
    • Status: not started. None of kv/blob/http.fetch/notify appears in CATALOG (pkgs/id/src/world_caps.rs:55-73) or in the dispatch match (world.rs:2526-2547).
    • Source: .opencode/plans/phase-12-platform-flexibility.md:38; .opencode/plans/phase-12-platform-flexibility.md:85
    • Prerequisites: D1-022 F12.4 Capability provider registry (manifested components) (in this list), D1-024 F12.6 Structured audit log with OpenTelemetry export (in this list)
  • D1-026 — F12.8 Rust and TypeScript/Zig guest SDKs; WIT/component-model decision (XL, research package)
    SDKs for Rust (wasm32-unknown-unknown) and AssemblyScript or Zig with screen/json/grid/cap helpers equal to the Roc libraries, each with an example world and a passing conformance run. Record a decision on the Wasm component model / WIT.
    • Status: not started. No sdk directory (ls pkgs/id/sdk pkgs/id/sdks: no such directory); all eight examples are Roc (pkgs/id/examples/{lounge,roc-chat,roc-counter,roc-grid,roc-screen,roc-world,territory,tic-tac-toe}).
    • Source: .opencode/plans/phase-12-platform-flexibility.md:44; .opencode/plans/phase-12-platform-flexibility.md:17
    • Prerequisites: D1-025 F12.7 Versioned guest ABI spec, plaza_abi_version export, conformance suite (in this list)
  • D1-027 — F12.9 Program upgrade with state migration and rollback (L, design)
    Versioned snapshots and an optional migrate export; an upgrade runs on a probe instance, commits only if migrated state round-trips, otherwise rolls back.
    • Status: not started. Install swaps the program and resets state handling (pkgs/id/src/world.rs:3168-3180); grep -rn '"migrate"\|fn migrate' pkgs/id/src/world*.rs pkgs/id/src/sandbox.rs finds nothing.
    • Source: .opencode/plans/phase-12-platform-flexibility.md:45
    • Prerequisites: D1-025 F12.7 Versioned guest ABI spec, plaza_abi_version export, conformance suite (in this list)
  • D1-028 — F12.10 Fair cross-world scheduling, per-account quotas, slow-client back-pressure (L, design)
    A hub scheduler that shares fuel/CPU fairly across worlds, with per-account quotas (worlds, storage, fuel/s) and back-pressure; exit: a spinning world cannot raise another's p99 by more than 10%.
  • D1-032 — F12.14 Portals: cross-world messaging granted by both admins (L, design)
    A capability both worlds' admins grant, with bounded rate and size and an audit entry on each side.
    • Status: not started. Only host-level cross-world write toggles exist (CrossWorldWrite/ForceCrossWorldWrite in the WorldCommand enum, cli.rs:1388); there is no guest-visible portal capability in CATALOG (world_caps.rs:55-73).
    • Source: .opencode/plans/phase-12-platform-flexibility.md:56; doc/2026-10-10T04-59-57Z_feature_cross_world_access/
    • Prerequisites: D1-022 F12.4 Capability provider registry (manifested components) (in this list), D1-024 F12.6 Structured audit log with OpenTelemetry export (in this list)
  • D1-035 — F12.17 Module signature trust list and compiler-version provenance (M, design)
    Verify module signatures against an admin trust list, add the compiler version to observed provenance, journal the trust decision; an unsigned module is refused when the list is non-empty.

Source

Size

XL overall (items M to XL)

Prerequisites

Listed per item above.

Acceptance criteria

  • Every item listed above has its design (or research package, where marked) committed to the repo
  • Every item has a linked implementation issue, and its checkbox above is ticked only once both are true
  • No item is closed out on the basis of a plan or report reference alone — the committed artifact is the evidence

Activity

  1. dezren39 commented on Oct 24, 2026

    @dezren39
    MemberAuthor

    Progress from Phase 12 (Session C, PR #801): F12.16 (id world doctor) is implemented with tests; F12.1's declarative world.toml model (parse/plan/apply/diff) is in, with CLI apply/diff wiring in progress.

  2. dezren39 commented on Oct 24, 2026

    @dezren39
    MemberAuthor

    Progress (Session C, PR #801): F12.16 (doctor) done; F12.1 declarative world.toml + diff/apply landed (module/schedule apply → #807); F12.18 consolidated DoS suite landed; F12.3 builder/moderator scope bits + audit journal landed (remaining: wire builder/moderator capability acceptance into the install/revoke frames). Filed #805 (F12.11), #806 (F12.13), #807 (F12.1 apply wiring).

  3. added
    kind/featureNew feature or capability request
    source/humanFiled directly by a human
    priority/normalOrdinary priority (the default)
    and removed
    enhancementNew feature or request
    on Oct 26, 2026
  4. 33 remaining items

  5. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    Triage task 7485: verdict work exists but its landing step is orphaned — labels desynced, follow-up enqueued as queue task 7533.

    Verified 2026-11-03T12:08Z

    Label repair: removed queue/claimed and work/assigned (no worker owns the issue itself). status/in-progress stays because the package does exist and stages S1+ remain.

    Fix path: enqueued task 7533 (repo-health:v1:pr:developing-today/code:pr:4672) — land PR #4672 or route the exact merge blocker (absent required check / admin-bypass decision), with no competing package PR. Once #4672 is on main, the research workflow can start S1 for the 12 concepts.

  6. added
    queue/queuedHas a queued task in the Supabase agent queue
    work/assignedQueue worker lifecycle state
    queue/claimedQueue worker lifecycle state
    and removed
    queue/queuedHas a queued task in the Supabase agent queue
    on Nov 3, 2026
  7. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    agent-note:v1 — task 7533 picked up by lane code-k (repo-worker-code). Execution lane assigned: opencode — handed off to the opencode claimant, which will launch a bound session to land PR #4672 (Phase 12 research package intake) or route its merge blocker.

  8. added a commit that references this issue on Nov 3, 2026
  9. dezren39 commented on Nov 3, 2026

    @dezren39
    MemberAuthor

    🤖 Agent note · merged — landed through the documented merge path

    • Agent: repo-worker-code (OpenChamber scheduled lane)
    • Session / ID: queue task 7533 (pr_shepherd), 2026-11-03
    • Outcome: merged. gh pr merge 4672 --repo developing-today/code --merge cleanly landed the PR; merge commit 03629988db118a726c45f0c7f7c982adb5cb4864 (Merge pull request #4672 from developing-today/queue/6507-534-phase12-package), 2026-11-03T14:25:22Z.
    • Verified before merging: diff at current main is docs-only — 17 files, +1583/−0, every path under doc/2026-11-03T00-05-09Z_research_phase-12-package-534/ including main.md, design.md and changes.md; mergeable=MERGEABLE (branch was 434 behind but additions-only in a new directory, no conflicts); no held/user/owned/do-not-merge labels; no competing package PR.
    • The packet's merge blocker was stale, not real: the packet predicted a stall because basic: proxy port fallbacks never reported. It never reports because .github/workflows/nix-ci.yml has no pull_request or merge_group trigger at all (on: is push-to-main, nightly schedule and dispatch only) — that is a live repo-wide PR-tier coverage gap worth its own task, not a blocker for this PR. Operationally the check is not required: gh api repos/developing-today/code/branches/main/protection returns no required_status_checks, and gh api .../rulesets returns [], so the main: merge queue pilot ruleset described in .github/ci-policy.md is absent at merge time. A plain merge commit was therefore the documented path and it succeeded first try.
    • Verification: origin/main now at 03629988d; PR state MERGED.
    • Links: PR docs: capture Phase 12 (#534) research package intake #4672 · issue id: Phase 12 designs to run through the research workflow #534 · task 7533
  10. added
    task/triageQueue packet kind: verify, reproduce, and route this item
    and removed
    queue/claimedQueue worker lifecycle state
    work/assignedQueue worker lifecycle state
    on Nov 3, 2026
  11. developing-today commented on Nov 3, 2026

    @developing-today
    Contributor

    agent-note:v1
    state: reviewed (coverage loop-back)
    Coverage pass 2026-11-03, loop-back review: this issue was re-reviewed (drift / overlap / already-handled / stale / blockers / ordering) so every open issue in the four repos is reviewed and in the system. Verdict: still live; in the system as task 8479 (triage, queued, priority 50) in repo-health-code-pilot. Labels audited and synced. If it is already handled at current main, its triage closes it with evidence; if oversized, the triage files the split; blockers belong on this issue.
    Found via: coverage loop-back 2026-11-03

  12. dezren39 commented on Nov 4, 2026

    @dezren39
    MemberAuthor

    agent-note:v1
    event: triaged — epic's own work complete; closing with evidence
    task: 8479 (repo-health-code-pilot; lane L / code-l, direct execution lane)
    state: triaged

    Verified fresh 2026-11-04T02:20Z:

    Disposition: by this issue's own definition ("each box is done when the design is committed and an implementation issue is linked"), all 11 boxes now qualify — I ticked them in the body. The epic's stated job (run the designs through the research workflow, commit, open implementation issues) is complete; the remaining work lives in the 8 open implementation issues above, which stay open and tracked on their own. Closing #534 on completion, not age. Reopen if any package concept is found not to cover its item.

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-insepicMeta-issue grouping multiple items (org Project Type=Epic)kind/featureNew feature or capability requestmeta/enrichedIntake review done: acceptance criteria, links, and normalized labels addedmode/onlineFully doable remotely: design, config, code, cloudnowOrg Project gate: active priority — orchestrator adds to the boardpriority/highImportant and time-sensitivesource/humanFiled directly by a humantask/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