feat: extract review-merge-pr workflow from monolithic LLM skill #335
@@ -1,4 +1,4 @@
|
|||||||
"""Doc-contract checks for task-specific LLM workflow split (#333)."""
|
"""Doc-contract checks for task-specific LLM workflow split (#333, #334)."""
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
|
|
||||||
REPO_ROOT = Path(__file__).resolve().parent.parent
|
REPO_ROOT = Path(__file__).resolve().parent.parent
|
||||||
@@ -46,15 +46,33 @@ def test_skill_is_router_not_monolithic_review_body():
|
|||||||
assert "gitea_submit_pr_review" not in SKILL
|
assert "gitea_submit_pr_review" not in SKILL
|
||||||
|
|
||||||
|
|
||||||
|
def test_skill_still_declares_controller_handoff_contract():
|
||||||
|
assert "## Controller Handoff" in SKILL
|
||||||
|
assert "assess_controller_handoff" in SKILL
|
||||||
|
assert "## Global LLM Worktree Rule" in SKILL
|
||||||
|
|
||||||
|
|
||||||
def test_review_merge_workflow_contract():
|
def test_review_merge_workflow_contract():
|
||||||
text = (SKILL_DIR / "workflows" / "review-merge-pr.md").read_text(encoding="utf-8")
|
text = (SKILL_DIR / "workflows" / "review-merge-pr.md").read_text(encoding="utf-8")
|
||||||
assert "canonical: true" in text
|
assert "canonical: true" in text
|
||||||
|
assert "## 0. Load the canonical workflow first" in text
|
||||||
assert "## 26A. Terminal review mutation hard-stop" in text
|
assert "## 26A. Terminal review mutation hard-stop" in text
|
||||||
assert "## 11A. Skipped PRs are read-only" in text
|
assert "## 11A. Skipped PRs are read-only" in text
|
||||||
assert "## 35. Duplicate request-changes prevention" in text
|
assert "## 35. Duplicate request-changes prevention" in text
|
||||||
|
assert "## 37. Controller handoff schema" in text
|
||||||
|
assert "INVENTORY_PAGINATION_UNPROVEN" in text
|
||||||
assert "ALREADY_LANDED_RECONCILE_REQUIRED" in text
|
assert "ALREADY_LANDED_RECONCILE_REQUIRED" in text
|
||||||
|
|
||||||
|
|
||||||
|
def test_review_merge_final_report_schema_exists():
|
||||||
|
path = SKILL_DIR / "schemas" / "review-merge-final-report.md"
|
||||||
|
text = path.read_text(encoding="utf-8")
|
||||||
|
assert "Controller Handoff" in text
|
||||||
|
assert "Candidate head SHA:" in text
|
||||||
|
assert "Terminal review mutation:" in text
|
||||||
|
assert "Workspace mutations" in text
|
||||||
|
|
||||||
|
|
||||||
def test_reconcile_landed_workflow_contract():
|
def test_reconcile_landed_workflow_contract():
|
||||||
text = (SKILL_DIR / "workflows" / "reconcile-landed-pr.md").read_text(encoding="utf-8")
|
text = (SKILL_DIR / "workflows" / "reconcile-landed-pr.md").read_text(encoding="utf-8")
|
||||||
assert "canonical: true" in text
|
assert "canonical: true" in text
|
||||||
|
|||||||
Reference in New Issue
Block a user