-
Notifications
You must be signed in to change notification settings - Fork 1.9k
Split manual Glama handoff from active queue #3100
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -1070,6 +1070,51 @@ def test_format_integration_markdown_lists_active_operator_queue(): | |
| assert "activepieces/activepieces#13985" not in active_queue | ||
|
|
||
|
|
||
| def test_format_integration_markdown_lists_manual_handoff_gates(): | ||
| module = load_growth_metrics_module() | ||
| metrics = { | ||
| "collected_at_utc": "2026-07-02T00:00:00+00:00", | ||
| "integrations": [ | ||
| { | ||
| "pr": "punkpeye/awesome-mcp-servers#7153", | ||
| "html_url": "https://github.com/punkpeye/awesome-mcp-servers/pull/7153", | ||
| "state": "open", | ||
| "mergeable_state": "clean", | ||
| "repo_stars": 90_000, | ||
| "repo_forks": 12_000, | ||
| "updated_at": "2026-06-16T04:21:55Z", | ||
| "updated_age_days": 16, | ||
| "next_action": "submit Glama", | ||
| "known_review_gate_reason": "Glama listing and score badge required before review", | ||
| "checks": {"state": "success", "failed_check_runs": [], "pending_check_runs": []}, | ||
| }, | ||
| { | ||
| "pr": "huggingface/optimum-intel#1801", | ||
| "html_url": "https://github.com/huggingface/optimum-intel/pull/1801", | ||
| "state": "open", | ||
| "mergeable_state": "unstable", | ||
| "repo_stars": 600, | ||
| "repo_forks": 240, | ||
| "updated_at": "2026-06-30T04:20:02Z", | ||
| "updated_age_days": 0, | ||
| "next_action": "review gate", | ||
| "checks": {"state": "unknown", "failed_check_runs": [], "pending_check_runs": []}, | ||
| }, | ||
| ], | ||
| } | ||
|
|
||
| output = module.format_integration_markdown(metrics) | ||
|
|
||
| active_queue = output.split("## Active operator queue", 1)[1].split("## Manual handoff gates", 1)[0] | ||
| manual_gates = output.split("## Manual handoff gates", 1)[1].split("## Manual review gates", 1)[0] | ||
|
Comment on lines
+1108
to
+1109
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The current assertion logic is fragile because it assumes that the We should make the section extraction more robust by checking for the presence of subsequent headers before splitting. active_queue = output.split("## Active operator queue", 1)[1].split("## Manual handoff gates", 1)[0]
manual_gates = output.split("## Manual handoff gates", 1)[1]
for header in ["## Manual review gates", "## Failed or pending checks"]:
if header in manual_gates:
manual_gates = manual_gates.split(header, 1)[0]
break |
||
| assert "punkpeye/awesome-mcp-servers#7153" not in active_queue | ||
| assert ( | ||
| "- [punkpeye/awesome-mcp-servers#7153](https://github.com/punkpeye/awesome-mcp-servers/pull/7153): " | ||
| "submit Glama; Glama listing and score badge required before review" | ||
| ) in manual_gates | ||
| assert "huggingface/optimum-intel#1801" not in manual_gates | ||
|
|
||
|
|
||
| def test_format_integration_markdown_lists_known_review_gates(): | ||
| module = load_growth_metrics_module() | ||
| metrics = { | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The introduction of the
## Manual handoff gatessection causes integrations likepunkpeye/awesome-mcp-servers#7153(which have both a manual handoff action and a known review gate reason) to be listed twice: once under## Manual handoff gatesand again under## Manual review gates.To avoid this redundancy and keep the report clean, we should filter out manual handoff integrations from the
review_gate_integrationslist. Sincereview_gate_integrationsis defined on lines 680-682, you can update its definition to: