test_checkpoints_bounded.py python
57 lines 2.0 KB
Raw
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago
1 """Performance bounds for checkpoint verify-step."""
2
3 from __future__ import annotations
4
5 import stat
6 import time
7
8 import yaml
9
10 from adapters.config import load_config
11 from tests.support import seed_checkpoint_repo
12 from tools.checkpoints.orchestrator import VerifyStepOptions, run_verify_step
13
14
15 def _seed_twenty_step(repo_root) -> None:
16 seed_checkpoint_repo(repo_root)
17 policy_path = repo_root / "policy" / "checkpoints.yaml"
18 policy = yaml.safe_load(policy_path.read_text(encoding="utf-8"))
19 steps = {}
20 template_steps = []
21 for index in range(20):
22 step_id = f"p{index:02d}"
23 script_name = f"verify_{step_id}.py"
24 script_path = repo_root / "scripts" / "verify" / script_name
25 script_path.write_text("#!/usr/bin/env python3\nimport sys\nsys.exit(0)\n", encoding="utf-8")
26 script_path.chmod(script_path.stat().st_mode | stat.S_IXUSR)
27 steps[step_id] = {"verify_script": f"scripts/verify/{script_name}"}
28 template_steps.append(step_id)
29 policy["steps"].update(steps)
30 policy["templates"]["perf"] = {"steps": template_steps}
31 policy_path.write_text(yaml.safe_dump(policy), encoding="utf-8")
32 manifest = {
33 "schema_version": 1,
34 "template_id": "perf",
35 "slug": "perf",
36 "current_step": template_steps[0],
37 "meta": {},
38 "steps": {
39 sid: {"verified": False, "verified_at": None, "artifact_sha256": None}
40 for sid in template_steps
41 },
42 }
43 (repo_root / "manifests" / "work-unit.yaml").write_text(yaml.safe_dump(manifest), encoding="utf-8")
44
45
46 def test_twenty_step_all_bounded(repo_root) -> None:
47 _seed_twenty_step(repo_root)
48 config = load_config(repo_root / ".overseer" / "config.yaml")
49 start = time.monotonic()
50 result = run_verify_step(
51 config=config,
52 repo_root=repo_root,
53 options=VerifyStepOptions(verify_all=True),
54 )
55 elapsed = time.monotonic() - start
56 assert result.exit_code == 0
57 assert elapsed < 15.0
File History 2 commits
sha256:a78e7e5a8740e03315f325d19edeb3aa1b306b3337d04abbaa9a9e0f3bbeb7a1 docs: MuseHub-first before ISR #74 — staging solidify NEXT Human 1 day ago
sha256:4671b7f787ddbe63ced31c895b688c77ab495653b65a730b423329f26b3c1439 feat: K1-P1 complete — agent provenance, build-verification… Sonnet 4.6 patch 53 days ago