version: 1
experiment_id: replace_me
snapshot_date: 2026-08-03

objective:
  metric: tokens_per_accepted_task
  secondary_metric: cost_per_accepted_task
  quality_policy: non_inferiority
  max_success_rate_delta: 0.05
  target_token_ratio: 0.70

tasks:
  source: pinned_repo_tasks
  count: 5
  repetitions_per_arm: 3
  randomized_order: true

constants:
  implementation_model: replace_me
  provider: replace_me
  repo_commit: replace_me
  permissions: read_write_workspace_only
  wall_time_limit_s: 900
  verifier_commands:
    - replace_with_test_command

arms:
  baseline:
    description: current_agent_stack
  treatment:
    changed_layer: choose_one
    allowed_values:
      - task_slice
      - repo_retrieval
      - skills_tools
      - cache_layout
      - model_routing
      - compression_serialization
      - retry_output
    description: replace_me

accounting:
  price_table_date: 2026-08-03
  include_failed_runs: true
  include_router_cost: true
  include_compressor_cost: true
  include_embedding_cost: true
  token_roles:
    - input_uncached
    - input_cached
    - cache_write
    - output
    - reasoning

adoption_gate:
  require_verifier_pass: true
  no_new_critical_safety_failure: true
  no_repo_integrity_failure: true
  bootstrap_confidence_interval: 0.95
  treatment_to_baseline_cost_ratio_max: 0.70

rollback:
  command_or_config: replace_me
  escape_hatch: full_search_or_full_tool_catalog
