算法艺术创作
algorithmic-art
通过代码和可调参数创作生成艺术与交互式视觉效果。
canva-migration-deep-dive【设计与创意】Plan and execute a staged migration into or across Canva Connect application boundaries. Use when replacing a legacy design provider, moving token or job infrastructure, or introducing new Canva API surfaces. Trigger with: "migrate to Canva", "Canva strangler migration", "move Canva integration".
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
name: canva-migration-deep-dive description: 'Plan and execute a staged migration into or across Canva Connect application boundaries. Use when replacing a legacy design provider, moving token or job infrastructure, or introducing new Canva API surfaces. Trigger with: "migrate to Canva", "Canva strangler migration", "move Canva integration".' allowed-tools: Read, Grep, Write, Edit version: 2.0.0 argument-hint: '[source-contract-and-rollout-window]' model: inherit effort: high license: MIT author: Jeremy Longshore jeremy@intentsolutions.io tags:
Separate provider-contract, credential, application-data, and user-experience migrations. Preserve reversibility and reconcile every asynchronous or mutating operation before moving the next cohort.
Use Read and Grep to map supported, changed, preview, unavailable, and intentionally retired operations. Do not invent workarounds for unsupported provider behavior.
Keep Canva user/tenant identity separate from legacy IDs, request only explicit scopes, and identify when fresh user authorization is mandatory.
Classify assets, designs, metadata, comments, and references; validate rights and format before transfer; avoid copying content that lacks an approved purpose.
Use Write or Edit to add contract tests, operation identity, reconciliation, comparison receipts, and a feature-flagged target path without duplicating writes.
Choose approved synthetic or low-risk users, enforce rate/admission controls, verify each result, and stop on authorization, data, or parity drift.
Advance only from measured evidence. Roll back routing without losing target-side job/resource identity, then reconcile and clean partial artifacts.
After the retention and rollback window, revoke unused credentials, delete approved stale data, remove old routes, and preserve a content-free audit receipt.
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.
A legacy export path is replaced cohort by cohort. The application compares contract outcomes, routes one authorized cohort to Canva, and retains enough opaque identity to roll back and reconcile without double creation.
| Failure | Response |
|---|---|
| Feature parity is missing | Document it and defer or retire the use case |
| Identifier mapping is ambiguous | Stop migration for the affected records |
| Dual path can double-write | Add single authoritative routing and operation identity |
| Rollback loses target jobs | Persist and reconcile them before proceeding |