-
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathtox.ini
More file actions
78 lines (67 loc) · 1.59 KB
/
Copy pathtox.ini
File metadata and controls
78 lines (67 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
[tox]
envlist =
{py311,py312,py313,py314},
lint,
skip_missing_interpreters = True
labels =
# billing: headless Claude Code runs — invoke explicitly via `tox -m evals`
evals = evals-sonnet, evals-haiku, evals-opus
[testenv]
usedevelop = True
extras =
test
basepython:
py311: python3.11
py312: python3.12
py313: python3.13
py314: python3.14
commands =
pytest --cov=plonecli tests {posargs}
setenv =
PYTHONPATH = {toxinidir}
passenv =
VERBOSE
PLONECLI_TEMPLATES_REPO_URL
PLONECLI_TEMPLATES_BRANCH
PLONECLI_TEMPLATES_DIR
deps =
pytest
pytest-cov
[testenv:evals-{sonnet,haiku,opus}]
description = behavioral skill evals via headless Claude Code (bills model usage)
usedevelop = True
extras =
test
setenv =
PYTHONPATH = {toxinidir}
RUN_SKILL_EVALS = 1
sonnet: SKILL_EVAL_MODEL = sonnet
haiku: SKILL_EVAL_MODEL = haiku
opus: SKILL_EVAL_MODEL = opus
passenv =
HOME
CLAUDE_CONFIG_DIR
ANTHROPIC_API_KEY
commands =
pytest -m evals -v tests/test_skill_evals.py {posargs}
[testenv:evals-baseline]
description = skill vs no-skill A/B via the CLI runner (bills model usage)
usedevelop = True
extras =
test
setenv =
PYTHONPATH = {toxinidir}
passenv =
HOME
CLAUDE_CONFIG_DIR
ANTHROPIC_API_KEY
commands =
python evals/skill/run_evals.py --mode both {posargs}
[testenv:lint]
basepython = python3.13
skip_install = true
deps =
ruff
commands =
ruff check {toxinidir}/plonecli {toxinidir}/tests {toxinidir}/evals
ruff format --check {toxinidir}/plonecli {toxinidir}/tests {toxinidir}/evals