Files
6krrt/plans/deferred-knobs.md
adlee-was-taken 43f30dfe8c fix: remove unused ClassifierConfig import and add status to deferred-knobs.md
Ultraworked with Sisyphus

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-10-05 00:16:09 -04:00

7.2 KiB

Deferred admin portal knobs

Status: reference -- Tracker for knobs outside current admin gate

This file tracks config knobs that are outside the admin portal's current gate. The coverage test in tests/test_admin_knob_coverage.py enforces that every knob in a section the portal reaches is either covered or excused with a reason. Sections the portal has not reached are out of scope for that test, but they still need a recorded home so the first control added under a section does not leave half its siblings orphaned.

Rows use four columns:

Column Meaning
Knob Dotted config path in config/config.yaml.
Section Top-level config section.
Disposition deferred (future admin page) or excused-with-reason (deployment wiring or file path).
Future Home The page or surface that should own this knob when the portal reaches the section.

Outside-gate knobs

These are RouterConfig scalars in sections the portal has not reached yet. They fall into two buckets:

  • Sections not yet reached: context, database, dispatch_settings, escalation, exploration, freshness, iteration, local_energy, proficiency, tiering.
  • Deployment wiring inside those sections: endpoints, model ids, credentials, filesystem paths, and device names.
Knob Section Disposition Future Home
context.default_output_reserve_tokens context deferred Context page
context.max_output_reserve_fraction context deferred Context page
context.safety_factor context deferred Context page
database.path database excused-with-reason N/A (file path)
dispatch_settings.default_provider dispatch_settings deferred Providers page
escalation.enabled escalation deferred Routing page
escalation.max_tier escalation deferred Routing page
escalation.min_confidence_before_bump escalation deferred Routing page
escalation.preemptive_on_low_confidence escalation deferred Routing page
exploration.enabled exploration deferred Routing page
exploration.epsilon exploration deferred Routing page
exploration.max_cost_ratio exploration deferred Routing page
exploration.max_tier exploration deferred Routing page
freshness.exclude_deprecated freshness deferred Catalog page
freshness.exclude_stale freshness deferred Catalog page
freshness.repoll_after_allowlist_change_seconds freshness deferred Catalog page
freshness.stale_after_days freshness deferred Catalog page
iteration.enabled iteration deferred Routing page
iteration.max_attempts_interactive iteration deferred Routing page
iteration.max_rebill_prompt_tokens iteration deferred Routing page
local_energy.enabled local_energy deferred Local Hardware page
local_energy.grid_intensity_g_per_kwh local_energy deferred Local Hardware page
local_energy.meter local_energy excused-with-reason N/A (deployment wiring)
local_energy.sample_interval_seconds local_energy deferred Local Hardware page
local_energy.tariff_usd_per_kwh local_energy deferred Local Hardware page
proficiency.leaderboard_weight proficiency deferred Proficiency page
proficiency.outcome_prior_strength proficiency deferred Proficiency page
proficiency.self_eval_min_samples proficiency deferred Proficiency page
proficiency.self_eval_weight proficiency deferred Proficiency page
tiering.cheap_completion_max tiering deferred Routing page
tiering.tier1_context_max tiering deferred Routing page

Objective warning knobs

These 31 objective.* knobs are currently excused from the admin portal in tests/test_admin_knob_coverage.py. They tune /metrics warnings and report series rather than dispatch behavior. Their natural future home is a Warnings page that collects all alarm and report thresholds in one place.

Knob Section Disposition Future Home
objective.adoption_window_seconds objective deferred Warnings page
objective.assumed_cache_rate objective deferred Warnings page
objective.assumed_completion_tokens objective deferred Warnings page
objective.billing_reset_day objective deferred Warnings page
objective.cache_rate_warn_margin objective deferred Warnings page
objective.cache_rate_warn_min_observations objective deferred Warnings page
objective.cache_rate_window_hours objective deferred Warnings page
objective.cost_calibration_min_observations objective deferred Warnings page
objective.cost_calibration_window_hours objective deferred Warnings page
objective.credit_attenuation.enabled objective deferred Warnings page
objective.credit_attenuation.max_multiplier objective deferred Warnings page
objective.credit_attenuation.refresh_seconds objective deferred Warnings page
objective.credit_attenuation.soft_floor_usd objective deferred Warnings page
objective.credit_attenuation.zero_floor_usd objective deferred Warnings page
objective.cumulative_spend_warn_min_rows objective deferred Warnings page
objective.cumulative_spend_warn_usd objective deferred Warnings page
objective.incumbent_rate_min_observations objective deferred Warnings page
objective.incumbent_rate_refresh_seconds objective deferred Warnings page
objective.latency_min_observations objective deferred Warnings page
objective.latency_window_hours objective deferred Warnings page
objective.plan_pace_warn_ratio objective deferred Warnings page
objective.proficiency_depth_warn_min_rows objective deferred Warnings page
objective.proficiency_depth_warn_min_samples objective deferred Warnings page
objective.quota_burn_min_segment_hours objective deferred Warnings page
objective.quota_burn_min_segment_samples objective deferred Warnings page
objective.quota_burn_window_hours objective deferred Warnings page
objective.quota_runway_warning_hours objective deferred Warnings page
objective.rejection_warning_baseline_hours objective deferred Warnings page
objective.rejection_warning_min_count objective deferred Warnings page
objective.rejection_warning_window_hours objective deferred Warnings page
objective.selection_coverage_window_hours objective deferred Warnings page

Notes

  • A section moves from "outside gate" to "in scope" the moment the portal adds its first control there. At that point every scalar under it must be covered, excused, or removed from this tracker into DELIBERATELY_NOT_IN_ADMIN.
  • Deployment wiring (endpoints, model ids, credentials, paths, devices) is deliberately off the admin allowlist. Those knobs should stay excused-with-reason even after their section is reached.
  • The Warnings page is not built yet. When it is, these objective.* knobs should move from DELIBERATELY_NOT_IN_ADMIN into registry or allowlist entries, and this table should shrink.