* feat: add a Concurrency page to the dashboard
Lists every concurrency strategy in the tenant (task, workflow and shared
scopes) with live key, running and queued counts, and shows a strategy's
keys in the side panel.
- API: GET /api/v1/stable/tenants/{tenant}/concurrency/strategies and
.../strategies/{scope}/{strategy}/keys, with search, onlyQueued and
offset pagination.
- Repository: ConcurrencyOverviewRepository; strategy summaries are
cached for 5s per tenant.
- Frontend: strategies table with scope filter, pagination and refresh
control; totals strip; keys side panel; filters kept in the URL.
- Moves useLiveClock to src/hooks and makes its tick interval
configurable; moves StatCell to components/v1/molecules.
* chore: regenerate SDK REST clients for the concurrency endpoints
* fix: declare x-payloads on the concurrency operations
* fix: address review feedback on the concurrency overview
- List strategies on the latest workflow version even when the stale
deactivation has cleared is_active on idle ones; shared strategies come
from the steps that reference them instead of the active-only list.
- Count matching keys separately, so a page past the last key still
reports the total.
- Stop the strategy summary cache in the repository cleanup.
- Describe GROUP_ROUND_ROBIN as a per-key cap with a per-key queue.
- Add godoc to the exported concurrency declarations.
* fix: use the suggested empty state and round-robin copy
* review
* remove llm useless comments
* fix test
* remove limit strategy tooltips
* remove concurrency page description
* remove keys footer info tooltip
* remove filters and use neutral limit strategy colors
* show strategy details in the keys drawer
* regenerate typescript fetch client
* fix keys refresh query key
* hide the concurrency page behind a feature flag
* use the tenant pool handle for concurrency queries