test_pilot_matrix_configs.py python
61 lines 2.4 KB
Raw
sha256:0e9549ec7b463911bc08b7d586dc320b1ac9b1f5c943ee7e3865dcc6cb0f6f83 chore(governance): sync handover+roadmap to 84db8c8 (drift:… Human 9 hours ago
1 """Integration: four pilot matrix configs load and resolve footprints (§K6.10)."""
2
3 from __future__ import annotations
4
5 from pathlib import Path
6
7 from adapters.config import load_config
8 from cli.footprint import resolve_footprint
9 from tests.support import PILOT
10
11
12 def test_scooling_config_loads_and_includes_coordination() -> None:
13 config = load_config(PILOT / "config-scooling.yaml")
14 assert config.vcs.regime == "muse+git-mirror"
15 assert config.vcs.muse.working_dir is None
16 dests = {f.destination for f in resolve_footprint(config)}
17 assert "docs/CROSS-REPO-COORDINATION.md" in dests
18 assert "docs/OVERSEER-HANDOVER.md" in dests
19 assert "MUSE-BRIDGE-WORKFLOW.md" in dests
20 assert "scripts/muse-bridge-deploy.sh" in dests
21
22
23 def test_knowtation_config_skips_coordination() -> None:
24 config = load_config(PILOT / "config-knowtation.yaml")
25 dests = {f.destination for f in resolve_footprint(config)}
26 assert "docs/CROSS-REPO-COORDINATION.md" not in dests
27 assert "docs/ROADMAP.md" in dests
28
29
30 def test_musehub_wires_working_dir() -> None:
31 config = load_config(PILOT / "config-musehub.yaml")
32 assert config.vcs.regime == "muse-only"
33 assert config.vcs.muse.working_dir == "musehub"
34 dests = {f.destination for f in resolve_footprint(config)}
35 assert "docs/MUSEHUB-OVERSEER-HANDOVER.md" in dests
36 assert "docs/MUSEHUB-ROADMAP.md" in dests
37
38
39 def test_videofactory_bare_paths_and_git_only() -> None:
40 config = load_config(PILOT / "config-videofactory.yaml")
41 assert config.vcs.regime == "git-only"
42 assert config.repo.root_relative_docs == "."
43 dests = {f.destination for f in resolve_footprint(config)}
44 assert "VIDEO_OVERSEER_HANDOVER.md" in dests
45 assert "VIDEO_PRODUCTION_STATUS_BOARD.md" in dests
46 assert config.docs.handover_title == "Video Overseer Handover"
47 assert config.docs.roadmap_title == "Video Production Status Board"
48
49
50 def test_all_pilot_configs_have_thresholds_and_nested_reviewer() -> None:
51 for name in (
52 "config-scooling.yaml",
53 "config-knowtation.yaml",
54 "config-musehub.yaml",
55 "config-videofactory.yaml",
56 ):
57 config = load_config(PILOT / name)
58 assert config.thresholds.realign_max_commits == 50
59 assert config.freeze_contract.reviewer.mode == "agent"
60 assert config.freeze_contract.reviewer.provider == "local"
61 assert config.freeze_contract.reviewer.fallback == "human"
File History 1 commit
sha256:6abcf1fa82a7a621ccbc945f19acdba5bc0db54569599404a1452fb4a096a199 fix(ISR): default require_independent_second_reviewer to require Human minor 9 hours ago