066-segment-ancestry-predicate

Definition predicate: segment ancestry on a declared separator (amends 002 and 032)

Lifecycle approvedImplementation completeVerification unknownQualification unknown

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

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

  1. 066: Definition predicate: segment ancestry on a declared separator (amends 002 and 032)
  2. 1. Purpose
  3. 2. Territory
  4. 2.1 Binding principles
  5. 3. Behavior
  6. 3.1 The predicate
  7. 3.2 Semantics
  8. 3.3 Unresolved and invalid operands
  9. 3.4 Grades, parameters and builder
  10. 3.5 Compatibility
  11. 4. Out of scope
  12. 5. Observable negative cases
  13. Acceptance
  14. Verification
  15. Implementation record
  16. Decisions at approval

Frozen anchors

No frozen anchors declared.