brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
quicknode-upgrade-migrationMigrate a QuickNode SDK, endpoint, chain API, token, or event product with inventory, compatibility tests, canary traffic, and rollback. Use when adopting the unified SDK, responding to a chain deprecation, or rotating infrastructure without losing writes or events. Trigger with: "upgrade QuickNode", "migrate a QuickNode endpoint", "plan a QuickNode cutover…
Independent GitHub snapshot · Automated classification · Original documentation governs
name: quicknode-upgrade-migration description: 'Migrate a QuickNode SDK, endpoint, chain API, token, or event product with inventory, compatibility tests, canary traffic, and rollback. Use when adopting the unified SDK, responding to a chain deprecation, or rotating infrastructure without losing writes or events. Trigger with: "upgrade QuickNode", "migrate a QuickNode endpoint", "plan a QuickNode cutover".' allowed-tools: Read, Grep, Write, Edit, Bash(npm:), Bash(qn:) version: 2.0.0 argument-hint: '[current-and-target-contract]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Treat client, endpoint, token, chain API, and event-pipeline changes as contract migrations. Preserve a parallel read path or replay boundary until the target proves identity, correctness, capacity, and recovery.
Keep target credentials separate from the current path during the dual run. Endpoint tokens authenticate RPC through a protected URL or x-token header; Admin API inspection uses a distinct x-api-key, while qn uses its authenticated account session. Redact all three from matrices and receipts.
Use Read and Grep to find SDK imports, endpoint URLs, API methods, protocols, chain IDs, archive assumptions, tokens, Stream/Webhook IDs, cursors, and platform targets.
Verify the target SDK platform matrix, product API, chain deprecation, supported protocol, pruning policy, and method response. Do not derive compatibility from an unrelated chain quickstart.
Use Bash(npm:*) for a reviewed pinned SDK update and lockfile change. Use Write or Edit to adapt behind a stable interface, add dual-read comparisons, and preserve old configuration for rollback.
Use Bash(qn:*) for read-only current/target endpoint, security, usage, metrics, Stream, and Webhook state. Create or mutate resources only after an explicit operator checkpoint.
Compare chain identity, response semantics, latency, errors, credits, transaction status, and event completeness. For event migrations, start from an overlap block and deduplicate by durable event identity.
Shift traffic gradually, retain the old endpoint/token through the rollback window, then revoke or archive only after evidence and owner approval. Record deprecation and consumer communication.
Use Read/Grep for inventory, Write/Edit for adapters and tests, Bash(npm:) for pinned package operations, and Bash(qn:) for read-only resource evidence. Destructive retirement remains approval-gated.
A service moves from a legacy Core wrapper to the unified SDK for control-plane calls while retaining its chain provider adapter. Dual reads prove equivalence before the old dependency is removed.
| Failure | Response |
|---|---|
| Target runtime cannot load SDK | Stop and revisit the native platform matrix |
| Dual reads differ | Classify semantic, freshness, or chain differences before cutover |
| Events are missing | Resume from the overlap cursor and deduplicate |
| Rollback credential was revoked | Stop rollout and restore a tested recovery identity |