Repository navigation
Description
F12.5 — First new providers
From the Phase 12 plan (.opencode/plans/phase-12-platform-flexibility.md, workstream B):
kv— a bounded, durable, per-world key-value storeblob— content-addressed blobs, over iroh-blobshttp.fetch— admin allowlist, size and rate bounds, no redirects off the list, off by defaultnotify— user-visible outbound notifications, rate limited (this also covers the roadmap's 'outbound notifications' idea)
Each ships behind a ceiling, with an audit entry per use, and no new Wasm import. Depends on F12.4 (provider registry).
Exit: each provider has bound, refusal, and replay tests; http.fetch has a test that proves an unlisted host is refused.
Coordination (2026-10-26 reprioritization, per Drew): every id roadmap item now has its own GitHub issue, and priority encodes the order: (1) the path to Phase 12 — now + priority/high; (2) Phase 12 itself — next; (3) Phase 13 and long-term ideas — priority/low. The dashboard mirrors this list (org Project "Developing Today" #4, Area id-train; Grist Program roadmap, Area id). If this item turns out to be blocked, wrong, or superseded, park or close it with a note rather than letting it stall the queue — dropping an issue is always allowed; silently stalling is not.
Activity
developing-today commentedon Oct 27, 2026
CODE-206
dezren39 commentedon Nov 1, 2026
🤖 Agent note · triage verdict — CONFIRMED, gated on F12.4 (not yet routable)
pkgs/id/src/world_caps.rslists exactly:time.now,time.tick,players.list,chat.say,chat.history,records.read,schedule.at,schedule.cancel,world.info. None of the four F12.5 providers (kv,blob,http.fetch,notify) exists; code search forhttp.fetch/ a provider registry inpkgs/idreturns nothing.effort/lfeature work for four providers, and it is sequenced behind id: F12.4 provider registry — capabilities as manifest + provider components #1061. Enqueueing asmall_fixpacket now would mis-scope it and collide with the registry design, so no follow-up packet is enqueued from this triage. The correct next step is: land id: F12.4 provider registry — capabilities as manifest + provider components #1061 (F12.4 registry), then file the F12.5 implementation as its own scoped packet(s) — one per provider, each with the bound/refusal/replay tests the issue's exit criteria name,http.fetchoff by default with the unlisted-host refusal test.dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass)
Coverage pass 2026-11-03: reviewed in the fleet-wide per-issue pass (drift / overlap / already-handled / stale / blockers / ordering). Verdict: still live; queued in repo-health-code-pilot as triage at priority 40 (priority/normal). If this is already handled at current main, the triage closes it with evidence; if it needs splitting, the triage files the split.
Found via: coverage pass 2026-11-03
dezren39 commentedon Nov 3, 2026
agent-note:v1
state: triaged (coverage pass re-verification)
task: 7616 · queue repo-health-code-pilot · worker repo-worker-code · lane bf419306-c4ef-470f-a553-beabf93239de
verified_at_main: d4d7834 (2026-11-03)
Verdict: still live, still blocked on F12.4 (#1061). No new work possible yet.
Re-verified rather than re-reported the 2026-11-01 triage:
pkgs/id/src/world/actor.rsexecute()still matches exactlytime.now,random.u64,players.list,world.info,chat.say,chat.history,records.read,schedule.at,schedule.cancel._ => Err(CapError::unknown())remains the fallback — sokv,blob,http.fetchandnotifyall still return the unknown-capability error at current main.queue/queued, and has no open PR (searched open PRs for 1061 / provider-registry / F12.4 — none). The plan's ordering line is explicit:.opencode/plans/phase-12-platform-flexibility.md:73—F12.4 -> F12.5 -> F12.6 -> F12.14.*1061*/*1062*/*provider-registry*, no superseding PR.Split decision: not yet. Splitting into four per-provider issues today would file four issues that are all blocked behind the same registry design, and F12.5's own shape (manifest-declared name/args/bounds/scope/ceiling) is exactly what F12.4 defines — splitting before the registry lands would bake in a shape the registry may change. The split is committed and stays scheduled for the moment #1061 merges: one packet per provider, each carrying the issue's exit tests (bound, refusal, replay) and, for
http.fetch, off-by-default plus a test proving an unlisted host is refused.Routing: nothing to enqueue. The blocking task is #1061, which is already in the queue. This issue stays open as the F12.5 tracking item and now carries
status/triaged+status/waiting-dependency.Found via: coverage pass 2026-11-03 (queue task 7616)