feat(admin): classifier knob coverage and categorized Controls page #113
Reference in New Issue
Block a user
Delete Branch "feat/admin-knob-taxonomy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Finishes the classifier section under the admin knob-coverage gate (North Star 1) and reorganizes the Controls page so the knob list stays readable as it grows.
classifier.degraded_warn_minandclassifier.degraded_warn_threshold, pluscontext_framing,cooldown_seconds,fallback_tier(runtime and persisted) andfallback_category,max_input_chars(persisted only). Bounds come from named constants inconfig.py, because a runtime write bypasses Pydantic and the registry bounds are the only validation.{category, advanced}from_KNOB_CATEGORY. Six categories: Routing / Quality / Cost, Classification, Local Hardware, Caching / Context, Safety Nets, Watchdog.mode, the cloud primary/fallback blocks,encoderanddecisionas whole blocks, which the registry-derived gate could not see._CARD_BACKED_PATHS(21 leaf paths mapped to their frontend element ids) now counts as coverage, and a test checks each id exists incontrols.html. Exactly five classifier excuses remain (timeout_seconds,temperature,max_output_tokens,cloud_primary.max_output_tokens,encoder.tier_from_features).plans/deferred-knobs.mdrecords every scalar in sections the portal has not reached, so the first control added under one does not orphan its siblings.Review notes
This branch was written by an opencode Atlas run and then audited independently. The audit found real defects, all fixed here as new commits with their own tests:
degraded_warn_minnote badge iswhite-space:nowrap, Knobs table measured 821px in a 797px frameseedAdvancedCollapsedseeds per category when its first advanced row renders; 3 node tests, mutation-checkedPOST .../classifier_degraded_warn_threshold {"value": null}was a 500DELIBERATELY_NOT_IN_ADMINexcuses for knobs that do have a control (the card)_CARD_BACKED_PATHS; excuses deleted; gate shown to fail naming a leaf when one is removedCLAUDE.mdline from2d145d6Commit message correction:
b774d55says it updatesCLIREF.md. No such file exists. The 17 lines it describes are the North Star 1 paragraphs inCLAUDE.md. History is not rewritten; the correction is also in the body ofdfd19d6.Verification
scripts/verify_commit.py --full HEAD, run from the worktree: lint clean, 2664 tests pass.config.local.yamluntouched (md5 before and after identical).Not in this PR
.playwright-mcp/; they are untracked and not part of the diff.🤖 Generated with Claude Code
https://claude.ai/code/session_01KkCGRantZsSwmcFpet6FTa