Examples · µLang Git production contract

ForgeExecutionBudget

Metered plan-run spend: committed plus worst-case reservation stays within the plan's declared limit and a fixed ceiling.

Entity
ExecutionBudgetRequest · 9 fields
Actions
budget_execution
Clauses
7
sha256
3b0b2355bb650766650d7d6adf17eb097041d693eacf2a786b84a7aaccf394cb
Source
.forge/rules/ForgeExecutionBudget.ul · raw · open in the playground
// Metered plan-run spend: committed plus worst-case reservation stays within the plan's declared limit and a fixed ceiling.
CONTRACT ForgeExecutionBudget {
  ENFORCEMENT_MODE: enforced
  CONTEXT {
    ENTITIES ExecutionBudgetRequest {
      operation: string
      repository_matches_main: bool
      provider_configured: bool
      provider_metered: bool
      price_known: bool
      included_headroom_verified: bool
      spend_microusd: int
      spend_limit_microusd: int
      effect_hash: string
    }
    CONSTANTS {
      max_spend_limit_microusd: int == 10000000 [SOURCE:OWNER-PLAN-SPEND-CEILING-V1]
    }
  }
  TRIGGER { budget_execution() }
  PROHIBITION {
    FORBID budget_execution WHEN ExecutionBudgetRequest.operation != "start_run" AND ExecutionBudgetRequest.operation != "reserve_node" AND ExecutionBudgetRequest.operation != "effect" AND ExecutionBudgetRequest.operation != "complete_node" [SOURCE:budget_operation]
    FORBID budget_execution WHEN ExecutionBudgetRequest.repository_matches_main == false [SOURCE:budget_repository]
    FORBID budget_execution WHEN ExecutionBudgetRequest.provider_configured == false AND ExecutionBudgetRequest.operation != "complete_node" [SOURCE:budget_provider]
    FORBID budget_execution WHEN ExecutionBudgetRequest.provider_metered == false AND ExecutionBudgetRequest.included_headroom_verified == false [SOURCE:budget_included_headroom]
    FORBID budget_execution WHEN ExecutionBudgetRequest.provider_metered == true AND ExecutionBudgetRequest.price_known == false [SOURCE:budget_price]
    FORBID budget_execution WHEN ExecutionBudgetRequest.spend_microusd > ExecutionBudgetRequest.spend_limit_microusd [SOURCE:budget_spend_limit]
    FORBID budget_execution WHEN ExecutionBudgetRequest.spend_limit_microusd > max_spend_limit_microusd [SOURCE:budget_spend_ceiling]
  }
  OBSERVABILITY { LOG "ForgeExecutionBudget evaluated" ON decision }
}