Files
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7andWill Pfleger d28b9bf411 feat(agent): Phase 2a — wire Rust consumers to generated capability module
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>
2026-07-31 12:53:43 -04:00
..
2026-07-27 14:18:24 -04:00