test_track_o_pack.py python
55 lines 2.0 KB
Raw
sha256:0e9549ec7b463911bc08b7d586dc320b1ac9b1f5c943ee7e3865dcc6cb0f6f83 chore(governance): sync handover+roadmap to 84db8c8 (drift:… Human 10 hours ago
1 """E2E — real Track O contract pack paths (§O0.8 e2e)."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from tools.track_o.validate import (
8 CONTRACT_REL,
9 KNOWTATION_REL,
10 SCOOLING_REL,
11 validate_track_o_pack,
12 )
13
14 KIT_ROOT = Path(__file__).resolve().parents[2]
15
16
17 def test_real_pack_paths_resolve() -> None:
18 assert (KIT_ROOT / CONTRACT_REL).is_file()
19 assert (KIT_ROOT / SCOOLING_REL).is_file()
20 assert (KIT_ROOT / KNOWTATION_REL).is_file()
21
22
23 def test_validate_track_o_pack_on_kit_root_passes() -> None:
24 result = validate_track_o_pack(KIT_ROOT)
25 assert result.ok, result.errors
26
27
28 def test_scooling_and_knowtation_remain_operator_gated() -> None:
29 scooling = (KIT_ROOT / SCOOLING_REL).read_text(encoding="utf-8")
30 knowtation = (KIT_ROOT / KNOWTATION_REL).read_text(encoding="utf-8")
31 assert "operator-gated" in scooling
32 assert "operator-gated" in knowtation
33 assert "no live" in knowtation.lower()
34
35
36 def test_track_o_does_not_claim_scooling_mandatory() -> None:
37 contract = (KIT_ROOT / CONTRACT_REL).read_text(encoding="utf-8")
38 scooling = (KIT_ROOT / SCOOLING_REL).read_text(encoding="utf-8")
39 assert "not** required" in contract or "not required" in contract.lower()
40 assert "optional" in scooling.lower()
41 assert "mandatory" not in contract.lower() or "not" in contract.lower()
42
43
44 def test_stage3_points_at_o2_and_upgrade_regime() -> None:
45 contract = (KIT_ROOT / CONTRACT_REL).read_text(encoding="utf-8")
46 scooling = (KIT_ROOT / SCOOLING_REL).read_text(encoding="utf-8")
47 assert "ok upgrade-regime" in contract
48 assert "PHASE-TRACK-O-O2-STAGE3-UPGRADE-CEREMONY" in contract
49 assert "deferred to Thinking O2" not in contract
50 assert "deferred to O2" not in contract
51 assert "deferred to O2" not in scooling
52 assert "ok upgrade-regime" in scooling or "PHASE-TRACK-O-O2" in scooling
53 assert "one-click" in contract.lower()
54 # One-click still blocked until §O2.6
55 assert "§O2.6" in contract or "O2.6" in contract
File History 1 commit
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 10 hours ago