executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
persona-rate-limitsAnalyze and control Persona request rate and product quotas from live headers, Dashboard limits, and durable retry state. Use when scaling or handling 429 responses. Trigger with: "Persona rate limit", "throttle Persona API", "handle Persona 429".
Independent GitHub snapshot · Automated classification · Original documentation governs
name: persona-rate-limits description: >- Analyze and control Persona request rate and product quotas from live headers, Dashboard limits, and durable retry state. Use when scaling or handling 429 responses. Trigger with: "Persona rate limit", "throttle Persona API", "handle Persona 429". allowed-tools: Read, Grep, Write, Edit version: 2.0.0 argument-hint: '[operation-and-volume]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Replace invented fixed tables with two current signals: environment request limits and product-specific quotas. Production environments default to 300 requests per minute in current documentation, but Dashboard configuration and response headers govern the running integration.
Separate reads, idempotent POSTs, session operations, reconciliation, and product-consuming verification work. Assign independent worker lanes.
Capture RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset, Quota-Limit, Quota-Remaining, and Quota-Reset where returned. Do not assume every endpoint exposes identical values.
Use token buckets per environment and constrained product. Persona recommends throttling when fewer than 15 percent of requests remain.
Honor reset or retry guidance. Where no more specific instruction exists, use the documented exponential sequence of 5, 10, 20, and 40 seconds with jitter and a finite budget.
Use Idempotency-Key on POST and persist identical parameters. After timeout or throttle ambiguity, reconcile resource state before retry.
Pause only the affected lane, surface renewal time and business impact, and require approval before changing a paid product or verification policy.
Rate-control workers use the same environment-scoped bearer authentication and dated API version as the guarded request. Telemetry may record header values but never the bearer key or PII payload.
Use Read and Grep to inspect application configuration, provider documentation, fixtures, schemas, tests, and redacted operational evidence before proposing a change. Use Write or Edit only for an approved implementation, configuration, test, runbook, or redacted receipt. Do not create, resume, approve, decline, redact, rotate, revoke, deploy, or otherwise mutate production Persona resources without explicit operator approval.
Return the environment, resource and event identifiers, API version, template context, source-contract fingerprint, evidence, unresolved risk, rollback state, and final decision without exposing bearer keys, webhook secrets, inquiry session tokens, raw identity documents, or unnecessary PII.
At 12 percent request capacity remaining, the controller slows non-urgent reads, preserves webhook ingestion, and queues creates. A 429 enters a bounded 5/10/20/40-second retry schedule while the worker reconciles any POST that may have succeeded.
| Failure | Response |
|---|---|
| Headers disagree with a static value | Trust the current Dashboard and response contract, record drift, and update the reviewed policy. |
| Quota exhausted before rate limit | Pause the product-consuming operation while unrelated reads continue. |
| Repeated 429 after retry budget | Open the circuit, preserve the queue, and escalate rather than looping. |
Verify the result against the linked first-party evidence, the pinned API version, redacted contract fixtures, an expected failure path, and the documented rollback or manual-disposition path. A successful request is not proof of a successful identity decision.