pub struct ResourceDefinition {
pub name: String,
pub kind: String,
pub endpoint: String,
pub capacity: Option<i64>,
pub lifetime: String,
pub certainty_floor: Option<f64>,
pub shield_ref: String,
pub within: String,
pub loc: Loc,
pub leading_trivia: Vec<Trivia>,
pub trailing_trivia: Vec<Trivia>,
}Expand description
resource Name { kind, endpoint, capacity, lifetime, certainty_floor, shield }
An infrastructure resource declared as a linear, affine, or persistent
token. Linear/affine resources cannot be aliased across manifests
(Separation Logic * disjointness).
Fields§
§name: String§kind: Stringv2.67.0 — a CLOSED catalog (VALID_RESOURCE_KINDS). Until v2.67.0 this
was a free string that nothing validated: check_resource never
read it, and no catalog const existed anywhere in the workspace.
endpoint: Stringv2.67.0 — the DSN, as a per-tenant config key (axon-T944).
A production DB URI in source is exactly what axon-T850 already
forbids one declaration over (“URLs and credentials never appear in
source”) and what v2.48.0 custody exists to refuse. resource was a
grandfathered violation of the language’s own law.
capacity: Option<i64>v2.67.0 — the pool size, and the proof this cycle is a wire and not a label. Before v2.67.0 every axonstore pool was hardcoded at 10.
lifetime: Stringv2.67.0 — how many holders may name this resource (Linear Logic):
linear = exactly one · affine = at most one (sharing is a breach) ·
persistent = the ! exponential, freely shared. Default: affine.
certainty_floor: Option<f64>§shield_ref: String§within: Stringv2.67.0 — the fabric this resource lives in. One field ⇒
Separation-Logic disjointness is unrepresentable, not verified.
loc: Loc§leading_trivia: Vec<Trivia>v1.5.2 — leading comment trivia attached to this declaration (comments preceding the declaration’s first token, since the previous declaration or file start). Empty by default.
trailing_trivia: Vec<Trivia>v1.5.2 — trailing comment trivia (same line as the declaration’s last effective token). Empty by default.