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-reasoneven after their section is reached. - The Warnings page is not built yet. When it is, these
objective.*knobs should move fromDELIBERATELY_NOT_IN_ADMINinto registry or allowlist entries, and this table should shrink.