test_governance_large_roadmap.py file-level

at sha256:a · View file ↗ · Intel ↗

History
1 files
1 commits
0 hotspots
0 🧊 dead
0 💥 blast risk
sha256:6 fix(ISR): default require_independent_second_reviewer to require Opera… · aaronrene · Sep 2, 2026
1 """Stress tests for governance-sync (§8 stress tier)."""
2
3 from __future__ import annotations
4
5 import json
6 from pathlib import Path
7
8 from tools.governance_hygiene.drift import detect_drift
9 from tools.governance_hygiene.patch import build_roadmap_patches
10 from tools.governance_hygiene.types import DriftReport, MergedPullRequest, VerifiedReads
11
12
13 def _big_roadmap(rows: int) -> str:
14 lines = [
15 "# Stress — Roadmap",
16 "",
17 "## Build queue",
18 "",
19 "| Phase | Model | Status | Deliverable |",
20 "| --- | --- | --- | --- |",
21 ]
22 for index in range(rows):
23 lines.append(f"| **P{index:03d}** | Auto | **TODO** | item {index} |")
24 return "\n".join(lines) + "\n"
25
26
27 def _many_merged(count: int) -> tuple[MergedPullRequest, ...]:
28 return tuple(
29 MergedPullRequest(
30 number=1000 + index,
31 title=f"P{index:03d} delivery",
32 merge_commit_sha=f"{index:040x}",
33 merged_at="2026-07-01T00:00:00Z",
34 )
35 for index in range(count)
36 )
37
38
39 def test_large_roadmap_reconciles_quickly() -> None:
40 reads = VerifiedReads(
41 regime="git-only",
42 r1_github_main_sha="a" * 40,
43 r1_command="git rev-parse origin/main",
44 r2_anchor_sha="a" * 40,
45 r2_source="origin/main",
46 r3_canonical_main_sha="a" * 40,
47 r3_command=None,
48 r4_merged_prs=_many_merged(40),
49 r5_branch="main",
50 r5_dirty=False,
51 r5_regime="git-only",
52 )
53 drift = DriftReport(
54 d1_handover_vs_git="aligned",
55 d2_anchor_vs_canonical="aligned",
56 d3_queue_vs_merged="drifted",
57 )
58 roadmap = _big_roadmap(200)
59 patched, sections = build_roadmap_patches(roadmap, reads, drift)
60 assert "build-queue" in sections
61 assert len(patched) > len(roadmap) // 2
62 redrift = detect_drift(reads, "| **main HEAD** | `" + "a" * 40 + "` |", patched)
63 assert redrift.d3_queue_vs_merged in {"aligned", "drifted"}