Files
timmy-home/tests/test_fleet_progression_report.py
2026-04-21 07:29:34 -04:00

75 lines
2.3 KiB
Python

from __future__ import annotations
from pathlib import Path
from scripts.fleet_progression import evaluate_progression, load_spec, render_markdown
ROOT = Path(__file__).resolve().parents[1]
DOC_PATH = ROOT / "docs" / "FLEET_PROGRESSION_STATUS.md"
def test_phase_results_include_repo_evidence_status() -> None:
spec = load_spec()
result = evaluate_progression(
spec,
issue_states={548: "open", 549: "open", 550: "open", 551: "open", 552: "open", 553: "open"},
resources={
"uptime_percent_30d": 95.0,
"capacity_utilization": 61.0,
"innovation": 0,
"all_models_local": False,
"sovereign_stable_days": 0,
"human_free_days": 0,
},
repo_root=ROOT,
)
phase1 = result["phases"][0]
assert phase1["repo_evidence_present"], "expected repo evidence for phase 1"
assert any("scripts/fleet_phase_status.py" in item for item in phase1["repo_evidence_present"])
def test_render_markdown_includes_phase_matrix_and_blockers() -> None:
spec = load_spec()
result = evaluate_progression(
spec,
issue_states={548: "open", 549: "open", 550: "open", 551: "open", 552: "open", 553: "open"},
resources={
"uptime_percent_30d": 95.0,
"capacity_utilization": 61.0,
"innovation": 0,
"all_models_local": False,
"sovereign_stable_days": 0,
"human_free_days": 0,
},
repo_root=ROOT,
)
report = render_markdown(result)
for snippet in (
"# [FLEET-EPIC] Fleet Progression - Paperclips-Inspired Infrastructure Evolution",
"## Current Phase",
"## Phase Matrix",
"SURVIVAL",
"AUTOMATION",
"blocked by `phase_2_issue_closed`",
):
assert snippet in report
def test_repo_contains_committed_fleet_progression_status_doc() -> None:
assert DOC_PATH.exists(), "missing committed fleet progression status doc"
text = DOC_PATH.read_text(encoding="utf-8")
for snippet in (
"# [FLEET-EPIC] Fleet Progression - Paperclips-Inspired Infrastructure Evolution",
"## Current Phase",
"## Phase Matrix",
"## Why This Epic Remains Open",
):
assert snippet in text