Skip to content

Commit fd5d219

Browse files
refactor: remove the Ray execution skeleton — ship only what runs
Ray was a NotImplementedError stub advertising a feature that never worked. Removed execution/ray_backend.py + tests/test_execution_ray_graceful.py, the RayExecutor export, the `[ray]` extra (and its slot in `all`), the `--execution ray` choice + the run-suite guard, and the dead `ExecutionSpec.ray_address` field. Local is the only executor. ruff clean, 370 tests, mkdocs --strict green.
1 parent dcddd7b commit fd5d219

9 files changed

Lines changed: 9 additions & 85 deletions

File tree

AGENTS.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,3 @@ Data flow: `transcript.jsonl → import_transcript → RunTrajectory → (emit_t
6565
indirection. If trimming: extract the pure report-**writers** (`write_summary_metrics`,
6666
`write_eval_report`, `write_metrics_structured`, `write_run_record`) into a `tracking/reports.py`
6767
of free functions — low-risk, reduces size *and* coupling.
68-
- Ray executor: `execution/ray_backend.py` is a `NotImplementedError` skeleton + a heavy `[ray]`
69-
extra, now undocumented. Candidate for full removal (backend + extra + `--execution ray` choice +
70-
its test) so the package advertises only what runs.

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,11 @@ All notable changes to `aet` are recorded here.
102102
score <baseline−0.05.
103103
- **`aet runs`** and **`aet show`** CLI subcommands for listing and inspecting recorded runs.
104104

105+
### Removed
106+
- **Ray execution backend** — it was a `NotImplementedError` skeleton advertising a feature that
107+
didn't run. Removed the backend, the `[ray]` extra, the `--execution ray` choice, and its docs/test.
108+
Only the local executor ships (ship only what's real).
109+
105110
### Changed
106111
- **Lint-clean + enforced**: repo is `ruff`-clean; `[tool.ruff]`/`[tool.pytest.ini_options]` pinned in
107112
`pyproject.toml`; the `all` extra now composes the other extras (single source of truth) + a new

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,11 @@ openllmetry = [
2222
"opentelemetry-instrumentation-anthropic>=0.55",
2323
"opentelemetry-instrumentation-openai>=0.55",
2424
]
25-
ray = ["ray[default]>=2.40"]
2625
viz = ["matplotlib>=3.7", "numpy>=1.24"]
2726
docs = ["mkdocs>=1.6", "mkdocs-material>=9.5", "mkdocstrings[python]>=0.26"]
2827
dev = ["pytest>=8.0", "ruff", "jsonschema>=4.0"]
2928
# `all` composes the other extras (single source of truth — no hand-duplicated pins).
30-
all = ["aet[tracking,openllmetry,ray,viz,docs,dev]"]
29+
all = ["aet[tracking,openllmetry,viz,docs,dev]"]
3130

3231
[project.scripts]
3332
aet = "aet.cli.main:main"

src/aet/cli/_common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def _add_global_args(p: argparse.ArgumentParser) -> None:
1616
)
1717
p.add_argument(
1818
"--execution",
19-
choices=["local", "ray"],
19+
choices=["local"],
2020
default="local",
2121
help="Execution backend (default: local)",
2222
)

src/aet/cli/commands/lifecycle.py

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,6 @@ def _cmd_validate(args) -> None:
188188

189189

190190
def _cmd_run_suite(args) -> None:
191-
if args.execution == "ray":
192-
raise NotImplementedError(
193-
"Ray execution backend is not yet implemented. "
194-
"Use --execution local to run locally."
195-
)
196-
197191
methods = [m.strip() for m in args.methods.split(",")]
198192
seeds = [int(s.strip()) for s in args.seeds.split(",")]
199193
combos = [(method, seed) for method in methods for seed in seeds]

src/aet/execution/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
from aet.execution.local_backend import LocalExecutor
2-
from aet.execution.ray_backend import RayExecutor
3-
__all__ = ["LocalExecutor", "RayExecutor"]
2+
3+
__all__ = ["LocalExecutor"]

src/aet/execution/ray_backend.py

Lines changed: 0 additions & 28 deletions
This file was deleted.

src/aet/execution/types.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,4 @@
44
@dataclass
55
class ExecutionSpec:
66
backend: str = "local"
7-
ray_address: str | None = None
87
max_concurrency: int = 1

tests/test_execution_ray_graceful.py

Lines changed: 0 additions & 42 deletions
This file was deleted.

0 commit comments

Comments
 (0)