feat(api): cross-repo queue health federation and pressure index (#479) - #1435
feat(api): cross-repo queue health federation and pressure index (#479)#1435kiannidev wants to merge 3 commits into
Conversation
Expose operator-only federated queue pressure ranking across registered installed repos, with MCP tool, dashboard wiring, and snapshot cache. Co-authored-by: Cursor <cursoragent@cursor.com>
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1435 +/- ##
==========================================
+ Coverage 95.44% 95.45% +0.01%
==========================================
Files 194 195 +1
Lines 21054 21132 +78
Branches 7619 7640 +21
==========================================
+ Hits 20094 20171 +77
- Misses 383 384 +1
Partials 577 577
🚀 New features to boost your workflow:
|
Cover stale snapshot recompute, malformed cache payloads, route auth/limit guards, operator dashboard critical-repo metric, and MCP limit handling. Co-authored-by: Cursor <cursoragent@cursor.com>
JSONbored
left a comment
There was a problem hiding this comment.
@kiannidev — I'm closing this, and there are two layers to it, so let me be straight about both.
The clean one first: it doesn't pass the coverage gate. codecov/patch is red with an uncovered line in src/mcp/server.ts — our bar is every changed line and branch covered, and we don't merge a red patch, full stop. On its own that's a one-shot close.
But I don't want you to just cover that line and re-push, because the deeper reason is scope, and that's mine to own: cross-repo queue-health federation (#479) is a community-filed request, not something on our active line right now — current effort is anti-gaming, contributor governance, and the Orb/self-host stack. What this lands is a whole new federation subsystem — a service, a migration 0074, an MCP surface, plus operator-dashboard, engine, and weekly-report wiring across 18 files — that I'd be maintaining indefinitely, and for where we are today that surface outweighs the value. And 778 lines of net-new subsystem isn't something I'll one-shot-merge cold regardless of how clean it is.
None of this is a knock on you — you've shipped a lot of solid work here (#388, #389, #390, #462), this is real and coherent, and you've got my trust. It's a direction call, not a quality one. If I put federation back on the roadmap this is a strong starting point and I'll come back to it with you. In the meantime the live work is in contributor-governance / anti-gaming — say the word and I'll point you at a concrete issue there. Appreciate the effort on this one.
@JSONbored anti-gaming is important, but you have to block correctly. |
|
And actually today I tried to register my repo to help miners, but rejected... |
Summary
GET /v1/app/queue-health/federation(operator-only) returning a ranked cross-repo queue pressure index built from cached burden forecasts and 7-day queue trend snapshots.src/services/queue-federation.tswith composite scoring (burdenScore * (1 + stalePullRequestRate) + pullRequestGrowth_7d), snapshot cache (migrations/0074_queue_federation_cache.sql), MCP toolgittensory_queue_health_federation, and operator dashboard / weekly value report wiring (top_critical_reposmetric).mainfor open issue [Feature]: Cross-repo queue health federation and comparative pressure index #479 — no overlap with open PRs (fix(signals): centralize public local-path redaction across drifted surfaces #1420 path redaction, feat(signals): extend public redaction for /var and Program Files paths #1307/var/redaction, feat(signals): classify automation and CI toolchain config in path-matchers #1261 path-matchers, etc.).Test plan
npm run typechecknpm run db:migrations:checknpm run test:coveragenpm run ui:openapi:checktest/unit/queue-federation.test.ts— scoring, ranking, snapshot cache, route auth/validationtest/unit/mcp-upstream.test.ts— operator gate for federation MCP tooltest/unit/mcp-output-schemas.test.ts— output schema + privacy guardCloses #479