Capability surface
Three capabilities gate dangerous operations:
forget— physical erasure of axiom events for compliance (RP-004 Temporal substrate). The source-level gate: a mutate body containingforgetrefuses to build (OE0730) unless the enclosingmutatedeclaration grants#[allow_forget]. The serving layer refusesforgetoutright (Runtime contract limits below).unsafe_logic— execution oftier:folrules underunsafe logic { }. Granted to the workspace atox buildtime. A query whose dependency closure touches anunsafe_logicrule may run unbounded; runtimes MAY apply a per-query wall-clock timeout and returnOE1301 UnsafeLogicTimeout.fork— creating new forks, per-(tenant, parent_fork). A principal without it canopen_storeagainst existing forks but cannot create new ones. The trunk fork’s owner holdsforkautomatically.
Capabilities flow through the runtime as part of the PrincipalId argument to forget and the principal context of open_store. How a runtime authenticates a principal is backend-specific (the Postgres backend uses Postgres roles; the in-memory backend trusts the calling process).