Description
Part of the EdgeZero CLI Extensions effort — stage 2 of 8. Largest stage; review hotspot.
Precondition: PR #253 (feat/spin-store-support) must be merged first — this stage wires SpinKvStore / SpinConfigStore / SpinSecretStore into the multi-store runtime.
Scope (atomic — manifest + runtime ship together under the hard cutoff): rewrite the [stores] / [adapters.*] manifest schema to the logical-id + per-adapter-mapping model with the capability matrix (legacy fields become hard load errors); make ConfigStore::get async; add KvError::Unsupported + KvError::LimitExceeded; introduce BoundKvStore / BoundConfigStore / BoundSecretStore and id-keyed RequestContext accessors + StoreRegistry; make Hooks / ConfigStoreMetadata / the app! macro id-keyed; refactor Kv / Secrets extractors to default() / named() and add Config; rewrite all four adapters' store impls (Cloudflare config [vars] → KV); remove [stores.config.defaults]; migrate examples/app-demo/edgezero.toml + handlers (store-accessor change only); publish docs/guide/manifest-store-migration.md.
Ship gate: multi-store handlers work on axum/cloudflare/fastly/spin; async config reads work; all four CI gates + the wasm32 spin gate green.
Design spec: §8, §6.6, §6.7, §6.9 — Implementation plan: Stage 2.
Activity
[-]CLI Extensions — Commit 2: Manifest + runtime rewrite (atomic, all four adapters)[/-][+]CLI Extensions — Stage 2: Manifest + runtime rewrite (atomic, all four adapters)[/+]