{
  "registry": "grip.budget-axes",
  "grip": "1.0-draft.2",
  "source": "§4.5 Budgets",
  "unknown_axis_policy": "An unknown axis present in a governing budget is criticality-bearing by default. A runtime that cannot meter it MUST refuse acts under that Grant with GRIP_DENY_UNKNOWN_CRIT — silently ignoring an issuer's bound is a widening, not an extension.",
  "axes": [
    { "axis": "usd_micro", "unit": "USD * 1e-6", "type": "integer",
      "meaning": "monetary consequence recorded for an act: inference fees, service charges, and transfer values alike",
      "known_issue": "One axis meters two economically different things — the fee paid to do work and the value moved by the work. GRIP/1.0 keeps them together for simplicity; see reserved axis below." },
    { "axis": "tokens_in", "unit": "tokens", "type": "integer" },
    { "axis": "tokens_out", "unit": "tokens", "type": "integer" },
    { "axis": "ms", "unit": "milliseconds", "type": "integer" }
  ],
  "reserved": [
    { "axis": "transfer_value_usd_micro", "status": "reserved",
      "meaning": "for deployments that must bound value moved separately from fees paid" }
  ]
}
