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 }
}