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