Przejdź do treści

UBC Allocation v1

Source schema: doc/schemas/ubc-allocation.v1.schema.json

Machine-readable schema for Universal Basic Compute allocations, including guaranteed access modes and recognition through federation or FIP bridge paths.

Governing Basis

Fields

Field Required Shape Description
schema/v yes const: 1 Schema version.
allocation_id yes string Stable identifier of this allocation record.
subject_ref yes string Stable anonymous handle of the person receiving the compute floor.
federation_id yes string
attestation_ref yes string Reference to the Proof-of-Personhood attestation that justifies the allocation.
recognition_source yes enum: federation_local, federation_cross_recognition, fip_bridge Which recognition path made this allocation valid in the current federation.
recognition_ref yes string Reference to the recognizing federation or the FIP bridge.
measurement_period yes string Named accounting window used to measure and settle the allocation.
valid_from yes string
valid_until no string
compute_unit yes string Declared unit of account for the allocated compute floor.
portability_scope yes enum: local, trans_federation_limited, trans_federation_extended How far this concrete allocation may travel beyond the issuing federation.
guaranteed_modes yes ref: #/$defs/guaranteedModes Guaranteed access contract for emergency, communication, and care paths.
funding_policy_ref yes string Reference to the policy defining who funds the allocation floor.
limit_policy_ref yes string Reference to the profile that defines communication and care limits.
policy_annotations no object
created_at yes string

Definitions

Definition Shape Description
modeAccess object
guaranteedModes object

Conditional Rules

Rule 1

Constraint:

{
  "properties": {
    "guaranteed_modes": {
      "properties": {
        "emergency": {
          "properties": {
            "access": {
              "const": true
            },
            "limit_profile": {
              "const": "unlimited"
            }
          }
        },
        "communication": {
          "properties": {
            "access": {
              "const": true
            }
          }
        },
        "care": {
          "properties": {
            "access": {
              "const": true
            }
          }
        }
      }
    }
  }
}

Rule 2

When:

{
  "properties": {
    "recognition_source": {
      "const": "fip_bridge"
    }
  },
  "required": [
    "recognition_source"
  ]
}

Then:

{
  "properties": {
    "portability_scope": {
      "const": "trans_federation_limited"
    },
    "guaranteed_modes": {
      "properties": {
        "communication": {
          "properties": {
            "limit_profile": {
              "const": "limited"
            }
          },
          "required": [
            "limit_ref"
          ]
        },
        "care": {
          "properties": {
            "limit_profile": {
              "const": "limited"
            }
          },
          "required": [
            "limit_ref"
          ]
        }
      }
    }
  }
}

Rule 3

When:

{
  "properties": {
    "portability_scope": {
      "const": "trans_federation_extended"
    }
  },
  "required": [
    "portability_scope"
  ]
}

Then:

{
  "properties": {
    "guaranteed_modes": {
      "properties": {
        "communication": {
          "required": [
            "limit_ref"
          ]
        },
        "care": {
          "required": [
            "limit_ref"
          ]
        }
      }
    }
  }
}

Field Semantics

schema/v

  • Required: yes
  • Shape: const: 1

Schema version.

allocation_id

  • Required: yes
  • Shape: string

Stable identifier of this allocation record.

subject_ref

  • Required: yes
  • Shape: string

Stable anonymous handle of the person receiving the compute floor.

federation_id

  • Required: yes
  • Shape: string

attestation_ref

  • Required: yes
  • Shape: string

Reference to the Proof-of-Personhood attestation that justifies the allocation.

recognition_source

  • Required: yes
  • Shape: enum: federation_local, federation_cross_recognition, fip_bridge

Which recognition path made this allocation valid in the current federation.

recognition_ref

  • Required: yes
  • Shape: string

Reference to the recognizing federation or the FIP bridge.

measurement_period

  • Required: yes
  • Shape: string

Named accounting window used to measure and settle the allocation.

valid_from

  • Required: yes
  • Shape: string

valid_until

  • Required: no
  • Shape: string

compute_unit

  • Required: yes
  • Shape: string

Declared unit of account for the allocated compute floor.

portability_scope

  • Required: yes
  • Shape: enum: local, trans_federation_limited, trans_federation_extended

How far this concrete allocation may travel beyond the issuing federation.

guaranteed_modes

  • Required: yes
  • Shape: ref: #/$defs/guaranteedModes

Guaranteed access contract for emergency, communication, and care paths.

Governing basis: - doc/normative/50-constitutional-ops/UNIVERSAL-BASIC-COMPUTE.md - doc/normative/50-constitutional-ops/UBC-LIMIT-PROFILES.md

funding_policy_ref

  • Required: yes
  • Shape: string

Reference to the policy defining who funds the allocation floor.

limit_policy_ref

  • Required: yes
  • Shape: string

Reference to the profile that defines communication and care limits.

policy_annotations

  • Required: no
  • Shape: object

created_at

  • Required: yes
  • Shape: string

Definition Semantics

$defs.modeAccess

  • Shape: object

$defs.guaranteedModes

  • Shape: object