mirror of
https://github.com/block/buzz.git
synced 2026-08-18 06:50:31 +02:00
Cut config.rs, catalog.rs, and llm.rs over to the generated capability
module from Phase 1. Both old and new paths are preserved; Phase 3
removes the old authorities.
Changes:
- catalog.rs: replace hand-typed DATABRICKS_V2_KNOWN_MODELS literal with
a re-export of generated_model_capabilities::DATABRICKS_V2_KNOWN_MODELS
- llm.rs: databricks_v2_route_for_model now delegates to
resolve_model_capabilities("databricks_v2", model). Old segment-based
classifier and constants moved to #[cfg(test)] under _old_* names for
the differential harness. New differential test confirms old/new agree
on all 20 route test vectors (empty allowlist — logic is identical).
- config.rs: add effort_table_fixture_differential_old_vs_new test that
runs resolve_model_capabilities over the 36-entry effortTable.fixture.json
and asserts old/new agree mod a doc-cited allowlist of 4 intentional F1
corrections (gpt-5-5, gpt-5-4-mini, gpt-5-4-nano, gpt-5-6-sol).
- scripts/run-differential.mjs: new JS differential harness running the
old buzzAgentConfig.ts effort logic vs new modelCapabilities.ts over the
effortTable fixture (36 entries), normative corpus (45 vectors), and
catalog-sample fixture (14 endpoints). Passes with allowlist of 5 entries
(4 models.dev F1 corrections + goose-opus-5 anthropic route correction).
- scripts/MODELS_DEV_RECONCILIATION.md: replace 8 trailing-double-space
Markdown line breaks with <br> (deferred MINOR from Phase 1 review).
Verification:
- cargo test -p buzz-agent --lib: 426/426 (424 existing + 2 new differential)
- node run-corpus.mjs: 45/45
- node test-manifest-validator.mjs: 24/24 schema-negative
- generate-model-capabilities.mjs --check: byte-clean
- node run-differential.mjs: 85 checks, 0 unexpected divergences
- git diff --check: clean
Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>