From 42eff31c88abcaac5ef40cfe239d0952a70e9575 Mon Sep 17 00:00:00 2001 From: zhifu gao Date: Wed, 8 Jul 2026 05:25:38 +0800 Subject: [PATCH] Classify AutoGPT process gate Track AutoGPT as a CLA/Vercel process gate after CI passed. --- docs/community_growth_20k.md | 2 +- scripts/collect_growth_metrics.py | 4 ++ tests/test_collect_growth_metrics.py | 59 ++++++++++++++++++++++++++++ 3 files changed, 64 insertions(+), 1 deletion(-) diff --git a/docs/community_growth_20k.md b/docs/community_growth_20k.md index 741a72f0e..e16c977be 100644 --- a/docs/community_growth_20k.md +++ b/docs/community_growth_20k.md @@ -161,7 +161,7 @@ Set `GITHUB_TOKEN` when running this from CI or a shared network so GitHub's pub | `run-llama/llama_index#21958` FunASR endpoint reader | Puts FunASR behind a LlamaIndex reader for OpenAI-compatible transcription endpoints used in RAG and agent pipelines | Keep the endpoint contract clear, avoid forcing local `funasr` dependencies into the main package, and validate one request/response example when the author updates. | | `run-llama/llama_index#21996` local FunASR reader | Gives LlamaIndex users a local SenseVoice/FunASR reader for private transcription workflows | Keep optional dependencies isolated, verify the reader does not affect default installs, and watch for maintainer guidance on package extras. | | `mem0ai/mem0#5571` optional FunASR transcription helper | Adds local FunASR transcription to a high-star memory layer used by agent builders | Keep FunASR optional and make examples clear about local model downloads; the current failing Vercel preview is a Mem0 team authorization gate, not a FunASR code failure, so wait for maintainer-side preview access or review. | -| `Significant-Gravitas/AutoGPT#13500` configurable transcription endpoints | Opens a path from AutoGPT's high-visibility agent platform to local FunASR/SenseVoice gateways through the existing OpenAI-compatible transcription route | Targeted transcribe-route Vitest now passes and the PR is ready for review; wait for the author-controlled CLA, remaining CI, or concrete maintainer feedback before adding more comments. | +| `Significant-Gravitas/AutoGPT#13500` configurable transcription endpoints | Opens a path from AutoGPT's high-visibility agent platform to local FunASR/SenseVoice gateways through the existing OpenAI-compatible transcription route | GitHub Actions are green after the typed `HeadersInit` fix; remaining blockers are the author-controlled CLA, AutoGPT-team Vercel preview authorization, and maintainer review, not FunASR-side code. | | `getpaseo/paseo#1634` SenseVoice local STT model support | Adds SenseVoice to a local voice/dictation app with a visible offline STT model catalog and speech CLI path | Current PR is mergeable with focused local validation posted: build server deps, format check, 3 speech Vitest files with 10 tests, and server build all passed; wait for maintainer review without duplicate pings. | | `infiniflow/ragflow#16473` FunASR / SenseVoice STT provider | Adds FunASR to a high-star RAG workflow product where local STT can become a visible configuration choice | Track duplicate/conflict cleanup, keep provider naming consistent, and verify that skipped CI is expected rather than a hidden regression. | | `mudler/LocalAI#10090` FunASR backend | Exposes FunASR through a high-star local AI engine used by self-hosters and edge deployments | Keep the backend registry conflict-free after upstream changes, ensure DCO stays green, and maintain one CPU smoke path plus GPU requirements notes. | diff --git a/scripts/collect_growth_metrics.py b/scripts/collect_growth_metrics.py index 55ca075c1..447d6fc50 100755 --- a/scripts/collect_growth_metrics.py +++ b/scripts/collect_growth_metrics.py @@ -114,6 +114,10 @@ KNOWN_REVIEW_GATES = { "action": "wait for preview authorization", "reason": "Vercel preview deployment requires Mem0 team authorization", }, + "Significant-Gravitas/AutoGPT#13500": { + "action": "wait for author CLA", + "reason": "CLA must be completed by an authorized author; Vercel preview also requires AutoGPT team authorization", + }, "TEN-framework/ten-framework#2191": { "action": "wait for maintainer review", "reason": "Claude review action requires maintainer permissions for fork PRs", diff --git a/tests/test_collect_growth_metrics.py b/tests/test_collect_growth_metrics.py index c7bbc174c..8f76c1567 100644 --- a/tests/test_collect_growth_metrics.py +++ b/tests/test_collect_growth_metrics.py @@ -720,6 +720,65 @@ def test_collect_integration_metrics_surfaces_pending_cla_status(monkeypatch): ] +def test_collect_integration_metrics_classifies_autogpt_process_gate(monkeypatch): + module = load_growth_metrics_module() + + def fake_fetch_json(url, headers=None): + if url == "https://api.github.com/repos/Significant-Gravitas/AutoGPT/pulls/13500": + return { + "number": 13500, + "title": "Support configurable transcription endpoints", + "state": "open", + "draft": False, + "mergeable": True, + "mergeable_state": "blocked", + "html_url": "https://github.com/Significant-Gravitas/AutoGPT/pull/13500", + "updated_at": "2026-07-07T21:13:23Z", + "head": {"sha": "ed9f137", "ref": "codex/openai-compatible-stt"}, + "base": {"ref": "dev"}, + "user": {"login": "LauraGPT"}, + } + if url == "https://api.github.com/repos/Significant-Gravitas/AutoGPT/commits/ed9f137/status": + return { + "state": "failure", + "statuses": [ + { + "context": "Vercel", + "state": "failure", + "target_url": "https://vercel.com/git/authorize?team=Significant%20Gravitas", + }, + { + "context": "license/cla", + "state": "pending", + "target_url": "https://cla-assistant.io/Significant-Gravitas/AutoGPT?pullRequest=13500", + }, + ], + } + if url == "https://api.github.com/repos/Significant-Gravitas/AutoGPT/commits/ed9f137/check-runs?per_page=100": + return { + "total_count": 4, + "check_runs": [ + {"name": "check API types", "status": "completed", "conclusion": "success"}, + {"name": "lint", "status": "completed", "conclusion": "success"}, + {"name": "integration_test", "status": "completed", "conclusion": "success"}, + {"name": "end-to-end tests", "status": "completed", "conclusion": "success"}, + ], + } + raise AssertionError(f"unexpected URL: {url}") + + monkeypatch.setattr(module, "fetch_json", fake_fetch_json) + + metrics = module.collect_integration_metrics(["Significant-Gravitas/AutoGPT#13500"]) + + integration = metrics["integrations"][0] + assert integration["known_review_gate_reason"] == ( + "CLA must be completed by an authorized author; Vercel preview also requires AutoGPT team authorization" + ) + assert integration["next_action"] == "wait for author CLA" + assert {check["name"] for check in integration["checks"]["failed_check_runs"]} == {"Vercel"} + assert {check["name"] for check in integration["checks"]["pending_check_runs"]} == {"license/cla"} + + def test_collect_integration_metrics_classifies_review_bot_failure(monkeypatch): module = load_growth_metrics_module()