计划执行与检查节点
executing-plans
按既定实施计划完成工作,保持过程检查和反馈。
canva-rate-limits【效率与协作】Implement endpoint- and user-scoped Canva throttling with bounded backoff and reconciliation. Use when handling HTTP 429, sizing concurrency, or preventing duplicate asynchronous jobs. Trigger with: "Canva rate limit", "Canva 429", "throttle Canva requests".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: canva-rate-limits description: 'Implement endpoint- and user-scoped Canva throttling with bounded backoff and reconciliation. Use when handling HTTP 429, sizing concurrency, or preventing duplicate asynchronous jobs. Trigger with: "Canva rate limit", "Canva 429", "throttle Canva requests".' allowed-tools: Read, Grep, Write, Edit version: 2.0.0 argument-hint: '[endpoint-and-traffic-profile]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Canva limits vary by endpoint and are represented in current endpoint/OpenAPI metadata. Do not invent daily export quotas or assume universal headroom/reset headers.
Use Read and Grep to identify the exact operation and its current endpoint rate annotation. Keep the contract version with the limiter configuration.
Separate safe reads, async status polls, mutating submissions, token exchange, and public key reads. Never share one undifferentiated global bucket.
Record application operation identity and any returned job ID before considering retry. Reconcile existing state after ambiguous transport failure.
Pause the affected endpoint/user queue. Honor documented response instructions when present; otherwise apply bounded exponential backoff with jitter under a deadline.
Use Write or Edit to enforce admission, concurrency, queue age, retry count, and circuit/abort limits below the current known ceiling and measured application capacity.
Alert on sustained 429s, changed endpoint metadata, queue starvation, or new operation shapes; require review rather than automatically increasing throughput.
Record contract version, scoped limiter state, observed responses, reconciliation result, and whether traffic returned without duplicates.
Canva Connect calls use Bearer access tokens obtained by a backend through OAuth 2.0 Authorization Code with SHA-256 PKCE. Request explicit least-privilege scopes, keep client secrets and tokens out of browser-visible state, and serialize refresh so the replacement single-use refresh token is stored atomically.
Use Read and Grep for discovery and evidence. Use Write or Edit only for the approved artifact, code, configuration, test, or receipt described by this workflow; do not make an unapproved Canva-side change.
Export submissions and export-status polls use separate controls. After an ambiguous timeout, the service checks the existing job instead of consuming capacity by submitting another export.
| Failure | Response |
|---|---|
| Endpoint metadata is absent | Use a conservative local policy and measure; do not invent a provider limit |
| 429 lacks retry instructions | Apply bounded local backoff and reduce concurrency |
| Queue mixes users or tenants | Partition it before resuming |
| Mutation outcome is ambiguous | Reconcile existing state before retry |