File size: 2,497 Bytes
c9baa73
af19401
 
 
c9baa73
2733f3f
 
 
 
af19401
 
 
 
 
2733f3f
 
 
 
 
 
 
af19401
 
2733f3f
 
 
 
 
 
 
 
af19401
 
2733f3f
af19401
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9baa73
 
 
 
 
 
 
 
 
 
 
 
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
.PHONY: install dev test test-tier1 test-wrapper baseline scripted-baseline tier-info walkthrough trainer-eval trainer-dataset trainer-session docker-build docker-run validate clean build-corpus collect-sonnet train-notebook

install:
	python3 -m pip install -e ".[dev]"
	@echo "Dependencies installed (sre-engineer-llm 3.1.0 — Triage tier runnable as live HTTP env, Strategy/Operations runnable as Python orchestrators)"

install-train:
	python3 -m pip install -e ".[dev,train]"
	@echo "Train deps installed (Unsloth + TRL pulled separately in notebook 01)"

dev:
	ENABLE_WEB_INTERFACE=true uvicorn server.app:app --reload --host 0.0.0.0 --port 8000

test:
	pytest unified_incident_env/tests tests/ -v --tb=short

test-tier1:
	pytest unified_incident_env/tests/test_round2_templates.py -v --tb=short

test-wrapper:
	pytest tests/test_sre_gym_wrapper.py -v --tb=short

baseline:
	python scripts/eval_baseline.py --templates-only

scripted-baseline:
	python scripts/eval_baseline.py --output eval/results/scripted_baseline.jsonl

tier-info:
	python -c "from sre_gym import SREGym, Tier; \
		[print(f'\\n=== {t.value} ==='), [print(f'  {k:<28} {v}') for k,v in SREGym(tier=t).describe().items()]] for t in Tier"

walkthrough:
	python -m unified_incident_env.scripts.walkthrough --scenario worker_deploy_cascade

trainer-eval:
	python -m unified_incident_env.trainer.eval_models --models qwen2.5:0.5b gemma2:2b qwen2.5:7b-instruct-q4_K_M --mode strict

trainer-dataset:
	python -m unified_incident_env.trainer.build_sft_dataset --source combined --output outputs/trainer/sft_dataset.jsonl

trainer-session:
	python -m unified_incident_env.trainer.run_session --model qwen2.5:0.5b --base-url http://127.0.0.1:8000

docker-build:
	docker buildx build --platform linux/amd64 -t sre-env:latest .

docker-run:
	docker run -p 8000:8000 -e ENABLE_WEB_INTERFACE=true sre-env:latest

validate:
	openenv validate .

clean:
	rm -rf outputs __pycache__ .pytest_cache
	find . -name "*.pyc" -delete

build-corpus:
	python train/build_corpus.py --output train/data/seed_v2_120.jsonl

collect-sonnet:
	@test -n "$$ANTHROPIC_API_KEY" || (echo "set ANTHROPIC_API_KEY first" && exit 1)
	@curl -sf http://127.0.0.1:8000/health > /dev/null || (echo "start the env first: make dev" && exit 1)
	python train/collect_sonnet_missing6.py --output train/data/sonnet_missing6.jsonl

train-notebook:
	@which jupytext > /dev/null || (echo "pip install jupytext" && exit 1)
	jupytext --to ipynb notebooks/01_triage_train_grpo.py