EdgeKVNamespace — takoform_edge_kv_namespace
Workload and consumer
A worker keeps small, read-heavy state — sessions, feature data, rendered fragments — in a key/value namespace replicated close to every point of presence. Workers consume it exclusively through module-worker.edge-kv bindings.
Role
identity. The namespace has no desired fields: its semantics are entirely fixed by the edge.kv Interface.
Observable semantics
Exactly the edge.kv@1.0.0 contract: get/getWithMetadata/put/delete/list, eventual consistency (a read after a write may return the previous value until replication converges), last-writer-wins per key, cursor pagination in lexicographic key order, closed errors, and portable minimum limits.
Why this is one Form
Eventual consistency is the Form's semantics, not an option. Every consumer program is written against the convergence model; a consistency selector would hollow the contract out (decision 0008).
What would require a separate Form
A per-key linearizable store, a cache with eviction, or a TTL-defaulted store each change the model a consumer can rely on and are different Forms.
Provided Interfaces
edge.kv@1.0.0.
Accepted Bindings
None; it is a binding target (module-worker.edge-kv).
Lifecycle risks
Deleting a namespace bound by any Worker Version must fail with dependency_in_use (refuse_while_bound). Delete destroys all keys; there is no portable restore.
Prior art
The eventually consistent edge KV store of a proven edge platform. The retained v1alpha2 KeyValueStore candidate, whose open consistency enum this Form replaces by fixing one shape.