Skip to content

Commit 809f482

Browse files
committed
Revert "fix(packaging): wire contrib evaluator releases"
This reverts commit ce2a8da.
1 parent ce2a8da commit 809f482

7 files changed

Lines changed: 14 additions & 121 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,13 +59,10 @@ jobs:
5959
- name: Test with coverage
6060
run: make test
6161

62-
- name: Test contrib evaluators
63-
run: make test-extras
64-
6562
- name: Upload coverage to Codecov
6663
uses: codecov/codecov-action@v4
6764
with:
68-
files: coverage-models.xml,coverage-engine.xml,coverage-telemetry.xml,coverage-server.xml,coverage-sdk.xml,coverage-evaluators-budget.xml,coverage-evaluators-cisco.xml,coverage-evaluators-galileo.xml
65+
files: coverage-models.xml,coverage-engine.xml,coverage-telemetry.xml,coverage-server.xml,coverage-sdk.xml
6966
fail_ci_if_error: false
7067
token: ${{ secrets.CODECOV_TOKEN }}
7168

.github/workflows/release.yaml

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ jobs:
4242
uv sync
4343
uv run python scripts/build.py all
4444
45-
# Publish in dependency order: models -> evaluators -> sdk -> contrib evaluators
45+
# Publish in dependency order: models -> evaluators -> sdk -> evaluator-galileo
4646
- name: Publish agent-control-models to PyPI
4747
if: steps.release.outputs.released == 'true'
4848
uses: pypa/gh-action-pypi-publish@release/v1
@@ -67,22 +67,6 @@ jobs:
6767
user: __token__
6868
password: ${{ secrets.PYPI_API_TOKEN }}
6969

70-
- name: Publish agent-control-evaluator-budget to PyPI
71-
if: steps.release.outputs.released == 'true'
72-
uses: pypa/gh-action-pypi-publish@release/v1
73-
with:
74-
packages-dir: evaluators/contrib/budget/dist/
75-
user: __token__
76-
password: ${{ secrets.PYPI_API_TOKEN }}
77-
78-
- name: Publish agent-control-evaluator-cisco to PyPI
79-
if: steps.release.outputs.released == 'true'
80-
uses: pypa/gh-action-pypi-publish@release/v1
81-
with:
82-
packages-dir: evaluators/contrib/cisco/dist/
83-
user: __token__
84-
password: ${{ secrets.PYPI_API_TOKEN }}
85-
8670
- name: Publish agent-control-evaluator-galileo to PyPI
8771
if: steps.release.outputs.released == 'true'
8872
uses: pypa/gh-action-pypi-publish@release/v1
@@ -103,6 +87,4 @@ jobs:
10387
evaluators/builtin/dist/*
10488
sdks/python/dist/*
10589
server/dist/*
106-
evaluators/contrib/budget/dist/*
107-
evaluators/contrib/cisco/dist/*
10890
evaluators/contrib/galileo/dist/*

Makefile

Lines changed: 3 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.PHONY: help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build budget-test budget-lint budget-lint-fix budget-typecheck budget-build cisco-test cisco-lint cisco-lint-fix cisco-typecheck cisco-build galileo-test galileo-lint galileo-lint-fix galileo-typecheck galileo-build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
1+
.PHONY: help sync openapi-spec openapi-spec-check test test-extras test-all models-test test-models test-sdk lint lint-fix typecheck check build build-models build-server build-sdk publish publish-models publish-server publish-sdk hooks-install hooks-uninstall prepush evaluators-test evaluators-lint evaluators-lint-fix evaluators-typecheck evaluators-build galileo-test galileo-lint galileo-lint-fix galileo-typecheck galileo-build sdk-ts-generate sdk-ts-overlay-test sdk-ts-name-check sdk-ts-generate-check sdk-ts-build sdk-ts-test sdk-ts-lint sdk-ts-typecheck sdk-ts-release-check sdk-ts-publish-dry-run sdk-ts-publish telemetry-test telemetry-lint telemetry-lint-fix telemetry-typecheck telemetry-build telemetry-publish
22

33
# Workspace package names
44
PACK_MODELS := agent-control-models
@@ -17,8 +17,6 @@ TS_SDK_DIR := sdks/typescript
1717
ENGINE_DIR := engine
1818
TELEMETRY_DIR := telemetry
1919
EVALUATORS_DIR := evaluators/builtin
20-
BUDGET_DIR := evaluators/contrib/budget
21-
CISCO_DIR := evaluators/contrib/cisco
2220
GALILEO_DIR := evaluators/contrib/galileo
2321
UI_DIR := ui
2422

@@ -37,7 +35,7 @@ help:
3735
@echo "Test:"
3836
@echo " make test - run tests for core packages (models, telemetry, server, engine, sdk, evaluators)"
3937
@echo " make models-test - run shared model tests with coverage"
40-
@echo " make test-extras - run tests for contrib evaluators (budget, cisco, galileo)"
38+
@echo " make test-extras - run tests for contrib evaluators (galileo, etc.)"
4139
@echo " make test-all - run all tests (core + extras)"
4240
@echo " make sdk-ts-test - run TypeScript SDK tests"
4341
@echo ""
@@ -97,7 +95,7 @@ telemetry-test:
9795
$(MAKE) -C $(TELEMETRY_DIR) test
9896

9997
# Run tests for contrib evaluators (not included in default test target)
100-
test-extras: budget-test cisco-test galileo-test
98+
test-extras: galileo-test
10199

102100
# Run all tests (core + extras)
103101
test-all: test test-extras
@@ -248,44 +246,6 @@ server-%:
248246
ui-%:
249247
$(MAKE) -C $(UI_DIR) $(patsubst ui-%,%,$@)
250248

251-
# ---------------------------
252-
# Contrib Evaluators (Budget)
253-
# ---------------------------
254-
255-
budget-test:
256-
$(MAKE) -C $(BUDGET_DIR) test
257-
258-
budget-lint:
259-
$(MAKE) -C $(BUDGET_DIR) lint
260-
261-
budget-lint-fix:
262-
$(MAKE) -C $(BUDGET_DIR) lint-fix
263-
264-
budget-typecheck:
265-
$(MAKE) -C $(BUDGET_DIR) typecheck
266-
267-
budget-build:
268-
$(MAKE) -C $(BUDGET_DIR) build
269-
270-
# ---------------------------
271-
# Contrib Evaluators (Cisco)
272-
# ---------------------------
273-
274-
cisco-test:
275-
$(MAKE) -C $(CISCO_DIR) test
276-
277-
cisco-lint:
278-
$(MAKE) -C $(CISCO_DIR) lint
279-
280-
cisco-lint-fix:
281-
$(MAKE) -C $(CISCO_DIR) lint-fix
282-
283-
cisco-typecheck:
284-
$(MAKE) -C $(CISCO_DIR) typecheck
285-
286-
cisco-build:
287-
$(MAKE) -C $(CISCO_DIR) build
288-
289249
# ---------------------------
290250
# Contrib Evaluators (Galileo)
291251
# ---------------------------

evaluators/contrib/budget/src/agent_control_evaluator_budget/budget/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ class BudgetEvaluatorConfig(EvaluatorConfig):
109109
metadata_paths: dict[str, str] = Field(default_factory=dict)
110110

111111
@model_validator(mode="after")
112-
def require_pricing_for_cost_rules(self) -> BudgetEvaluatorConfig:
112+
def require_pricing_for_cost_rules(self) -> "BudgetEvaluatorConfig":
113113
has_cost_rule = any(rule.limit_unit == "usd_cents" for rule in self.limits)
114114
if has_cost_rule and self.pricing is None:
115115
raise ValueError('pricing is required when any rule uses limit_unit="usd_cents"')

evaluators/contrib/budget/src/agent_control_evaluator_budget/budget/evaluator.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import logging
1616
import math
1717
import threading
18-
from typing import Any, cast
18+
from typing import Any
1919

2020
from agent_control_evaluators._base import Evaluator, EvaluatorMetadata
2121
from agent_control_evaluators._registry import register_evaluator
@@ -114,7 +114,7 @@ def _extract_tokens(data: Any, token_path: str | None) -> tuple[int, int]:
114114
inp_ok = isinstance(inp, int) and not isinstance(inp, bool)
115115
out_ok = isinstance(out, int) and not isinstance(out, bool)
116116
if inp_ok and out_ok:
117-
return max(0, cast(int, inp)), max(0, cast(int, out))
117+
return max(0, inp), max(0, out)
118118
total = usage.get("total_tokens")
119119
if isinstance(total, int) and not isinstance(total, bool) and total > 0:
120120
return 0, max(0, total)
@@ -190,17 +190,17 @@ async def evaluate(self, data: Any) -> EvaluatorResult:
190190
input_tokens, output_tokens = _extract_tokens(data, self.config.token_path)
191191

192192
model: str | None = None
193-
model_path = self.config.model_path
194-
if model_path:
195-
val = _extract_by_path(data, model_path)
193+
model_path_configured = bool(self.config.model_path)
194+
if model_path_configured:
195+
val = _extract_by_path(data, self.config.model_path)
196196
if val is not None:
197197
model = str(val)
198198

199199
cost = _estimate_cost(model, input_tokens, output_tokens, self.config.pricing)
200200

201201
step_metadata = _extract_metadata(data, self.config.metadata_paths)
202202

203-
if model_path and model is None:
203+
if model_path_configured and model is None:
204204
model_known = False
205205
else:
206206
model_known = (

pyproject.toml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,6 @@ version_toml = [
7373
"telemetry/pyproject.toml:project.version",
7474
"server/pyproject.toml:project.version",
7575
"evaluators/builtin/pyproject.toml:project.version",
76-
"evaluators/contrib/budget/pyproject.toml:project.version",
77-
"evaluators/contrib/cisco/pyproject.toml:project.version",
7876
"evaluators/contrib/galileo/pyproject.toml:project.version",
7977
]
8078
version_source = "tag"

scripts/build.py

Lines changed: 2 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
then cleans up afterward. This allows the published wheels to be self-contained.
77
88
Usage:
9-
python scripts/build.py [models|evaluators|sdk|server|budget|cisco|galileo|all]
9+
python scripts/build.py [models|evaluators|sdk|server|galileo|all]
1010
"""
1111

1212
import shutil
@@ -240,53 +240,13 @@ def build_evaluator_galileo() -> None:
240240
print(f" Built agent-control-evaluator-galileo v{version}")
241241

242242

243-
def build_evaluator_budget() -> None:
244-
"""Build agent-control-evaluator-budget (standalone, no vendoring needed)."""
245-
version = get_global_version()
246-
budget_dir = ROOT / "evaluators" / "contrib" / "budget"
247-
248-
print(f"Building agent-control-evaluator-budget v{version}")
249-
250-
# Clean previous builds
251-
dist_dir = budget_dir / "dist"
252-
if dist_dir.exists():
253-
shutil.rmtree(dist_dir)
254-
255-
# Set version
256-
set_package_version(budget_dir / "pyproject.toml", version)
257-
258-
subprocess.run(["uv", "build", "-o", str(dist_dir)], cwd=budget_dir, check=True)
259-
print(f" Built agent-control-evaluator-budget v{version}")
260-
261-
262-
def build_evaluator_cisco() -> None:
263-
"""Build agent-control-evaluator-cisco (standalone, no vendoring needed)."""
264-
version = get_global_version()
265-
cisco_dir = ROOT / "evaluators" / "contrib" / "cisco"
266-
267-
print(f"Building agent-control-evaluator-cisco v{version}")
268-
269-
# Clean previous builds
270-
dist_dir = cisco_dir / "dist"
271-
if dist_dir.exists():
272-
shutil.rmtree(dist_dir)
273-
274-
# Set version
275-
set_package_version(cisco_dir / "pyproject.toml", version)
276-
277-
subprocess.run(["uv", "build", "-o", str(dist_dir)], cwd=cisco_dir, check=True)
278-
print(f" Built agent-control-evaluator-cisco v{version}")
279-
280-
281243
def build_all() -> None:
282244
"""Build all packages."""
283245
print(f"Building all packages (version {get_global_version()})\n")
284246
build_models()
285247
build_evaluators()
286248
build_sdk()
287249
build_server()
288-
build_evaluator_budget()
289-
build_evaluator_cisco()
290250
build_evaluator_galileo()
291251
print("\nAll packages built successfully!")
292252

@@ -304,14 +264,10 @@ def build_all() -> None:
304264
build_sdk()
305265
elif target == "server":
306266
build_server()
307-
elif target == "budget":
308-
build_evaluator_budget()
309-
elif target == "cisco":
310-
build_evaluator_cisco()
311267
elif target == "galileo":
312268
build_evaluator_galileo()
313269
elif target == "all":
314270
build_all()
315271
else:
316-
print("Usage: python scripts/build.py [models|evaluators|sdk|server|budget|cisco|galileo|all]")
272+
print("Usage: python scripts/build.py [models|evaluators|sdk|server|galileo|all]")
317273
sys.exit(1)

0 commit comments

Comments
 (0)