066-segment-ancestry-predicate
Definition predicate: segment ancestry on a declared separator (amends 002 and 032)
An amendment of approved specs 002 (3.8, 3.9) and 032 (3.1, 3.12), for release 0.6.0 (#509), ratified by the owner on 2026-11-06 (A-85). A partner rule needs "this location slug sits under that city slug", for example `us:ny:new-york:soho` under `us:ny:new-york`; today the host projects the slug's parent into the snapshot and the rule compares with `member_ref`. This spec adds one predicate to the registry `rustev.exact/2`, `under{value, ancestor, separator}`, true when the ancestor's segments are a proper prefix of the value's segments on a separator the definition declares, so `us:ny:new-york-city` is not under `us:ny:new-york`. Comparison is by bytes with no normalization; an operand with an empty segment is `invalid_input`, and an unresolved operand makes the reading step unresolved, never false. Definition 1 refuses it; plans that do not use it keep their bytes and `PlanId`.
Read the full pinned specification ↗Relationships
depends on
Claimed units
- extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-contract/" } } - extends
{ "nature": "amending", "spec": "002-decision-contract-and-pure-core", "unit": { "kind": "directory", "path": "crates/rustev-core/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-node/types/" } } - extends
{ "nature": "additive", "spec": "027-node-and-wasm-bindings", "unit": { "kind": "directory", "path": "integrations/rustev-wasm/types/" } } - extends
{ "nature": "additive", "spec": "004-evaluation-and-replay", "unit": { "kind": "directory", "path": "crates/rustev-eval/mutation/" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "file", "path": "Makefile" } } - extends
{ "nature": "additive", "spec": "001-boundaries-and-authority", "unit": { "kind": "directory", "path": "scripts/acceptance/" } }
Source headings
- 066: Definition predicate: segment ancestry on a declared separator (amends 002 and 032)
- 1. Purpose
- 2. Territory
- 2.1 Binding principles
- 3. Behavior
- 3.1 The predicate
- 3.2 Semantics
- 3.3 Unresolved and invalid operands
- 3.4 Grades, parameters and builder
- 3.5 Compatibility
- 4. Out of scope
- 5. Observable negative cases
- Acceptance
- Verification
- Implementation record
- Decisions at approval
Frozen anchors
No frozen anchors declared.