diff --git a/scripts/collect_growth_metrics.py b/scripts/collect_growth_metrics.py index 0bab9dae4..fd766cd35 100755 --- a/scripts/collect_growth_metrics.py +++ b/scripts/collect_growth_metrics.py @@ -68,6 +68,10 @@ "punkpeye/awesome-mcp-servers#7153": { "action": "submit Glama", "reason": "Glama listing and score badge required before review", + }, + "TEN-framework/ten-framework#2191": { + "action": "wait for maintainer review", + "reason": "Claude review action requires maintainer permissions for fork PRs", } } KNOWN_ASSISTED_REVIEW_REQUESTS = { @@ -313,6 +317,10 @@ def recommend_integration_action( ).lower() if "cla" in pending_names: return "resolve CLA" + if known_review_gate_action and ( + "claude-review" in failed_names or "review bot" in failed_names + ): + return known_review_gate_action if "claude-review" in failed_names or "review bot" in failed_names: return "review bot gate" if "vercel" in failed_names and "vercel.com/git/authorize" in failed_urls: diff --git a/tests/test_collect_growth_metrics.py b/tests/test_collect_growth_metrics.py index 0fb7df133..aa4b53223 100644 --- a/tests/test_collect_growth_metrics.py +++ b/tests/test_collect_growth_metrics.py @@ -689,7 +689,10 @@ def fake_fetch_json(url, headers=None): metrics = module.collect_integration_metrics(["TEN-framework/ten-framework#2191"]) integration = metrics["integrations"][0] - assert integration["next_action"] == "review bot gate" + assert integration["known_review_gate_reason"] == ( + "Claude review action requires maintainer permissions for fork PRs" + ) + assert integration["next_action"] == "wait for maintainer review" assert integration["checks"]["failed_check_runs"][0]["name"] == "claude-review"