45 lines
1.3 KiB
Bash
Executable file
45 lines
1.3 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "$ROOT"
|
|
|
|
mkdir -p proof .crabbox-results
|
|
|
|
python3 -m pytest \
|
|
tests/test_agent_routing.py \
|
|
tests/test_evaluate_agent_routing.py \
|
|
tests/test_phase1b_end_to_end.py \
|
|
tests/test_eval_parse.py \
|
|
tests/test_contributor.py \
|
|
tests/test_search.py \
|
|
--junitxml=.crabbox-results/phase1b-pytest.xml
|
|
|
|
PHASE1B_AGENT_ROUTING_ENABLED=true \
|
|
python3 scripts/prove_phase1b_local.py \
|
|
--output proof/phase1b-local-e2e-proof.json
|
|
|
|
python3 - <<'PY'
|
|
import json
|
|
from pathlib import Path
|
|
|
|
proof_path = Path("proof/phase1b-local-e2e-proof.json")
|
|
proof = json.loads(proof_path.read_text())
|
|
summary = {
|
|
"ok": proof.get("ok") is True,
|
|
"scope": proof.get("scope"),
|
|
"schema_version": proof.get("schema_version"),
|
|
"agents_seen": proof.get("agents_seen", []),
|
|
"cases_total": proof.get("cases_total"),
|
|
"succeeded": proof.get("succeeded"),
|
|
"failed": proof.get("failed"),
|
|
}
|
|
if not summary["ok"]:
|
|
raise SystemExit(f"phase1b proof failed: {summary}")
|
|
if len(summary["agents_seen"]) != 6:
|
|
raise SystemExit(f"expected six agents, got {summary['agents_seen']}")
|
|
Path(".crabbox-results/phase1b-proof-summary.json").write_text(
|
|
json.dumps(summary, indent=2, sort_keys=True) + "\n"
|
|
)
|
|
print(json.dumps(summary, indent=2, sort_keys=True))
|
|
PY
|