Files
buzz/benchmarks/harbor-buzz-orchestra/testbed/tests/conftest.py

60 lines
2.0 KiB
Python

"""Shared fixtures for testbed provisioning tests."""
from __future__ import annotations
import pytest
from harbor_buzz_orchestra.manifest import ExperimentManifest
PROMPT_REF = {"path": "personas/x.md", "sha256": "0" * 64}
@pytest.fixture()
def manifest() -> ExperimentManifest:
"""A minimal two-class manifest: one orchestrator, two workers."""
return ExperimentManifest.load(
{
"condition": "O-test",
"roster": [
{
"id": "worker-glm",
"kind": "worker",
"role": "implementer",
"count": 2,
"endpoint": "databricks/glm",
"model_revision": "glm-5.2",
"prompt": PROMPT_REF,
"generation": {
"max_output_tokens": 4096,
"context_window_tokens": 128000,
},
},
{
"id": "orch-opus",
"kind": "orchestrator",
"role": "lead",
"count": 1,
"endpoint": "databricks/opus",
"model_revision": "opus-4.8",
"prompt": PROMPT_REF,
"generation": {
"max_output_tokens": 8192,
"context_window_tokens": 200000,
},
},
],
"prices": {
"databricks/glm": {
"input_per_million_usd": 0.5,
"cached_input_per_million_usd": 0.1,
"output_per_million_usd": 1.5,
},
"databricks/opus": {
"input_per_million_usd": 15.0,
"cached_input_per_million_usd": 1.5,
"output_per_million_usd": 75.0,
},
},
"trial_budget": {"timeout_seconds": 3600},
}
)