diff --git a/scripts/ci/opencode_review_normalize_output.py b/scripts/ci/opencode_review_normalize_output.py index 392befa49..76eeb25ae 100755 --- a/scripts/ci/opencode_review_normalize_output.py +++ b/scripts/ci/opencode_review_normalize_output.py @@ -524,6 +524,7 @@ def changed_files_from_evidence(text: str) -> list[str]: line = raw_line.strip() if not line or line.startswith("#"): continue + line = re.sub(r"^[-*+]\s+", "", line) parts = line.split("\t") path = parts[-1].strip() if not path or path.startswith("["): diff --git a/tests/test_opencode_review_normalize_output.py b/tests/test_opencode_review_normalize_output.py index 0b74bf323..bd6fb9abf 100644 --- a/tests/test_opencode_review_normalize_output.py +++ b/tests/test_opencode_review_normalize_output.py @@ -801,6 +801,18 @@ def test_approval_repair_evidence_helpers_cover_edge_cases(tmp_path, monkeypatch "opencode.jsonc", "README.md", ] + assert norm.changed_files_from_evidence( + """\ +## Changed files + +- .jules/sentinel.md +- frontend/src/components/EmailDetail.test.tsx +- [tree truncated after 5 paths] +""" + ) == [ + ".jules/sentinel.md", + "frontend/src/components/EmailDetail.test.tsx", + ] summary = norm.build_approval_repair_summary( "No blockers were found.",