feat(manifest): model-capability manifest — single source of truth for efforts, routes, labels

Rebased onto origin/main (5bf78671f4).

Conflict resolved in crates/buzz-agent/src/config.rs: kept our generated
anthropic_thinking_config_generated as the sole authority; absorbed main's
thinking shapes, ThinkingSummary enum + parse_thinking_summary, and the
thinking_summary field in Config wired through from_env / for_discovery.

Fixed CI job (model-capabilities): actions/checkout comment v6 → v6.0.3,
Swatinem/rust-cache SHA bumped to tagged v2.9.1 (c1937114) to resolve
zizmor ref-version-mismatch finding (r3730151005).

  62ebc9431 fix(model-capabilities): collapse empty segments in Rust gpt-version-segment matcher
  817b88790 test(file-size): fix fileOverrides integration test under GITHUB_ACTIONS
  1e9df5568 fix(manifest): enforce registry_label exclusion on family rules; test fileOverrides boundary
  0e6aacfd2 fix(buzz-agent): curate display name in configured_model_fallback
  77c24ef32 chore(manifest): remove dead registry_labels key

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
This commit is contained in:
Duncan
2026-08-06 11:30:40 -04:00
parent 5e4c05f90b
commit 20609f1815
32 changed files with 10033 additions and 2703 deletions

View File

@@ -130,6 +130,50 @@ jobs:
- name: Unit tests
run: just test-unit
model-capabilities:
name: Model Capabilities (regen + corpus + schema + buzz-agent tests)
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: read
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: cashapp/activate-hermit@cea9af7913204a965fd488637a8d1811bba2e616 # v1
- uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1
with:
save-if: ${{ github.event_name != 'pull_request' }}
- name: Set up Node.js
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '24'
package-manager-cache: false
- name: Regenerate artifacts
run: node scripts/generate-model-capabilities.mjs
- name: Diff check — fail if generated files are stale
run: |
if ! git diff --exit-code \
crates/buzz-agent/src/generated_model_capabilities.rs \
desktop/src/features/agents/ui/modelCapabilities.ts; then
echo ""
echo "ERROR: Generated model-capability files are stale."
echo "Run: node scripts/generate-model-capabilities.mjs"
echo "Then commit the regenerated files."
exit 1
fi
echo "✓ All generated files are up to date."
- name: Run corpus (TS interpreter via --experimental-strip-types)
run: node --experimental-strip-types scripts/run-corpus.mjs
- name: Validate manifest (schema-negative tests)
run: node --test scripts/test-manifest-validator.mjs
- name: Run buzz-agent unit tests (normative corpus + generated interpreter)
run: cargo test -p buzz-agent --lib
desktop-core:
name: Desktop Core
runs-on: ubuntu-latest