mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
fix: route databricks claude fqns to anthropic messages (#7829)
Fix Databricks V2 Unity Catalog Claude service routing without erasing verified model capabilities. - preserve exact provider-qualified record precedence for `data_workflow_tools.goose.goose-claude-opus-5-5`, including adaptive thinking, explicit `output_config.effort` (default medium), and signed native tool continuation - route other boundary-matched `claude-*` service components to Anthropic Messages while preserving the full FQN and advertising no unverified effort controls - keep GPT-5+ service components on OpenAI Responses and other uncurated FQNs on MLflow Chat Completions; catalog/schema text does not affect routing - keep Rust and TypeScript resolver precedence aligned and regenerate the 168-vector normative corpus Validation at `1204f1eacff17ebe05eb2bba06b5eee210e21c25`: - `cargo test -p buzz-agent` - `pnpm -C desktop test` — 6,628 passed - `pnpm -C desktop typecheck` - `cargo fmt --all -- --check` - `cargo clippy -p buzz-agent --all-targets -- -D warnings` - `just test-unit` — passed on isolated rerun - pre-push file-size, desktop check, desktop typecheck, desktop tests, and Tauri checks passed; the repository-wide Rust lane exited without identifying a failing test in two concurrent hook runs, while its isolated `just test-unit` rerun passed --------- Signed-off-by: Kalvin Chau <kalvin@block.xyz> Co-authored-by: am <6e30cd56c30e030cd31bb0939b94a7c257c9a09d5ba2d92cf2735da45629f248@buzz.block.builderlab.xyz>
This commit is contained in:
@@ -2394,17 +2394,10 @@
|
||||
"raw_model_id": "other.goose.goose-claude-opus-5-5",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
@@ -2414,17 +2407,10 @@
|
||||
"raw_model_id": "data_workflow_tools.goose.goose-claude-opus-5-5-preview",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
@@ -2434,17 +2420,10 @@
|
||||
"raw_model_id": "system.ai.claude-opus-5-5",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
@@ -2468,6 +2447,76 @@
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"_group": "Uncurated Databricks Claude FQN routing",
|
||||
"_note": "Only the service component selects Anthropic Messages; unverified Claude FQNs expose no effort choices."
|
||||
},
|
||||
{
|
||||
"id": "dbv2-fqn-claude-anthropic",
|
||||
"provider": "databricks_v2",
|
||||
"raw_model_id": "catalog.schema.claude-sonnet-custom",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dbv2-fqn-claude-case",
|
||||
"provider": "databricks_v2",
|
||||
"raw_model_id": "catalog.schema.GOOSE-CLAUDE-SONNET-CUSTOM",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dbv2-fqn-claude-catalog-inert",
|
||||
"provider": "databricks_v2",
|
||||
"raw_model_id": "claude-catalog.schema.service",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dbv2-fqn-claude-schema-inert",
|
||||
"provider": "databricks_v2",
|
||||
"raw_model_id": "catalog.claude-schema.service",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
{
|
||||
"_group": "Databricks FQN GPT-5+ Responses routing",
|
||||
"_note": "Only the service component selects Responses; effort capabilities remain neutral."
|
||||
@@ -2613,22 +2662,15 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "dbv2-fqn-responses-7",
|
||||
"id": "dbv2-fqn-claude-precedes-gpt",
|
||||
"provider": "databricks_v2",
|
||||
"raw_model_id": "catalog.schema.claude-gpt-6",
|
||||
"expect": {
|
||||
"thinking_mode": "none",
|
||||
"supported_efforts": [
|
||||
"none",
|
||||
"minimal",
|
||||
"low",
|
||||
"medium",
|
||||
"high",
|
||||
"xhigh"
|
||||
],
|
||||
"default_effort": "medium",
|
||||
"databricks_v2_wire_route": "mlflow-chat",
|
||||
"normalization_policy": "openai-clamp-max-to-xhigh",
|
||||
"supported_efforts": [],
|
||||
"default_effort": null,
|
||||
"databricks_v2_wire_route": "anthropic-messages",
|
||||
"normalization_policy": "none",
|
||||
"registry_label": null
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user