Skip to content
AletheIA Docs
Esc
navigateopen⌘Jpreview
On this page

Runtime Budget Policy

Purpose

Budgets define hard limits for turns, tool calls, time, tokens, cost, retries, and result size.

This reference details the budget profiles, stop status, retry policy, parallelization rules, and telemetry referenced by the Agent Harness Governance Extension.

Core policy

runtime_budget_policy:
  version: "0.1"
  default_limits:
    max_model_turns: 8
    max_tool_calls: 20
    max_parallel_tool_calls: 4
    max_wall_time_seconds: 900
    max_input_tokens: 200000
    max_output_tokens: 20000
    max_total_cost: "project_defined"
    max_tool_result_chars: 12000
    max_retries_per_model_call: 2
    max_retries_per_tool_call: 1
  enforcement:
    budget_limits_are_hard: true
    budget_exceeded_requires_stop: true
    continuation_requires_user_or_policy_approval: true

Budget profiles

budget_profiles:
  lite:
    max_model_turns: 2
    max_tool_calls: 3
    max_parallel_tool_calls: 2
    max_wall_time_seconds: 120
    max_context_expansion: "none_or_targeted"
    max_retries_per_tool_call: 0
  standard:
    max_model_turns: 6
    max_tool_calls: 12
    max_parallel_tool_calls: 4
    max_wall_time_seconds: 600
    max_context_expansion: "targeted"
    max_retries_per_tool_call: 1
  high_assurance:
    max_model_turns: 10
    max_tool_calls: 30
    max_parallel_tool_calls: 4
    max_wall_time_seconds: 1800
    max_context_expansion: "targeted_or_broad_with_justification"
    max_retries_per_tool_call: 1

Stop status

{
  "status": "stopped",
  "reason": "budget_exceeded",
  "completed": false,
  "budget_exceeded": "max_tool_calls",
  "next_safe_action": "Ask the user whether to continue with a larger budget."
}

Retry policy

retry_policy:
  usually_safe_to_retry:
    - "transient_model_api_error"
    - "network_timeout_for_read_only_call"
    - "idempotent_retrieval"
    - "validation_after_argument_fix"
  do_not_auto_retry:
    - "payment"
    - "external_send"
    - "destructive_action"
    - "permission_change"
    - "unclear_idempotency"
  high_risk_retry_requirements:
    - "idempotency_key"
    - "approval_record"
    - "audit_event"

Parallelization policy

parallelization:
  safe_candidates:
    - "search"
    - "read"
    - "retrieve_metadata"
    - "classify_independent_records"
    - "summarize_independent_documents"
  serialize:
    - "writes"
    - "sends"
    - "deletes"
    - "financial_actions"
    - "permission_changes"
    - "shell_or_process_execution"
    - "multi_step_external_workflow_commits"

Budget telemetry

budget_telemetry:
  fields:
    - "session_id"
    - "work_slice_id"
    - "budget_profile"
    - "model_turns_used"
    - "tool_calls_used"
    - "parallel_tool_calls_peak"
    - "wall_time_seconds"
    - "input_tokens_used"
    - "output_tokens_used"
    - "estimated_cost"
    - "tool_result_chars_peak"
    - "retries_used"
    - "stop_reason"
    - "budget_exceeded"

Non-negotiables

  • Budgets are explicit before long loops.
  • Budget exhaustion stops the loop.
  • The agent does not continue silently beyond budget.
  • High-risk retry requires idempotency and approval records.
  • More budget is a policy decision, not a model decision.

Was this page helpful?