diff --git a/docs/community_growth_20k.md b/docs/community_growth_20k.md index dd72f981b..42450d5c2 100644 --- a/docs/community_growth_20k.md +++ b/docs/community_growth_20k.md @@ -160,14 +160,14 @@ Set `GITHUB_TOKEN` when running this from CI or a shared network so GitHub's pub | `punkpeye/awesome-mcp-servers#7153` FunASR MCP server listing | Exposes FunASR to a high-star MCP discovery list used by agent-tool builders looking for local speech tools | Keep the Dockerized stdio server entrypoint ready for Glama checks, then update the external PR only when there is a valid Glama score/badge or maintainer feedback. | | `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, make examples clear about local model downloads, and separate unrelated preview/deployment failures from code review. | +| `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. | | `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. | | `agno-agi/agno#8501` FunASR transcription tool | Places FunASR in a high-star agent platform as a local multilingual transcription tool | Keep issue linkage and formatting gates green, avoid heavy default dependencies, and respond to review scope requests quickly. | | `GetStream/Vision-Agents#606` FunASR STT plugin | Adds SenseVoice/FunASR to multimodal voice and vision agent examples | Keep package include paths and tests aligned with upstream conventions, then watch review threads for optional dependency or documentation requests. | | `TEN-framework/ten-framework#2191` FunASR ASR extension | Places SenseVoice/FunASR in a realtime multimodal agent framework with extension discovery | The failing `claude-review` action is a fork-permission gate, not a code failure; wait for maintainer-side review or rerun, and respond only to concrete code/doc feedback. | -| `activepieces/activepieces#13985` FunASR speech recognition piece | Gives no-code workflow users a direct FunASR speech recognition action | The CLA status is author-controlled; monitor only for maintainer feedback or test failures until the author-side gate clears. | +| `activepieces/activepieces#13985` FunASR speech recognition piece | Gives no-code workflow users a direct FunASR speech recognition action | The CLA status is author-controlled and should not be signed by the operator; monitor only for maintainer feedback or test failures until the author-side/legal gate clears. | | `speaches-ai/speaches#658` FunASR transcription backend | Adds SenseVoice/Paraformer to an OpenAI-compatible local speech API used by self-hosted voice stacks | Current `unstable` state is a fork-workflow approval gate with no check-runs/logs on the head commit; keep the local validation note current and respond only if real CI logs or maintainer review appear. | | `Uberi/speech_recognition#903` FunASR recognizer | Exposes FunASR through a widely known Python speech-recognition wrapper | Current `unstable` state is a fork-workflow approval gate with no check-runs/logs on the head commit; keep the recognizer optional and lightweight, and be ready with a minimal install/import smoke test if maintainers ask for scope reduction. | | `fighting41love/funNLP#478` SenseVoice and FunClip speech-section listing | Adds the newer FunASR ecosystem projects to a high-star Chinese NLP resource list with strong domestic discovery value | PR is clean and mergeable; avoid duplicate pings unless maintainers ask for category, wording, or link changes. | diff --git a/scripts/collect_growth_metrics.py b/scripts/collect_growth_metrics.py index c68285717..773b06b9a 100755 --- a/scripts/collect_growth_metrics.py +++ b/scripts/collect_growth_metrics.py @@ -86,9 +86,17 @@ KNOWN_REVIEW_GATES = { "action": "submit Glama", "reason": "Glama listing and score badge required before review", }, + "mem0ai/mem0#5571": { + "action": "wait for preview authorization", + "reason": "Vercel preview deployment requires Mem0 team authorization", + }, "TEN-framework/ten-framework#2191": { "action": "wait for maintainer review", "reason": "Claude review action requires maintainer permissions for fork PRs", + }, + "activepieces/activepieces#13985": { + "action": "wait for author CLA", + "reason": "CLA must be completed by an authorized author; do not sign legal agreements", } } KNOWN_ASSISTED_REVIEW_REQUESTS = { @@ -148,6 +156,8 @@ REPORTER_WAITING_LABELS = {"needs feedback"} CONTRIBUTOR_WAITING_LABELS = {"good first issue", "help wanted", "ready for PR"} MANUAL_HANDOFF_ACTIONS = { "submit Glama", + "wait for author CLA", + "wait for preview authorization", } PASSIVE_INTEGRATION_ACTIONS = { "archive", @@ -348,6 +358,8 @@ def recommend_integration_action( failed_urls = " ".join( str(check.get("url") or "") for check in checks.get("failed_check_runs") or [] ).lower() + if "cla" in pending_names and known_review_gate_action: + return known_review_gate_action if "cla" in pending_names: return "resolve CLA" if known_review_gate_action and ( @@ -356,6 +368,12 @@ def recommend_integration_action( 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 + and known_review_gate_action + ): + return known_review_gate_action if "vercel" in failed_names and "vercel.com/git/authorize" in failed_urls: return "preview auth gate" if check_state == "failure" and known_external_failure_reason: