@wix/agent-skills 1.35.1 → 1.36.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +8 -3
- package/skills/wix-app/references/CODE_QUALITY.md +1 -1
- package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +27 -29
- package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +1 -1
- package/skills/wix-app/references/editor-react-component/COMPONENT-CONTRACT.md +26 -25
- package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +12 -42
- package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +9 -20
- package/skills/wix-app/references/editor-react-component/MANIFEST-ERRORS.md +5 -4
- package/skills/wix-app/references/editor-react-component/PARTS.md +1 -1
- package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +1 -1
- package/skills/wix-app/references/editor-react-component/VECTOR-ART.md +95 -0
- package/skills/wix-app/references/editor-react-component/VISUAL-QUALITY.md +39 -0
- package/skills/wix-docs/references/CALLING.md +1 -1
- package/skills/wix-headless-kit/guides/api-run.md +1 -1
- package/skills/wix-headless-kit/install/pins.json +1 -1
- package/skills/wix-headless-templates/blog/seed/seed-blog.mjs +1 -1
- package/skills/wix-headless-templates/donations/app/wix/donations/campaigns.ts +0 -1
- package/skills/wix-headless-templates/donations/app/wix/donations/donate.ts +1 -1
- package/skills/wix-headless-templates/donations/project/src/wix/donations/campaigns.ts +0 -1
- package/skills/wix-headless-templates/donations/project/src/wix/donations/donate.ts +1 -1
- package/skills/wix-headless-templates/donations/rest/campaigns.ts +0 -1
- package/skills/wix-headless-templates/donations/rest/donate.ts +1 -1
- package/skills/wix-headless-templates/events/seed/seed-events.mjs +1 -1
- package/skills/wix-headless-templates/faq/INSTRUCTIONS.md +1 -1
- package/skills/wix-headless-templates/faq/app/wix/faq/faq.ts +2 -2
- package/skills/wix-headless-templates/faq/project/src/wix/faq/faq.ts +2 -2
- package/skills/wix-headless-templates/faq/rest/faq.ts +2 -2
- package/skills/wix-headless-templates/faq/seed/SEED.md +1 -1
- package/skills/wix-headless-templates/faq/seed/read-site.mjs +1 -1
- package/skills/wix-headless-templates/faq/seed/seed-faq.mjs +5 -5
- package/skills/wix-headless-templates/forms/app/wix/forms/forms.ts +2 -2
- package/skills/wix-headless-templates/forms/app/wix/forms/submissions.ts +2 -2
- package/skills/wix-headless-templates/forms/project/src/wix/forms/forms.ts +2 -2
- package/skills/wix-headless-templates/forms/project/src/wix/forms/submissions.ts +2 -2
- package/skills/wix-headless-templates/members/seed/read-site.mjs +1 -1
- package/skills/wix-headless-templates/pricing-plans/app/wix/pricing-plans/plan-access.ts +1 -1
- package/skills/wix-headless-templates/pricing-plans/project/src/wix/pricing-plans/plan-access.ts +1 -1
- package/skills/wix-headless-templates/pricing-plans/rest/plan-access.ts +1 -1
- package/skills/wix-headless-templates/restaurants/app/wix/restaurants/menu.ts +0 -1
- package/skills/wix-headless-templates/restaurants/project/src/wix/restaurants/menu.ts +0 -1
- package/skills/wix-headless-templates/restaurants/rest/menu.ts +0 -1
- package/skills/wix-headless-templates/shared/rest/client.ts +1 -1
- package/skills/wix-headless-templates/shared/seed/site.mjs +2 -1
- package/skills/wix-manage/SKILL.md +3 -3
- package/skills/wix-manage/references/cms/cms-data-items-crud.md +78 -1
- package/skills/wix-manage/references/google-ads/create-performance-max-campaign.md +11 -11
- package/skills/wix-manage/references/google-ads/get-campaign-suggestions.md +0 -1
- package/skills/wix-manage/references/google-ads/install-and-create-account.md +0 -1
- package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +20 -51
- package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +4 -4
- package/skills/wix-manage/references/rich-content/ricos-converter-service.md +1 -1
- package/skills/wix-base44-connector/SKILL.md +0 -437
- package/skills/wix-base44-connector/references/CAPABILITY_MAP.md +0 -78
- package/skills/wix-base44-connector/scripts/utils.cjs +0 -466
- package/skills/wix-export/SKILL.md +0 -83
- package/skills/wix-harmony-editor/.publish-manifest.json +0 -8
- package/skills/wix-harmony-editor/COPY-SITE.md +0 -494
- package/skills/wix-harmony-editor/SKILL.md +0 -317
- package/skills/wix-harmony-editor/scripts/copy/build-description.mjs +0 -249
- package/skills/wix-harmony-editor/scripts/copy/check-description.mjs +0 -225
- package/skills/wix-harmony-editor/scripts/copy/check-mirror.mjs +0 -89
- package/skills/wix-harmony-editor/scripts/copy/compare-preview.mjs +0 -76
- package/skills/wix-harmony-editor/scripts/copy/deploy-description.mjs +0 -212
- package/skills/wix-harmony-editor/scripts/copy/desc-hash.mjs +0 -44
- package/skills/wix-harmony-editor/scripts/copy/editor-run.mjs +0 -45
- package/skills/wix-harmony-editor/scripts/copy/export-page.mjs +0 -53
- package/skills/wix-harmony-editor/scripts/copy/find-interactions.mjs +0 -76
- package/skills/wix-harmony-editor/scripts/copy/hide-scrollbars.mjs +0 -16
- package/skills/wix-harmony-editor/scripts/copy/import-media.mjs +0 -150
- package/skills/wix-harmony-editor/scripts/copy/link-url.mjs +0 -27
- package/skills/wix-harmony-editor/scripts/copy/lint-api.mjs +0 -56
- package/skills/wix-harmony-editor/scripts/copy/measure-source.mjs +0 -211
- package/skills/wix-harmony-editor/scripts/copy/merge-mirrors.mjs +0 -29
- package/skills/wix-harmony-editor/scripts/copy/mirror-site.mjs +0 -92
- package/skills/wix-harmony-editor/scripts/copy/mobile-stage.mjs +0 -56
- package/skills/wix-harmony-editor/scripts/copy/preview-widths.mjs +0 -73
- package/skills/wix-harmony-editor/scripts/copy/render-plate.mjs +0 -67
- package/skills/wix-harmony-editor/scripts/copy/serve-mirror.mjs +0 -102
- package/skills/wix-harmony-editor/scripts/copy/snapshot-capabilities.mjs +0 -40
- package/skills/wix-harmony-editor/scripts/copy/split-sections.mjs +0 -191
- package/skills/wix-harmony-editor/scripts/copy/upload-media-manager.mjs +0 -61
- package/skills/wix-harmony-editor/scripts/launch.sh +0 -359
- package/skills/wix-headless/SKILL.md +0 -151
- package/skills/wix-headless/references/AI_FEATURES.md +0 -178
- package/skills/wix-headless/references/CAPABILITIES.md +0 -117
- package/skills/wix-headless/references/CONTENT.md +0 -36
- package/skills/wix-headless/references/DESIGN.md +0 -55
- package/skills/wix-headless/references/DISCOVERY.md +0 -80
- package/skills/wix-headless/references/DOC_DISCOVERY.md +0 -43
- package/skills/wix-headless/references/FEEDBACK.md +0 -129
- package/skills/wix-headless/references/IMAGE_GENERATION.md +0 -80
- package/skills/wix-headless/references/SDK_HANDOFF.md +0 -108
- package/skills/wix-headless/references/SEED.md +0 -74
- package/skills/wix-headless/references/SETUP.md +0 -60
- package/skills/wix-headless/references/astro.md +0 -98
- package/skills/wix-headless/references/inline-recipes/experience-donations.md +0 -102
- package/skills/wix-headless/references/inline-recipes/experience-store.md +0 -49
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-blog.md +0 -196
- package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +0 -590
- package/skills/wix-headless/references/inline-recipes/how-to-code-bookings.md +0 -279
- package/skills/wix-headless/references/inline-recipes/how-to-code-cms.md +0 -163
- package/skills/wix-headless/references/inline-recipes/how-to-code-donations.md +0 -146
- package/skills/wix-headless/references/inline-recipes/how-to-code-events.md +0 -203
- package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +0 -696
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-astro.md +0 -124
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-custom-login.md +0 -160
- package/skills/wix-headless/references/inline-recipes/how-to-code-members-non-astro.md +0 -118
- package/skills/wix-headless/references/inline-recipes/how-to-code-portfolio.md +0 -132
- package/skills/wix-headless/references/inline-recipes/how-to-code-pricing-plans.md +0 -126
- package/skills/wix-headless/references/inline-recipes/how-to-code-rentals.md +0 -254
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-orders.md +0 -191
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +0 -213
- package/skills/wix-headless/references/inline-recipes/how-to-code-restaurants.md +0 -161
- package/skills/wix-headless/references/inline-recipes/setup-blog.md +0 -175
- package/skills/wix-headless/references/inline-recipes/setup-bookings.md +0 -232
- package/skills/wix-headless/references/inline-recipes/setup-cms.md +0 -200
- package/skills/wix-headless/references/inline-recipes/setup-donations.md +0 -15
- package/skills/wix-headless/references/inline-recipes/setup-events.md +0 -196
- package/skills/wix-headless/references/inline-recipes/setup-forms.md +0 -288
- package/skills/wix-headless/references/inline-recipes/setup-online-store.md +0 -214
- package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +0 -155
- package/skills/wix-headless/references/inline-recipes/setup-pricing-plans.md +0 -229
- package/skills/wix-headless/references/inline-recipes/setup-rentals.md +0 -254
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +0 -73
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +0 -197
- package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +0 -136
- package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +0 -152
- package/skills/wix-headless/references/managed/AUTHENTICATION.md +0 -71
- package/skills/wix-headless/references/managed/CONNECT.md +0 -74
- package/skills/wix-headless/references/managed/CREATE.md +0 -149
- package/skills/wix-headless/references/managed/DEPLOYMENT.md +0 -104
- package/skills/wix-headless/references/non-astro.md +0 -59
- package/skills/wix-headless/references/self-managed/AUTHENTICATION.md +0 -22
- package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +0 -15
- package/skills/wix-headless/references/stripe/AUTHENTICATION.md +0 -55
- package/skills/wix-headless/references/stripe/DEPLOYMENT.md +0 -71
- package/skills/wix-headless/scripts/bootstrap.mjs +0 -156
- package/skills/wix-headless-replatform/.publish-manifest.json +0 -8
- package/skills/wix-headless-replatform/SKILL.md +0 -116
- package/skills/wix-headless-replatform/agents/openai.yaml +0 -6
- package/skills/wix-headless-replatform/references/control-and-visual-fidelity-contract.md +0 -43
- package/skills/wix-headless-replatform/references/extraction-schema.md +0 -187
- package/skills/wix-headless-replatform/references/interaction-runtime-contract.md +0 -137
- package/skills/wix-headless-replatform/references/layout-blueprint-contract.md +0 -41
- package/skills/wix-headless-replatform/references/output-contract.md +0 -93
- package/skills/wix-headless-replatform/references/post-build-gap-contract.md +0 -125
- package/skills/wix-headless-replatform/references/qa-checklist.md +0 -83
- package/skills/wix-headless-replatform/references/safety.md +0 -19
- package/skills/wix-headless-replatform/references/ui-normalization-contract.md +0 -70
- package/skills/wix-headless-replatform/references/workflow.md +0 -157
- package/skills/wix-headless-replatform/registry/README.md +0 -20
- package/skills/wix-headless-replatform/registry/approvals/button/shadcn-default-ac60ef5.json +0 -28
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/button.tsx +0 -54
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/capabilities.json +0 -60
- package/skills/wix-headless-replatform/registry/items/button/shadcn-default-ac60ef5/contract.md +0 -48
- package/skills/wix-headless-replatform/registry/licenses/shadcn-ui-ac60ef5-MIT.txt +0 -21
- package/skills/wix-headless-replatform/registry/registry.json +0 -36
- package/skills/wix-headless-replatform/resources/rp-facelift/SKILL.md +0 -32
- package/skills/wix-headless-replatform/resources/rp-project-context/SKILL.md +0 -62
- package/skills/wix-headless-replatform/resources/rp-qa-gap-loop/SKILL.md +0 -64
- package/skills/wix-headless-replatform/resources/rp-source-evidence/SKILL.md +0 -42
- package/skills/wix-headless-replatform/resources/rp-ui-implementation/SKILL.md +0 -73
- package/skills/wix-headless-replatform/schemas/build-plan.schema.json +0 -10
- package/skills/wix-headless-replatform/schemas/candidate.schema.json +0 -19
- package/skills/wix-headless-replatform/schemas/common.schema.json +0 -33
- package/skills/wix-headless-replatform/schemas/decision-patch.schema.json +0 -10
- package/skills/wix-headless-replatform/schemas/decision-request.schema.json +0 -10
- package/skills/wix-headless-replatform/schemas/extraction-gap.schema.json +0 -28
- package/skills/wix-headless-replatform/schemas/extraction-manifest.schema.json +0 -34
- package/skills/wix-headless-replatform/schemas/final-report.schema.json +0 -10
- package/skills/wix-headless-replatform/schemas/foundation.schema.json +0 -11
- package/skills/wix-headless-replatform/schemas/metadata.schema.json +0 -11
- package/skills/wix-headless-replatform/schemas/observation-packet.schema.json +0 -17
- package/skills/wix-headless-replatform/schemas/page-capture.schema.json +0 -11
- package/skills/wix-headless-replatform/schemas/page-resolution.schema.json +0 -33
- package/skills/wix-headless-replatform/schemas/shared-chrome.schema.json +0 -11
- package/skills/wix-headless-replatform/schemas/unit.schema.json +0 -40
- package/skills/wix-headless-replatform/scripts/assemble-extraction.mjs +0 -844
- package/skills/wix-headless-replatform/scripts/benchmark-extraction.mjs +0 -163
- package/skills/wix-headless-replatform/scripts/browser-extraction-preflight.mjs +0 -42
- package/skills/wix-headless-replatform/scripts/build-extracted-homepage.mjs +0 -228
- package/skills/wix-headless-replatform/scripts/clear-wix-starter.mjs +0 -87
- package/skills/wix-headless-replatform/scripts/create-wix-project.mjs +0 -505
- package/skills/wix-headless-replatform/scripts/discover-urls.mjs +0 -142
- package/skills/wix-headless-replatform/scripts/extract-assets.mjs +0 -140
- package/skills/wix-headless-replatform/scripts/extract-design-system.mjs +0 -637
- package/skills/wix-headless-replatform/scripts/extract-interactions.mjs +0 -1903
- package/skills/wix-headless-replatform/scripts/extract-page.mjs +0 -2461
- package/skills/wix-headless-replatform/scripts/extract-seo.mjs +0 -25
- package/skills/wix-headless-replatform/scripts/extract-tokens.mjs +0 -63
- package/skills/wix-headless-replatform/scripts/finalize-extraction-report.mjs +0 -126
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.mjs +0 -180
- package/skills/wix-headless-replatform/scripts/finalize-gap-review.test.mjs +0 -98
- package/skills/wix-headless-replatform/scripts/finalize-migration-website.mjs +0 -103
- package/skills/wix-headless-replatform/scripts/generate-control-state-contract.mjs +0 -176
- package/skills/wix-headless-replatform/scripts/generate-design-md.mjs +0 -261
- package/skills/wix-headless-replatform/scripts/generate-extraction-validators.mjs +0 -25
- package/skills/wix-headless-replatform/scripts/generate-invoice-download-backend.mjs +0 -342
- package/skills/wix-headless-replatform/scripts/generate-layout-blueprint.mjs +0 -140
- package/skills/wix-headless-replatform/scripts/generate-repeater-cms.mjs +0 -22
- package/skills/wix-headless-replatform/scripts/generate-route-plan.mjs +0 -143
- package/skills/wix-headless-replatform/scripts/generate-scene-contract.mjs +0 -288
- package/skills/wix-headless-replatform/scripts/generate-ui-normalization.mjs +0 -266
- package/skills/wix-headless-replatform/scripts/generate-visual-assets.mjs +0 -111
- package/skills/wix-headless-replatform/scripts/lib/browser-tooling.mjs +0 -570
- package/skills/wix-headless-replatform/scripts/lib/common.mjs +0 -329
- package/skills/wix-headless-replatform/scripts/lib/component-capabilities.mjs +0 -121
- package/skills/wix-headless-replatform/scripts/lib/component-registry.mjs +0 -282
- package/skills/wix-headless-replatform/scripts/lib/content-boundary.mjs +0 -61
- package/skills/wix-headless-replatform/scripts/lib/extraction-contract.mjs +0 -374
- package/skills/wix-headless-replatform/scripts/lib/extraction-detectors.mjs +0 -243
- package/skills/wix-headless-replatform/scripts/lib/extraction-validators.generated.mjs +0 -1139
- package/skills/wix-headless-replatform/scripts/lib/font-contract.mjs +0 -326
- package/skills/wix-headless-replatform/scripts/lib/frontend-automation-state.mjs +0 -184
- package/skills/wix-headless-replatform/scripts/lib/gap-analysis.mjs +0 -396
- package/skills/wix-headless-replatform/scripts/lib/html-extract.mjs +0 -168
- package/skills/wix-headless-replatform/scripts/lib/interaction-bootstrap.mjs +0 -10
- package/skills/wix-headless-replatform/scripts/lib/interaction-runtime.mjs +0 -194
- package/skills/wix-headless-replatform/scripts/lib/interaction-timeline.mjs +0 -348
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/classifiers.mjs +0 -141
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/geometry.mjs +0 -43
- package/skills/wix-headless-replatform/scripts/lib/layout-blueprint/vocabulary.mjs +0 -18
- package/skills/wix-headless-replatform/scripts/lib/ui-normalization.css +0 -64
- package/skills/wix-headless-replatform/scripts/optimize-svg.mjs +0 -31
- package/skills/wix-headless-replatform/scripts/post-build-gap.mjs +0 -358
- package/skills/wix-headless-replatform/scripts/provision-repeater-cms.mjs +0 -25
- package/skills/wix-headless-replatform/scripts/record-gap-decision.mjs +0 -39
- package/skills/wix-headless-replatform/scripts/replay-extraction.mjs +0 -107
- package/skills/wix-headless-replatform/scripts/resolve-home-page.mjs +0 -96
- package/skills/wix-headless-replatform/scripts/site-clone.mjs +0 -658
- package/skills/wix-headless-replatform/scripts/validate-font-contract.mjs +0 -29
- package/skills/wix-headless-replatform/scripts/verify-interactions.mjs +0 -669
- package/skills/wix-headless-replatform/scripts/visual-qa.mjs +0 -370
- package/skills/wix-import/SKILL.md +0 -90
- package/skills/wix-replatform/.publish-manifest.json +0 -8
- package/skills/wix-replatform/CLI.md +0 -162
- package/skills/wix-replatform/README.md +0 -52
- package/skills/wix-replatform/SKILL.md +0 -238
- package/skills/wix-replatform/console/account.css +0 -1
- package/skills/wix-replatform/console/app.css +0 -1
- package/skills/wix-replatform/console/app.js +0 -117
- package/skills/wix-replatform/console/index.html +0 -4
- package/skills/wix-replatform/console/json.css +0 -11
- package/skills/wix-replatform/lib/agent-adapters/index.js +0 -71
- package/skills/wix-replatform/lib/app-page-routing.js +0 -75
- package/skills/wix-replatform/lib/artifact-freshness.js +0 -225
- package/skills/wix-replatform/lib/blocked-data-requests.js +0 -427
- package/skills/wix-replatform/lib/census-reconciliation.js +0 -426
- package/skills/wix-replatform/lib/completion-report.js +0 -1580
- package/skills/wix-replatform/lib/config-env.js +0 -133
- package/skills/wix-replatform/lib/confirmed-pictures.js +0 -212
- package/skills/wix-replatform/lib/dependency-readiness.js +0 -423
- package/skills/wix-replatform/lib/dependency-recovery.js +0 -21
- package/skills/wix-replatform/lib/destination-choice.js +0 -163
- package/skills/wix-replatform/lib/destination-handoff.js +0 -62
- package/skills/wix-replatform/lib/destination-http.js +0 -81
- package/skills/wix-replatform/lib/destination-route.js +0 -98
- package/skills/wix-replatform/lib/destination.js +0 -919
- package/skills/wix-replatform/lib/discovered-census.js +0 -231
- package/skills/wix-replatform/lib/discovered-set-status.js +0 -255
- package/skills/wix-replatform/lib/document-url-guard.js +0 -203
- package/skills/wix-replatform/lib/entity-qa-attestation.js +0 -339
- package/skills/wix-replatform/lib/entity-verification.js +0 -18
- package/skills/wix-replatform/lib/execution-capability.js +0 -120
- package/skills/wix-replatform/lib/execution-log.js +0 -170
- package/skills/wix-replatform/lib/execution-manifest.js +0 -203
- package/skills/wix-replatform/lib/execution-state.js +0 -195
- package/skills/wix-replatform/lib/expectations-ledger.js +0 -96
- package/skills/wix-replatform/lib/generated-plugin-handoff.js +0 -140
- package/skills/wix-replatform/lib/import-readiness-contract.js +0 -23
- package/skills/wix-replatform/lib/import-recovery.js +0 -1107
- package/skills/wix-replatform/lib/imported-redirect-targets.js +0 -608
- package/skills/wix-replatform/lib/internal-link-reconciliation.js +0 -166
- package/skills/wix-replatform/lib/link-audit.js +0 -173
- package/skills/wix-replatform/lib/link-census.js +0 -194
- package/skills/wix-replatform/lib/link-plan.js +0 -148
- package/skills/wix-replatform/lib/link-verification.js +0 -274
- package/skills/wix-replatform/lib/link-write-journal.js +0 -42
- package/skills/wix-replatform/lib/local-state.js +0 -1481
- package/skills/wix-replatform/lib/member-completion.js +0 -658
- package/skills/wix-replatform/lib/member-crosswalk.js +0 -69
- package/skills/wix-replatform/lib/member-outcome-registry.js +0 -265
- package/skills/wix-replatform/lib/migration-completion.js +0 -311
- package/skills/wix-replatform/lib/operator-identity.js +0 -47
- package/skills/wix-replatform/lib/orchestration-decisions.js +0 -248
- package/skills/wix-replatform/lib/orchestration-preflight.js +0 -525
- package/skills/wix-replatform/lib/orchestration-router.js +0 -698
- package/skills/wix-replatform/lib/orchestration-state.js +0 -631
- package/skills/wix-replatform/lib/order-reference-readiness.js +0 -30
- package/skills/wix-replatform/lib/payments-outcome-registry.js +0 -200
- package/skills/wix-replatform/lib/plugin-cms-fallback.js +0 -618
- package/skills/wix-replatform/lib/preservation-approval-stamp.js +0 -54
- package/skills/wix-replatform/lib/product-media-deferral.js +0 -96
- package/skills/wix-replatform/lib/progress-log.js +0 -240
- package/skills/wix-replatform/lib/progress-log.sh +0 -140
- package/skills/wix-replatform/lib/read-back-approval.js +0 -184
- package/skills/wix-replatform/lib/read-back-comparison.js +0 -136
- package/skills/wix-replatform/lib/read-back-contract.js +0 -243
- package/skills/wix-replatform/lib/read-back-extract.js +0 -118
- package/skills/wix-replatform/lib/read-back-gate.js +0 -734
- package/skills/wix-replatform/lib/read-back-reads.js +0 -94
- package/skills/wix-replatform/lib/read-back-state.js +0 -107
- package/skills/wix-replatform/lib/read-back-summary.js +0 -81
- package/skills/wix-replatform/lib/rerun-conflicts.js +0 -334
- package/skills/wix-replatform/lib/run-controller.js +0 -401
- package/skills/wix-replatform/lib/seo-outcome-registry.js +0 -45
- package/skills/wix-replatform/lib/setup-verification.js +0 -148
- package/skills/wix-replatform/lib/source-access.js +0 -231
- package/skills/wix-replatform/lib/source-coverage.js +0 -1130
- package/skills/wix-replatform/lib/source-secrets.js +0 -277
- package/skills/wix-replatform/lib/structured-link-patch.js +0 -59
- package/skills/wix-replatform/lib/task-state.js +0 -110
- package/skills/wix-replatform/lib/url-preservation-report.js +0 -319
- package/skills/wix-replatform/lib/url-preservation-state.js +0 -739
- package/skills/wix-replatform/lib/url-redirect-plan.js +0 -728
- package/skills/wix-replatform/lib/url-verification.js +0 -315
- package/skills/wix-replatform/lib/user-action-effects.js +0 -42
- package/skills/wix-replatform/lib/user-actions.js +0 -264
- package/skills/wix-replatform/lib/website-handoff.js +0 -1220
- package/skills/wix-replatform/lib/wix-client-callers.js +0 -54
- package/skills/wix-replatform/lib/wix-dashboard-url.js +0 -35
- package/skills/wix-replatform/lib/write-verification-state.js +0 -92
- package/skills/wix-replatform/lib/write-verification.js +0 -274
- package/skills/wix-replatform/resources/rp-destination/SKILL.md +0 -137
- package/skills/wix-replatform/resources/rp-discovery/SKILL.md +0 -357
- package/skills/wix-replatform/resources/rp-discovery/scripts/promote-source-coverage.js +0 -47
- package/skills/wix-replatform/resources/rp-execute-import/SKILL.md +0 -1369
- package/skills/wix-replatform/resources/rp-execute-import/scripts/shipping-estimate-audit.js +0 -70
- package/skills/wix-replatform/resources/rp-execute-setup/SKILL.md +0 -482
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/execute-setup.js +0 -442
- package/skills/wix-replatform/resources/rp-execute-setup/scripts/mint-token.sh +0 -64
- package/skills/wix-replatform/resources/rp-execution-policy/SKILL.md +0 -112
- package/skills/wix-replatform/resources/rp-execution-policy/lib/coupon-currency-plan-report.js +0 -143
- package/skills/wix-replatform/resources/rp-execution-policy/lib/payments-report.js +0 -244
- package/skills/wix-replatform/resources/rp-import-codegen/SKILL.md +0 -3158
- package/skills/wix-replatform/resources/rp-mapper/SKILL.md +0 -947
- package/skills/wix-replatform/resources/rp-mapper/lib/mapping-resolve.js +0 -217
- package/skills/wix-replatform/resources/rp-mapper/lib/structure-bridge-planning.js +0 -303
- package/skills/wix-replatform/resources/rp-mapper/scripts/coverage-reconcile.js +0 -88
- package/skills/wix-replatform/resources/rp-mapper/scripts/resolve-mapping.js +0 -148
- package/skills/wix-replatform/resources/rp-mapper/wix-business-solutions-taxonomy.md +0 -378
- package/skills/wix-replatform/resources/rp-preflight/SKILL.md +0 -40
- package/skills/wix-replatform/resources/rp-project-intake/SKILL.md +0 -55
- package/skills/wix-replatform/resources/rp-quick-runtime/SKILL.md +0 -60
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/import-progress.js +0 -89
- package/skills/wix-replatform/resources/rp-quick-runtime/lib/limit-recovery.js +0 -36
- package/skills/wix-replatform/resources/rp-quick-shopify/SKILL.md +0 -123
- package/skills/wix-replatform/resources/rp-quick-shopify/quick-mode.json +0 -124
- package/skills/wix-replatform/resources/rp-quick-shopify/scripts/quick-mode.js +0 -522
- package/skills/wix-replatform/resources/rp-quick-woocommerce/SKILL.md +0 -56
- package/skills/wix-replatform/resources/rp-quick-woocommerce/quick-mode.json +0 -91
- package/skills/wix-replatform/resources/rp-quick-woocommerce/scripts/quick-mode.js +0 -255
- package/skills/wix-replatform/resources/rp-setup-discovery/SKILL.md +0 -253
- package/skills/wix-replatform/resources/rp-setup-discovery/scripts/quick-setup-plan.js +0 -44
- package/skills/wix-replatform/resources/rp-source-csv/SKILL.md +0 -481
- package/skills/wix-replatform/resources/rp-source-csv/lib/canonical-record.js +0 -136
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fileset.js +0 -0
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-fingerprint.js +0 -310
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-layout.js +0 -1081
- package/skills/wix-replatform/resources/rp-source-csv/lib/csv-parse.js +0 -618
- package/skills/wix-replatform/resources/rp-source-csv/scripts/csv-discovery.js +0 -969
- package/skills/wix-replatform/resources/rp-source-csv/source-schema.example.json +0 -196
- package/skills/wix-replatform/resources/rp-source-csv/vendors/bigcommerce.json +0 -66
- package/skills/wix-replatform/resources/rp-source-csv/vendors/magento.json +0 -60
- package/skills/wix-replatform/resources/rp-source-csv/vendors/shopify.json +0 -95
- package/skills/wix-replatform/resources/rp-source-csv/vendors/woocommerce.json +0 -82
- package/skills/wix-replatform/resources/rp-source-inputs/SKILL.md +0 -66
- package/skills/wix-replatform/resources/rp-source-sfcc/SKILL.md +0 -153
- package/skills/wix-replatform/resources/rp-source-shopify/SKILL.md +0 -394
- package/skills/wix-replatform/resources/rp-source-shopify/lib/discovery-reads.js +0 -200
- package/skills/wix-replatform/resources/rp-source-shopify/lib/import-findings.js +0 -34
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk-sqlite-worker.js +0 -44
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-bulk.js +0 -1470
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-cli.js +0 -446
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-gift-cards.js +0 -474
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-protected-fields.js +0 -879
- package/skills/wix-replatform/resources/rp-source-shopify/lib/shopify-session.js +0 -426
- package/skills/wix-replatform/resources/rp-source-shopify/queries/articles.graphql +0 -24
- package/skills/wix-replatform/resources/rp-source-shopify/queries/blogs.graphql +0 -18
- package/skills/wix-replatform/resources/rp-source-shopify/queries/collections.graphql +0 -40
- package/skills/wix-replatform/resources/rp-source-shopify/queries/customers.graphql +0 -76
- package/skills/wix-replatform/resources/rp-source-shopify/queries/delivery-profiles.graphql +0 -51
- package/skills/wix-replatform/resources/rp-source-shopify/queries/discounts.graphql +0 -35
- package/skills/wix-replatform/resources/rp-source-shopify/queries/files.graphql +0 -20
- package/skills/wix-replatform/resources/rp-source-shopify/queries/gift-cards.graphql +0 -18
- package/skills/wix-replatform/resources/rp-source-shopify/queries/inventory.graphql +0 -31
- package/skills/wix-replatform/resources/rp-source-shopify/queries/locations.graphql +0 -21
- package/skills/wix-replatform/resources/rp-source-shopify/queries/menus.graphql +0 -21
- package/skills/wix-replatform/resources/rp-source-shopify/queries/metaobjects.graphql +0 -30
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-core.graphql +0 -150
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-fulfillments.graphql +0 -36
- package/skills/wix-replatform/resources/rp-source-shopify/queries/orders-refunds.graphql +0 -48
- package/skills/wix-replatform/resources/rp-source-shopify/queries/pages.graphql +0 -20
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-address.graphql +0 -8
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-email.graphql +0 -6
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-name.graphql +0 -8
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-customers-phone.graphql +0 -8
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-address.graphql +0 -12
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-email.graphql +0 -6
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-name.graphql +0 -13
- package/skills/wix-replatform/resources/rp-source-shopify/queries/probe-orders-phone.graphql +0 -13
- package/skills/wix-replatform/resources/rp-source-shopify/queries/products.graphql +0 -73
- package/skills/wix-replatform/resources/rp-source-shopify/queries/url-redirects.graphql +0 -13
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-discovery.js +0 -693
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-extract.js +0 -283
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-gift-card-remedy.js +0 -191
- package/skills/wix-replatform/resources/rp-source-shopify/scripts/shopify-session-check.js +0 -115
- package/skills/wix-replatform/resources/rp-source-shopify/source-schema.example.json +0 -201
- package/skills/wix-replatform/resources/rp-source-wordpress/PLUGIN-READ-PLANS.md +0 -146
- package/skills/wix-replatform/resources/rp-source-wordpress/SKILL.md +0 -970
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/blocked-data-handlers.js +0 -73
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.js +0 -115
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/checkout-field-csv-parser.test-fixture.js +0 -91
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/coupon-discovery.js +0 -440
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/currency-gate.js +0 -125
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.js +0 -252
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-source-keys.json +0 -183
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/gateway-summary.mjs +0 -333
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/invoice-discovery.js +0 -426
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-disposition.js +0 -400
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-entity-read-plan.js +0 -633
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/plugin-knowledge.js +0 -1127
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.js +0 -194
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/refund-corroboration.json +0 -100
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/sampled-ids-batch.js +0 -157
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/secret-value-guard.js +0 -234
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/store-currency.js +0 -101
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/structure-bridge-reader.js +0 -755
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.js +0 -1074
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wix-wp-plugin-v2-client.test-fixture.js +0 -149
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/woo-inventory.js +0 -25
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-http.js +0 -444
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-image-url.js +0 -186
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-plugin-detect.js +0 -1422
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-redirect-sources.js +0 -343
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/wp-route-classifier.js +0 -680
- package/skills/wix-replatform/resources/rp-source-wordpress/lib/yoast-product-seo-evidence.js +0 -272
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/README.md +0 -373
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/advanced-custom-fields.json +0 -101
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/back-in-stock-notifier-for-woocommerce.json +0 -81
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/capabilities-pending-decision.json +0 -128
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/cms-fallback-eligible.json +0 -18
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/contact-form-7.json +0 -104
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/facebook-for-woocommerce.json +0 -44
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/fingerprint-aliases.json +0 -49
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/free-gifts-for-woocommerce.json +0 -94
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/index.json +0 -863
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mailpoet.json +0 -52
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/membership-for-woocommerce.json +0 -161
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/mwb-bookings-for-woocommerce.json +0 -180
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/no-migration-needed.json +0 -286
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pricing-deals-for-woocommerce.json +0 -79
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/product-extras-for-woocommerce.json +0 -120
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/pw-woocommerce-gift-cards.json +0 -128
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/requires-development.json +0 -88
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seo-by-rank-math.json +0 -80
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/seriously-simple-podcasting.json +0 -46
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/strong-testimonials.json +0 -55
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/subscriptions-for-woocommerce.json +0 -99
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/tablepress.json +0 -55
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/the-events-calendar.json +0 -160
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/ti-woocommerce-wishlist.json +0 -81
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-checkout-field-editor-pro.json +0 -60
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-discount-rules.json +0 -74
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woo-product-bundle.json +0 -75
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-gift-cards.json +0 -60
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-other-payment-gateway.json +0 -44
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-pdf-invoices-packing-slips.json +0 -57
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-product-addon.json +0 -141
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/woocommerce-progressive-discounts.json +0 -54
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wordpress-seo.json +0 -158
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpc-composite-products.json +0 -97
- package/skills/wix-replatform/resources/rp-source-wordpress/plugins/wpforms-lite.json +0 -86
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/capture-store-settings.js +0 -90
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge-validate.js +0 -51
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/plugin-knowledge.js +0 -103
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-discovery.js +0 -2409
- package/skills/wix-replatform/resources/rp-source-wordpress/scripts/wp-plugin-inventory.js +0 -273
- package/skills/wix-replatform/resources/rp-source-wordpress/secret-value-patterns.v1.json +0 -11
- package/skills/wix-replatform/resources/rp-source-wordpress/source-schema.example.json +0 -71
- package/skills/wix-replatform/resources/rp-source-wordpress/sub-parts.json +0 -13
- package/skills/wix-replatform/resources/rp-target-wix/SKILL.md +0 -1046
- package/skills/wix-replatform/resources/rp-target-wix/app-page-routing-capabilities.json +0 -36
- package/skills/wix-replatform/resources/rp-target-wix/domains/README.md +0 -57
- package/skills/wix-replatform/resources/rp-target-wix/domains/SERVICE-PLUGINS.md +0 -322
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/docs-survey.json +0 -70
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/domain.json +0 -29
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/category.json +0 -71
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/comment.json +0 -83
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/post.json +0 -95
- package/skills/wix-replatform/resources/rp-target-wix/domains/blog/entities/tag.json +0 -66
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/docs-survey.json +0 -332
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/domain.json +0 -75
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/booking.json +0 -181
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service-add-on.json +0 -130
- package/skills/wix-replatform/resources/rp-target-wix/domains/bookings/entities/service.json +0 -180
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/docs-survey.json +0 -161
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/domain.json +0 -25
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/collection.json +0 -67
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/data-item.json +0 -75
- package/skills/wix-replatform/resources/rp-target-wix/domains/cms/entities/reference.json +0 -41
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/docs-survey.json +0 -204
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/domain.json +0 -27
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/contact.json +0 -275
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/email-subscription.json +0 -105
- package/skills/wix-replatform/resources/rp-target-wix/domains/crm/entities/label.json +0 -77
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/docs-survey.json +0 -306
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/domain.json +0 -44
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/delivery-profile.json +0 -171
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/discount-rule.json +0 -182
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-applied-discount.json +0 -129
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-invoice-document.json +0 -192
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item-options.json +0 -123
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-line-item.json +0 -85
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-merchant-note.json +0 -112
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-payment.json +0 -191
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order-refund.json +0 -164
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/order.json +0 -462
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/pickup-location.json +0 -122
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/shipping-option.json +0 -98
- package/skills/wix-replatform/resources/rp-target-wix/domains/ecom/entities/wishlist-item.json +0 -86
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/docs-survey.json +0 -128
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/domain.json +0 -38
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/category.json +0 -73
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/event.json +0 -107
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/registration-form.json +0 -89
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/rsvp.json +0 -118
- package/skills/wix-replatform/resources/rp-target-wix/domains/events/entities/ticket-definition.json +0 -93
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/docs-survey.json +0 -86
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/domain.json +0 -56
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form-submission.json +0 -121
- package/skills/wix-replatform/resources/rp-target-wix/domains/forms/entities/form.json +0 -134
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/docs-survey.json +0 -41
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/domain.json +0 -50
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card-product.json +0 -87
- package/skills/wix-replatform/resources/rp-target-wix/domains/gift-cards/entities/gift-card.json +0 -130
- package/skills/wix-replatform/resources/rp-target-wix/domains/index.json +0 -1418
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/docs-survey.json +0 -41
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/domain.json +0 -24
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-file.json +0 -75
- package/skills/wix-replatform/resources/rp-target-wix/domains/media/entities/media-folder.json +0 -71
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/docs-survey.json +0 -119
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/domain.json +0 -23
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/badge.json +0 -71
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/custom-field.json +0 -82
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member-about.json +0 -77
- package/skills/wix-replatform/resources/rp-target-wix/domains/members/entities/member.json +0 -205
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/docs-survey.json +0 -41
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/domain.json +0 -46
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan-order.json +0 -137
- package/skills/wix-replatform/resources/rp-target-wix/domains/pricing-plans/entities/plan.json +0 -133
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/docs-survey.json +0 -7
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/domain.json +0 -36
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/amazon-shop-connect.json +0 -71
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/ebay-shop-connect.json +0 -67
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/google-youtube-connect.json +0 -72
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/meta-catalog-connect.json +0 -74
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/pinterest-catalog-connect.json +0 -69
- package/skills/wix-replatform/resources/rp-target-wix/domains/sales-channels/entities/tiktok-catalog-connect.json +0 -61
- package/skills/wix-replatform/resources/rp-target-wix/domains/schema.json +0 -111
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/docs-survey.json +0 -109
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/domain.json +0 -73
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/item-seo-tags.json +0 -148
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/seo-pattern.json +0 -91
- package/skills/wix-replatform/resources/rp-target-wix/domains/seo/entities/site-seo-tags.json +0 -79
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/docs-survey.json +0 -32
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/domain.json +0 -49
- package/skills/wix-replatform/resources/rp-target-wix/domains/site/entities/business-contact.json +0 -103
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/docs-survey.json +0 -203
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/domain.json +0 -42
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/back-in-stock-request.json +0 -119
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/brand.json +0 -111
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/category.json +0 -81
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/coupon.json +0 -241
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/inventory-item.json +0 -118
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-customization.json +0 -111
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product-tag.json +0 -79
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/product.json +0 -221
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/promotion.json +0 -84
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/review.json +0 -178
- package/skills/wix-replatform/resources/rp-target-wix/domains/stores/entities/subscription-product.json +0 -87
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/docs-survey.json +0 -106
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/domain.json +0 -64
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/manual-tax-mapping.json +0 -119
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-group.json +0 -94
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-region.json +0 -113
- package/skills/wix-replatform/resources/rp-target-wix/domains/tax/entities/tax-settings.json +0 -65
- package/skills/wix-replatform/resources/rp-target-wix/lib/audit-summary.js +0 -64
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-author-attribution.js +0 -165
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-client.js +0 -60
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-duplicates.js +0 -201
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-ledger.js +0 -306
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-report.js +0 -229
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build-stage.js +0 -55
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-build.js +0 -715
- package/skills/wix-replatform/resources/rp-target-wix/lib/blog-post-media.js +0 -567
- package/skills/wix-replatform/resources/rp-target-wix/lib/bulk-results.js +0 -73
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-extended-fields.js +0 -194
- package/skills/wix-replatform/resources/rp-target-wix/lib/contact-import.js +0 -133
- package/skills/wix-replatform/resources/rp-target-wix/lib/contract-ledger.js +0 -150
- package/skills/wix-replatform/resources/rp-target-wix/lib/coupon-redemption-drift.js +0 -491
- package/skills/wix-replatform/resources/rp-target-wix/lib/customer-member.js +0 -104
- package/skills/wix-replatform/resources/rp-target-wix/lib/data-extension-schema.js +0 -673
- package/skills/wix-replatform/resources/rp-target-wix/lib/domain-knowledge.js +0 -835
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-balance-reconciliation.js +0 -119
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-build.js +0 -566
- package/skills/wix-replatform/resources/rp-target-wix/lib/gift-card-redemption-build.js +0 -249
- package/skills/wix-replatform/resources/rp-target-wix/lib/ndjson.js +0 -260
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-applied-discount-build.js +0 -63
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-buyer.js +0 -187
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-channel-build.js +0 -64
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-history.js +0 -1027
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-invoice-contract.js +0 -90
- package/skills/wix-replatform/resources/rp-target-wix/lib/order-payment-mapping.js +0 -420
- package/skills/wix-replatform/resources/rp-target-wix/lib/pricing-plan-definition.js +0 -177
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-import.js +0 -151
- package/skills/wix-replatform/resources/rp-target-wix/lib/product-seo.js +0 -723
- package/skills/wix-replatform/resources/rp-target-wix/lib/seo-redirects.js +0 -353
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-build.js +0 -1437
- package/skills/wix-replatform/resources/rp-target-wix/lib/shipping-option-stage.js +0 -354
- package/skills/wix-replatform/resources/rp-target-wix/lib/store-config-build.js +0 -134
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-category-attach.js +0 -221
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-inventory.js +0 -248
- package/skills/wix-replatform/resources/rp-target-wix/lib/stores-verification.js +0 -321
- package/skills/wix-replatform/resources/rp-target-wix/lib/tax-build.js +0 -231
- package/skills/wix-replatform/resources/rp-target-wix/lib/url-mapper-transport.js +0 -28
- package/skills/wix-replatform/resources/rp-target-wix/lib/value-utils.js +0 -14
- package/skills/wix-replatform/resources/rp-target-wix/lib/variant-correlation.js +0 -34
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-build.js +0 -388
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-target-spec.js +0 -255
- package/skills/wix-replatform/resources/rp-target-wix/lib/wix-writers.js +0 -6041
- package/skills/wix-replatform/resources/rp-target-wix/lib/write-verification.js +0 -3
- package/skills/wix-replatform/resources/rp-target-wix/scripts/docs-survey-sync.js +0 -150
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js +0 -69
- package/skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js +0 -100
- package/skills/wix-replatform/resources/rp-target-wix/scripts/verify-stores.js +0 -112
- package/skills/wix-replatform/resources/rp-telemetry/SKILL.md +0 -484
- package/skills/wix-replatform/resources/rp-telemetry/lib/bi-sink.js +0 -318
- package/skills/wix-replatform/resources/rp-telemetry/lib/telemetry-recorder.js +0 -2831
- package/skills/wix-replatform/resources/rp-telemetry/lib/transcript-digest.js +0 -318
- package/skills/wix-replatform/resources/rp-telemetry/scripts/meter-from-audit.js +0 -83
- package/skills/wix-replatform/resources/rp-telemetry/scripts/rp-telemetry.js +0 -243
- package/skills/wix-replatform/resources/rp-website-continuation/SKILL.md +0 -94
- package/skills/wix-replatform/scripts/artifact-freshness.js +0 -76
- package/skills/wix-replatform/scripts/census-reconciliation.js +0 -25
- package/skills/wix-replatform/scripts/cms-fallback.js +0 -89
- package/skills/wix-replatform/scripts/discovered-census.js +0 -26
- package/skills/wix-replatform/scripts/discovered-set-status.js +0 -33
- package/skills/wix-replatform/scripts/entity-qa-attestation.js +0 -130
- package/skills/wix-replatform/scripts/execution-health-check.js +0 -415
- package/skills/wix-replatform/scripts/execution-manifest-validate.js +0 -43
- package/skills/wix-replatform/scripts/execution-state-prepare.js +0 -128
- package/skills/wix-replatform/scripts/expectations-ledger.js +0 -44
- package/skills/wix-replatform/scripts/import-contract-verify.js +0 -183
- package/skills/wix-replatform/scripts/internal-link-audit.js +0 -90
- package/skills/wix-replatform/scripts/item-seo-tags-verify.js +0 -205
- package/skills/wix-replatform/scripts/migration-completion.js +0 -76
- package/skills/wix-replatform/scripts/orchestration-preflight.js +0 -67
- package/skills/wix-replatform/scripts/orchestration-route.js +0 -77
- package/skills/wix-replatform/scripts/orchestration-state.js +0 -381
- package/skills/wix-replatform/scripts/read-back-gate.js +0 -175
- package/skills/wix-replatform/scripts/replatform-console.js +0 -146
- package/skills/wix-replatform/scripts/replatform.js +0 -436
- package/skills/wix-replatform/scripts/source-secrets.js +0 -77
- package/skills/wix-replatform/scripts/url-redirects.js +0 -286
- package/skills/wix-replatform/scripts/user-action.js +0 -58
- package/skills/wix-replatform/scripts/website-handoff-generate.js +0 -64
- package/skills/wix-replatform/scripts/wix-dashboard-url.js +0 -54
- package/skills/wix-replatform/scripts/wix-destination.js +0 -143
- package/skills/wix-replatform/scripts/wix-headless-scaffold.js +0 -762
- package/skills/wix-vibe-headless/SKILL.md +0 -183
- package/skills/wix-vibe-headless/install/deploy.cjs +0 -221
- package/skills/wix-vibe-headless/install/pin-agents-md.cjs +0 -35
- package/skills/wix-vibe-headless/platforms/README.md +0 -26
- package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed-with-install.md +0 -127
- package/skills/wix-vibe-headless/platforms/base44-ecom-light-seed.md +0 -121
- package/skills/wix-vibe-headless/platforms/base44-ecom-light.md +0 -87
- package/skills/wix-vibe-headless/platforms/base44.md +0 -148
- package/skills/wix-vibe-headless/platforms/generic.md +0 -132
- package/skills/wix-vibe-headless/references/_shared/nav/nav.tanstack.js +0 -30
- package/skills/wix-vibe-headless/references/_shared/routing.md +0 -86
- package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +0 -270
- package/skills/wix-vibe-headless/references/blog/app/components/PostCard.jsx +0 -43
- package/skills/wix-vibe-headless/references/blog/app/components/PostChips.jsx +0 -25
- package/skills/wix-vibe-headless/references/blog/app/components/PostGrid.jsx +0 -15
- package/skills/wix-vibe-headless/references/blog/app/context/TaxonomyContext.jsx +0 -35
- package/skills/wix-vibe-headless/references/blog/app/hooks/usePostDetail.js +0 -38
- package/skills/wix-vibe-headless/references/blog/app/pages/Blog.jsx +0 -40
- package/skills/wix-vibe-headless/references/blog/app/pages/CategoryPage.jsx +0 -54
- package/skills/wix-vibe-headless/references/blog/app/pages/PostDetail.jsx +0 -65
- package/skills/wix-vibe-headless/references/blog/app/pages/TagPage.jsx +0 -50
- package/skills/wix-vibe-headless/references/blog/app/rest/wix-blog.js +0 -217
- package/skills/wix-vibe-headless/references/blog/seed/SEED.md +0 -99
- package/skills/wix-vibe-headless/references/blog/seed/seed-blog.cjs +0 -269
- package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +0 -342
- package/skills/wix-vibe-headless/references/bookings/app/components/BookingForm.jsx +0 -65
- package/skills/wix-vibe-headless/references/bookings/app/components/RentalDurationPicker.jsx +0 -67
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceCard.jsx +0 -47
- package/skills/wix-vibe-headless/references/bookings/app/components/ServiceGrid.jsx +0 -13
- package/skills/wix-vibe-headless/references/bookings/app/components/SlotPicker.jsx +0 -126
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useRentalDuration.js +0 -128
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServiceDetail.js +0 -110
- package/skills/wix-vibe-headless/references/bookings/app/hooks/useServices.js +0 -58
- package/skills/wix-vibe-headless/references/bookings/app/lib/serviceFacts.js +0 -95
- package/skills/wix-vibe-headless/references/bookings/app/pages/ServiceDetail.jsx +0 -94
- package/skills/wix-vibe-headless/references/bookings/app/pages/Services.jsx +0 -89
- package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-checkout.js +0 -148
- package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-rentals.js +0 -250
- package/skills/wix-vibe-headless/references/bookings/app/rest/wix-bookings-services.js +0 -300
- package/skills/wix-vibe-headless/references/bookings/seed/SEED.md +0 -154
- package/skills/wix-vibe-headless/references/bookings/seed/seed-bookings.cjs +0 -333
- package/skills/wix-vibe-headless/references/bookings/seed/seed-rentals.cjs +0 -267
- package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +0 -178
- package/skills/wix-vibe-headless/references/cms/app/collection.config.js +0 -31
- package/skills/wix-vibe-headless/references/cms/app/lib/wixImage.js +0 -18
- package/skills/wix-vibe-headless/references/cms/app/rest/wix-cms.js +0 -231
- package/skills/wix-vibe-headless/references/cms/seed/SEED.md +0 -145
- package/skills/wix-vibe-headless/references/donations/INSTRUCTIONS.md +0 -88
- package/skills/wix-vibe-headless/references/donations/app/rest/wix-donations.js +0 -112
- package/skills/wix-vibe-headless/references/donations/seed/SEED.md +0 -11
- package/skills/wix-vibe-headless/references/donations/tests/donations.test.mjs +0 -258
- package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +0 -267
- package/skills/wix-vibe-headless/references/events/app/components/CategoryFilter.jsx +0 -23
- package/skills/wix-vibe-headless/references/events/app/components/EventCard.jsx +0 -43
- package/skills/wix-vibe-headless/references/events/app/components/EventGrid.jsx +0 -13
- package/skills/wix-vibe-headless/references/events/app/components/EventRegistration.jsx +0 -29
- package/skills/wix-vibe-headless/references/events/app/components/RsvpForm.jsx +0 -57
- package/skills/wix-vibe-headless/references/events/app/components/TicketPicker.jsx +0 -78
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventDetail.js +0 -27
- package/skills/wix-vibe-headless/references/events/app/hooks/useEventsList.js +0 -54
- package/skills/wix-vibe-headless/references/events/app/hooks/useRsvpForm.js +0 -40
- package/skills/wix-vibe-headless/references/events/app/hooks/useTicketing.js +0 -81
- package/skills/wix-vibe-headless/references/events/app/pages/EventDetail.jsx +0 -48
- package/skills/wix-vibe-headless/references/events/app/pages/Events.jsx +0 -36
- package/skills/wix-vibe-headless/references/events/app/rest/wix-events-browse.js +0 -136
- package/skills/wix-vibe-headless/references/events/app/rest/wix-events-registration.js +0 -187
- package/skills/wix-vibe-headless/references/events/seed/SEED.md +0 -103
- package/skills/wix-vibe-headless/references/events/seed/seed-events.cjs +0 -251
- package/skills/wix-vibe-headless/references/forms/INSTRUCTIONS.md +0 -487
- package/skills/wix-vibe-headless/references/forms/app/hooks/useWixForm.js +0 -425
- package/skills/wix-vibe-headless/references/forms/app/lib/wix-form-schema-utils.js +0 -187
- package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms-submissions.js +0 -238
- package/skills/wix-vibe-headless/references/forms/app/rest/wix-forms.js +0 -108
- package/skills/wix-vibe-headless/references/forms/seed/SEED.md +0 -1836
- package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +0 -328
- package/skills/wix-vibe-headless/references/members/app/components/LoginForm.jsx +0 -101
- package/skills/wix-vibe-headless/references/members/app/components/MemberMenu.jsx +0 -33
- package/skills/wix-vibe-headless/references/members/app/components/RequireAuth.jsx +0 -21
- package/skills/wix-vibe-headless/references/members/app/components/SocialButtons.jsx +0 -29
- package/skills/wix-vibe-headless/references/members/app/context/MemberContext.jsx +0 -54
- package/skills/wix-vibe-headless/references/members/app/hooks/useLoginForm.js +0 -77
- package/skills/wix-vibe-headless/references/members/app/pages/Account.jsx +0 -36
- package/skills/wix-vibe-headless/references/members/app/pages/Callback.jsx +0 -32
- package/skills/wix-vibe-headless/references/members/app/pages/Login.jsx +0 -35
- package/skills/wix-vibe-headless/references/members/app/rest/wix-members-auth.js +0 -390
- package/skills/wix-vibe-headless/references/members/install/Register.jsx +0 -22
- package/skills/wix-vibe-headless/references/members/seed/SEED.md +0 -21
- package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +0 -270
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionCard.jsx +0 -31
- package/skills/wix-vibe-headless/references/portfolio/app/components/CollectionGrid.jsx +0 -15
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectCard.jsx +0 -39
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectGrid.jsx +0 -15
- package/skills/wix-vibe-headless/references/portfolio/app/components/ProjectMedia.jsx +0 -29
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useCollectionProjects.js +0 -35
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/usePortfolioGallery.js +0 -27
- package/skills/wix-vibe-headless/references/portfolio/app/hooks/useProjectDetail.js +0 -25
- package/skills/wix-vibe-headless/references/portfolio/app/pages/CollectionPage.jsx +0 -39
- package/skills/wix-vibe-headless/references/portfolio/app/pages/Portfolio.jsx +0 -27
- package/skills/wix-vibe-headless/references/portfolio/app/pages/ProjectDetail.jsx +0 -60
- package/skills/wix-vibe-headless/references/portfolio/app/rest/wix-portfolio.js +0 -223
- package/skills/wix-vibe-headless/references/portfolio/seed/SEED.md +0 -90
- package/skills/wix-vibe-headless/references/portfolio/seed/seed-portfolio.cjs +0 -236
- package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +0 -280
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/OrderCard.jsx +0 -35
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanCard.jsx +0 -48
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanGrid.jsx +0 -16
- package/skills/wix-vibe-headless/references/pricing-plans/app/components/PlanPrice.jsx +0 -35
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/useMyPlans.js +0 -25
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlanDetail.js +0 -28
- package/skills/wix-vibe-headless/references/pricing-plans/app/hooks/usePlans.js +0 -30
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/MyPlans.jsx +0 -30
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/PlanDetail.jsx +0 -53
- package/skills/wix-vibe-headless/references/pricing-plans/app/pages/Plans.jsx +0 -28
- package/skills/wix-vibe-headless/references/pricing-plans/app/rest/wix-pricing-plans.js +0 -157
- package/skills/wix-vibe-headless/references/pricing-plans/seed/SEED.md +0 -82
- package/skills/wix-vibe-headless/references/pricing-plans/seed/seed-pricing-plans.cjs +0 -251
- package/skills/wix-vibe-headless/references/rentals/INSTRUCTIONS.md +0 -13
- package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +0 -290
- package/skills/wix-vibe-headless/references/restaurants/app/components/ItemDialog.jsx +0 -81
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuItemCard.jsx +0 -71
- package/skills/wix-vibe-headless/references/restaurants/app/components/MenuList.jsx +0 -43
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartButton.jsx +0 -21
- package/skills/wix-vibe-headless/references/restaurants/app/components/OrderCartDrawer.jsx +0 -72
- package/skills/wix-vibe-headless/references/restaurants/app/context/OrderCartContext.jsx +0 -66
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useItemOrder.js +0 -32
- package/skills/wix-vibe-headless/references/restaurants/app/hooks/useReservation.js +0 -73
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Menu.jsx +0 -28
- package/skills/wix-vibe-headless/references/restaurants/app/pages/Reservations.jsx +0 -102
- package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-menu.js +0 -224
- package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-ordering.js +0 -218
- package/skills/wix-vibe-headless/references/restaurants/app/rest/wix-restaurants-reservations.js +0 -107
- package/skills/wix-vibe-headless/references/restaurants/seed/SEED.md +0 -176
- package/skills/wix-vibe-headless/references/restaurants/seed/seed-restaurants.cjs +0 -452
- package/skills/wix-vibe-headless/references/shared/app/components/WixManageBanner.jsx +0 -56
- package/skills/wix-vibe-headless/references/shared/app/lib/nav.js +0 -9
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-client.js +0 -185
- package/skills/wix-vibe-headless/references/shared/app/rest/wix-config.js +0 -8
- package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +0 -471
- package/skills/wix-vibe-headless/references/storefront/app/components/CartButton.jsx +0 -20
- package/skills/wix-vibe-headless/references/storefront/app/components/CartDrawer.jsx +0 -167
- package/skills/wix-vibe-headless/references/storefront/app/context/CartContext.jsx +0 -83
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductCard.js +0 -104
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useProductDetail.js +0 -163
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useShop.js +0 -83
- package/skills/wix-vibe-headless/references/storefront/app/hooks/useVariantOptions.js +0 -76
- package/skills/wix-vibe-headless/references/storefront/app/lib/storeImage.js +0 -64
- package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-cart.js +0 -176
- package/skills/wix-vibe-headless/references/storefront/app/rest/wix-store-catalog.js +0 -218
- package/skills/wix-vibe-headless/references/storefront/seed/SEED.md +0 -174
- package/skills/wix-vibe-headless/references/storefront/seed/seed-store.cjs +0 -546
|
@@ -1,947 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: rp-mapper
|
|
3
|
-
description: >-
|
|
4
|
-
Maps discovered source entities and fields to Wix targets and documents lossiness. Use
|
|
5
|
-
when creating machine-readable mapping artifacts and review markdown after discovery.
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
# rp-mapper
|
|
9
|
-
|
|
10
|
-
Create a mapping plan from the discovered source schema into Wix entities and Wix data structures.
|
|
11
|
-
|
|
12
|
-
## Purpose
|
|
13
|
-
|
|
14
|
-
This skill translates source entities and fields into Wix targets. It should define what each source record becomes in Wix, how fields transform, and where custom schemas or extended fields are required.
|
|
15
|
-
|
|
16
|
-
## Required inputs
|
|
17
|
-
|
|
18
|
-
- `migrations/<project>/source-schema.json`
|
|
19
|
-
- `migrations/<project>/source-profile.md` when available
|
|
20
|
-
- `migrations/<project>/orchestration/checkpoints.json`
|
|
21
|
-
- `migrations/<project>/orchestration/decisions.json`
|
|
22
|
-
- `migrations/<project>/discovery/source-coverage.json` (capabilities discovery could not capture)
|
|
23
|
-
- any existing Wix target-model constraints supplied by the user
|
|
24
|
-
|
|
25
|
-
Read **only** these canonical artifacts by default. Do not ingest the raw discovery dump
|
|
26
|
-
(`migrations/<project>/data/...`) wholesale — it is platform-specific and large. Instead, when an
|
|
27
|
-
entity's mapping is ambiguous, follow that entity's `rawFile` pointer in `source-schema.json` to open
|
|
28
|
-
just that one raw file for verification. Skip entities whose `inUse` is `false` (advertised by the
|
|
29
|
-
source but holding no records).
|
|
30
|
-
|
|
31
|
-
### Adapter-supplied hints in `sourceMeta`
|
|
32
|
-
|
|
33
|
-
A source adapter may pre-fill part of the mapping when it recognizes the source format. Two
|
|
34
|
-
`sourceMeta` keys carry that, and both are optional — a schema without them maps exactly as
|
|
35
|
-
before:
|
|
36
|
-
|
|
37
|
-
- **`sourceMeta.mappingHints[]`** (`{ column, wixTarget, matchedAlias }`) — an **advisory**
|
|
38
|
-
pre-fill, e.g. from a recognized vendor's CSV profile. Seed the corresponding
|
|
39
|
-
`fieldMappings[]` entries from it so the user reviews and corrects instead of authoring from
|
|
40
|
-
scratch, and record `decisionProvenance: source_platform_rule`. It is never authoritative:
|
|
41
|
-
the source's own field list still governs, and every hint still passes through the mapping
|
|
42
|
-
review checkpoint.
|
|
43
|
-
- **`sourceMeta.drift.unmappedColumns[]`** — real source columns the adapter's profile did not
|
|
44
|
-
recognize. Each one must be explicitly mapped or explicitly recorded as skipped; leaving
|
|
45
|
-
them unaddressed is how a stale profile turns into silently dropped data.
|
|
46
|
-
|
|
47
|
-
In addition to the project artifacts above, consult the relevant bundled adapter resource
|
|
48
|
-
when the mapping depends on platform behavior that should not be guessed:
|
|
49
|
-
|
|
50
|
-
- source-side read/entity semantics from `wix-replatform/resources/rp-source-<platform>/SKILL.md`
|
|
51
|
-
- Wix target constraints and domain behavior from `wix-replatform/resources/rp-target-wix/SKILL.md`
|
|
52
|
-
- Wix target entity suitability from
|
|
53
|
-
`wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js`
|
|
54
|
-
|
|
55
|
-
Treat those adapter resources as the authoritative home for platform knowledge. Do not
|
|
56
|
-
copy source/Wix behavioral rules into the mapping plan as if they originated there; cite
|
|
57
|
-
and apply them there.
|
|
58
|
-
|
|
59
|
-
## Read-back field contract before mapping approval
|
|
60
|
-
|
|
61
|
-
For the gated Wix targets `order`, `member`, `contact` and `product`, every field-mapping row
|
|
62
|
-
must declare the exact `sourcePaths[]` it reads, canonical `writePath`, and `readPath` or a
|
|
63
|
-
specific `unverifiableReason`. Write array positions as `[]`. A populated `false` or `0` is
|
|
64
|
-
real data. In `mapping/entity-decisions/<entity>.json`, account for every populated source leaf
|
|
65
|
-
and intended target path with `fieldDispositions[]`: `{ kind: source | intended, path,
|
|
66
|
-
status: mapped | notMigrated, mappingRef }`. A mapped disposition names the actual mapping-row
|
|
67
|
-
ID or index; it cannot claim a path that row does not read or write.
|
|
68
|
-
|
|
69
|
-
Prepare a pure project-local module exporting `buildWrite(record)` from the mapping transforms;
|
|
70
|
-
it makes no request or write and is the same builder the generated importer will reuse.
|
|
71
|
-
Use an existing complete extract, or obtain it through the source adapter's read-only extraction
|
|
72
|
-
path before the review. These commands run from the installed skill directory:
|
|
73
|
-
|
|
74
|
-
```sh
|
|
75
|
-
node scripts/read-back-gate.js contract <projectDir> --entity <entity>
|
|
76
|
-
node scripts/read-back-gate.js inventory <projectDir> --entity <entity> --extract <extractPath> --builder <builderModule> --source-key id
|
|
77
|
-
node scripts/read-back-gate.js validate <projectDir> --entity <entity>
|
|
78
|
-
```
|
|
79
|
-
|
|
80
|
-
`contract` merges the checked-in intended fields, projection and domain digest into the same
|
|
81
|
-
entity decision's `readBackContract`; do not invent or relax that contract. `inventory` streams
|
|
82
|
-
NDJSON or a JSON array once and stores only source IDs, paths and counts in
|
|
83
|
-
`execution/read-back-inventory/<entity>.json`. A dotted source key is supported. Missing extracts
|
|
84
|
-
report `not-run`, never a pass. Exit `2` requires correction; before approval the only permissible
|
|
85
|
-
unresolved validation item is the missing identified approval for an explicitly reviewed
|
|
86
|
-
`notMigrated` path. All other contract, mapping, history and inventory failures must be fixed.
|
|
87
|
-
|
|
88
|
-
Before any Wix write, request mapping approval with the exact current SHA-256 references from
|
|
89
|
-
`lib/read-back-contract.js` `bindings(projectDir, entity)` for **all four** artifacts:
|
|
90
|
-
`mapping/mapping-plan.json`, `mapping/entity-decisions/<entity>.json`,
|
|
91
|
-
`mapping/mapping-resolution.json` and `execution/read-back-inventory/<entity>.json`.
|
|
92
|
-
The review shows left-out paths and affected record counts, never source values. Record approval
|
|
93
|
-
through the existing mapping user action so both answer entrypoints use the shared identified
|
|
94
|
-
approval writer. Populated omissions require a named signed-in human; explicit 1-click mode
|
|
95
|
-
cannot approve them automatically. After approval, rerun validation; it must pass before writes
|
|
96
|
-
and on every resume. Changes to any pinned artifact require fresh review. A previously attempted
|
|
97
|
-
unresolved path or observed loss cannot become an approved omission. Approved omissions produce
|
|
98
|
-
a separate merchant-acknowledgement action that must be completed before launch.
|
|
99
|
-
|
|
100
|
-
For every other target entity, declare `verificationKind` and a concrete `reason` through
|
|
101
|
-
`lib/read-back-gate.js`'s `declaration`; it is outside these four field gates and must never
|
|
102
|
-
be described as having passed them.
|
|
103
|
-
|
|
104
|
-
## Deterministic first — resolve before you reason
|
|
105
|
-
|
|
106
|
-
**Do not author field mappings by hand when a vendor overlay already knows them.** Run the
|
|
107
|
-
deterministic resolver first and let it do the mechanical join; your judgement is needed only for
|
|
108
|
-
what it cannot decide.
|
|
109
|
-
|
|
110
|
-
```
|
|
111
|
-
node scripts/resolve-mapping.js --fileset <migrations-root>/<project>/data/csv-discovery/fileset.json \
|
|
112
|
-
--out <migrations-root>/<project>/mapping
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
It joins three inputs that are all already data — the header set discovery actually observed, the
|
|
116
|
-
vendor overlay's `columnMap`, and `rp-target-wix`'s `lib/wix-target-spec.js` — and writes
|
|
117
|
-
`mapping/mapping-resolution.json` plus `mapping/mapping-residue.json`. Exit code `2` means blocked:
|
|
118
|
-
a required Wix input is unfilled, or an overlay names a canonical field that does not exist.
|
|
119
|
-
|
|
120
|
-
What it decides, so you don't:
|
|
121
|
-
|
|
122
|
-
- **which column feeds which canonical field**, and via which alias (recorded for review)
|
|
123
|
-
- **which columns nothing claims** → `residue.unmappedColumns`
|
|
124
|
-
- **which mapped columns have no Wix home**, with the declared reason → `residue.unsupportedTargets`
|
|
125
|
-
- **which required Wix inputs nothing feeds** → `residue.unfilledRequired` (a blocker)
|
|
126
|
-
- **which overlay entries reference an absent column** → `overlayDrift` (the profile is stale)
|
|
127
|
-
- **which entities arrive by derivation** rather than by a column → `derivedEntities`, including
|
|
128
|
-
`requiresFaithfulnessLedgerEntry` when the source taxonomy is hierarchical
|
|
129
|
-
|
|
130
|
-
**Your job is `residue`, and only `residue`.** Each entry needs an explicit decision — map it to a
|
|
131
|
-
canonical field, or record it as intentionally skipped with a reason. Leaving an entry undecided is
|
|
132
|
-
how a stale overlay turns into silently dropped data.
|
|
133
|
-
|
|
134
|
-
Two rules keep this honest:
|
|
135
|
-
|
|
136
|
-
- **The header row read at discovery time is authoritative, not the overlay.** An overlay can only
|
|
137
|
-
claim columns that actually exist; a column it does not know is surfaced, never dropped.
|
|
138
|
-
- **When you resolve a residue entry that the overlay *should* have known, fix the overlay** —
|
|
139
|
-
`rp-source-csv/vendors/<vendor>.json` plus a header fixture in `tests/fixtures/csv/headers/`. That
|
|
140
|
-
is a data edit with no skill-logic change, and it means the next run resolves it deterministically
|
|
141
|
-
instead of asking a model again. A mapping decision made twice is a missing overlay entry.
|
|
142
|
-
|
|
143
|
-
### Do not regenerate the payload builder
|
|
144
|
-
|
|
145
|
-
`rp-target-wix/lib/wix-build.js` turns a canonical record into a Wix Stores V3 create body
|
|
146
|
-
deterministically, and `lib/wix-target-spec.js` declares every field, constant and trap it relies
|
|
147
|
-
on. This layer is **vendor-independent** — Shopify, WooCommerce, Magento and BigCommerce all
|
|
148
|
-
converge on it — so codegen must **vendor and call it**, exactly as the reader vendors `csv-parse.js`.
|
|
149
|
-
Do not emit a per-project `to-wix.js` re-deriving money objects, slug sanitization, choice-by-name
|
|
150
|
-
variant references, or the empty `physicalProperties` trap. Those are settled, tested, and
|
|
151
|
-
regression-locked against 220 payloads from two live-verified imports
|
|
152
|
-
(`tests/mapping/wix-build-oracle-test.js`).
|
|
153
|
-
|
|
154
|
-
The spec also settles the one price decision that recurs on every vendor: see
|
|
155
|
-
`STORES_V3_TARGET.priceResolution`. A (regular, sale) pair is **resolved** into Wix's
|
|
156
|
-
`actualPrice`/`compareAtPrice`, not mapped field-for-field — getting it backwards silently
|
|
157
|
-
overcharges every discounted product.
|
|
158
|
-
|
|
159
|
-
## Workflow
|
|
160
|
-
|
|
161
|
-
1. Read the source discovery artifacts.
|
|
162
|
-
2. **Run the deterministic resolver** (above) and read its residue.
|
|
163
|
-
3. Identify the target Wix entities for each source entity using the domain knowledge
|
|
164
|
-
reader first. Start from `sourceMeta.candidateTargetRefs[]` when discovery supplied it;
|
|
165
|
-
otherwise run `domain-knowledge.js resolve-source`; use semantic reasoning only when no
|
|
166
|
-
candidate exists and record `unverified` confidence.
|
|
167
|
-
4. Decide the resolver residue only, then define any remaining transformations and defaults.
|
|
168
|
-
5. Mark gaps where native Wix entities are insufficient — the resolver's `unsupportedTargets`
|
|
169
|
-
already names them with reasons; carry those into the faithfulness ledger rather than restating.
|
|
170
|
-
6. Identify requirements for custom collections, extended fields, references, media handling, and rich content normalization.
|
|
171
|
-
Every `extendedFields` write needs a matching `kind: "extendedFieldSchema"` setup requirement
|
|
172
|
-
with compact field intents (`key`, `fieldType`, `maxLength`, `permissionsPreset:
|
|
173
|
-
"migration-internal"`), never hand-written JSON Schema. Migration-owned fields use
|
|
174
|
-
`_user_fields`. Admitted targets: orders, products, and contacts (default `contacts-v5`; legacy
|
|
175
|
-
`contacts-v4` only by explicit choice). Other objects and nested subrecords go to CMS. Provisioning
|
|
176
|
-
a field does not decide whether a source field may be kept; that is a separate retention decision.
|
|
177
|
-
7. Save the mapping plan, including the reviewed dependency associations below.
|
|
178
|
-
8. Detect authored `blockedSourceDependencies` on the selected target entities, aggregate them
|
|
179
|
-
by `sourceEntityRef`, and write the blocked-data request state and review artifact below.
|
|
180
|
-
9. Write a concise user-review summary after the plan is complete.
|
|
181
|
-
10. Pause for a mapping review checkpoint before downstream setup/codegen work begins.
|
|
182
|
-
|
|
183
|
-
## Artifacts to create or update
|
|
184
|
-
|
|
185
|
-
- `migrations/<project>/mapping/run.json`
|
|
186
|
-
- `migrations/<project>/mapping/mapping-plan.json`
|
|
187
|
-
- `migrations/<project>/mapping/entity-decisions/<entity>.json`
|
|
188
|
-
- `migrations/<project>/mapping/llm-handoff.json`
|
|
189
|
-
- `migrations/<project>/mapping/review/mapping-gaps.json`
|
|
190
|
-
- `migrations/<project>/mapping/review/mapping-plan.md`
|
|
191
|
-
- `migrations/<project>/mapping/review/mapping-summary.md`
|
|
192
|
-
- `migrations/<project>/mapping/review/blocked-data-requests.md`
|
|
193
|
-
- `migrations/<project>/state/blocked-data-requests/<sourceEntityRef-slug>.json`
|
|
194
|
-
- `migrations/<project>/orchestration/checkpoints.json`
|
|
195
|
-
- `migrations/<project>/orchestration/approvals.json`
|
|
196
|
-
|
|
197
|
-
## Target dependency associations
|
|
198
|
-
|
|
199
|
-
For every target dependency consumed by an import, emit
|
|
200
|
-
`dependencyBindings: [{ ref, censusIds: string[] }]` in `mapping/mapping-plan.json`.
|
|
201
|
-
Use canonical `domain/entity` refs and every contributing decision row in the current
|
|
202
|
-
discovered census, including excluded rows. Entity decisions retain their explicit
|
|
203
|
-
`targetRef` and `censusIds`, or the census's implicit `entity:<sourceEntity>` link.
|
|
204
|
-
Show these associations in the mapping review. Missing, ambiguous, duplicate or incomplete
|
|
205
|
-
associations return to mapping; never infer a target from a plugin name or a comment.
|
|
206
|
-
|
|
207
|
-
An excluded dependency is not ready merely because its entity was omitted from the plan.
|
|
208
|
-
Readiness uses the existing census reconciliation and its current identified human approval.
|
|
209
|
-
Every contributing row must be excluded and owner-approved for a whole target ref to be
|
|
210
|
-
`excluded-approved`. Mixed planned/excluded contributions remain mixed. Agent/provisional
|
|
211
|
-
acceptance and finalized-run review do not authorize new writes.
|
|
212
|
-
|
|
213
|
-
When a specific dependent field may be omitted or must defer for an excluded contribution,
|
|
214
|
-
put `dependencyFieldRules: [{ dependentRef, dependencyRef, path, action: "omit" | "defer" }]`
|
|
215
|
-
on that contribution's existing census-linked mapping gap. Render the exact rules in the
|
|
216
|
-
existing review and bind them to its existing hash-based approval. Entity exclusion alone
|
|
217
|
-
never authorizes dropping a field; absent or stale approval defers the affected record.
|
|
218
|
-
|
|
219
|
-
Shipping/tax setup prerequisites remain whole-task prerequisites. Map a single source
|
|
220
|
-
shipping line's title, cost and available delivery details. More than one line defers the
|
|
221
|
-
order with `order-multiple-shipping-lines` and a blocker gap. Select reference omission or
|
|
222
|
-
verified setup references only from the bundled field-level verification conclusions;
|
|
223
|
-
unverified shipping/tax fidelity keeps the affected order deferred. Never invent target
|
|
224
|
-
IDs, combine source lines without an approved disposition, or backfill existing orders.
|
|
225
|
-
|
|
226
|
-
## Blocked source dependencies
|
|
227
|
-
|
|
228
|
-
Read only authored `blockedSourceDependencies[]` from selected target entity knowledge; never
|
|
229
|
-
infer a request from `db-only`, `admin-page-only`, or another channel by itself. Use the shared
|
|
230
|
-
`lib/blocked-data-requests.js` builder to aggregate one request per `sourceEntityRef`, appending
|
|
231
|
-
all dependent target entity/field rows. Resolve each source entity's `blocked[].fulfillment`
|
|
232
|
-
through `rp-source-wordpress/lib/blocked-data-handlers.js`; offer it only when its fixture
|
|
233
|
-
self-test passes. `structure-bridge-plugin` (wix-wp-plugin-v2) has no
|
|
234
|
-
manifest or readiness flag to check beyond that -- authorization is live (denylist +
|
|
235
|
-
`DESCRIBE`) at request time, not a build-time gate. This readiness check is the only
|
|
236
|
-
thing this stage does with a `structure-bridge-plugin` fulfillment: unlike `csv-upload`,
|
|
237
|
-
its actual data is never resolved through this file's `attemptFulfillment()`/snapshot
|
|
238
|
-
mechanism (that path is for a small, static, one-shot document) -- `rp-import-codegen`
|
|
239
|
-
generates a normal incremental reader for it instead, reusing the same `table`/
|
|
240
|
-
`sampleStructureRequest` metadata. See `rp-import-codegen`'s "`structure-bridge-plugin`
|
|
241
|
-
entities" section. Which credential that reader authenticates with depends on whether the
|
|
242
|
-
source site has WooCommerce (Application Password requires it; the migration key does not)
|
|
243
|
-
— `rp-source-wordpress/plugins/README.md`'s "Resolving a db-only capability" section.
|
|
244
|
-
|
|
245
|
-
**Plan structure-bridge-plugin entities with `lib/structure-bridge-planning.js`** before building blocked-data requests. Pass the canonical source entities as
|
|
246
|
-
`sourceEntities` as well as profiles to `planStructureBridgeEntities({ plugins, sourceEntities,
|
|
247
|
-
dataDir })`. Bound entities do not need a profile. Preserve their canonical reference and
|
|
248
|
-
`sourceMeta.extractionPlan` unchanged; do not reconstruct bindings from legacy sidecars.
|
|
249
|
-
For object-shaped source entities retain each object's key/reference while making the array.
|
|
250
|
-
`planStructureBridgeEntities({ plugins, sourceEntities, dataDir })`
|
|
251
|
-
turns each such entity that has `candidateTargetRefs[]` into an entity decision (target,
|
|
252
|
-
readiness, read variant, discovery artifacts). An entity without a candidate target is
|
|
253
|
-
returned in `blockedFieldSources` and stays on the blocked-data path above. Pass the selected
|
|
254
|
-
target entities through `partitionBlockedSourceDependencies(targets, decisions)` and give its
|
|
255
|
-
`targetEntities` to the blocked-data builder, so a planned entity is never also requested as
|
|
256
|
-
a blocked field. Then `writeStructureBridgePlanning(projectDir, decisions)` writes
|
|
257
|
-
`mapping/entity-decisions/<entity>.json` and the `mapping/mapping-plan.json` row. It refuses
|
|
258
|
-
after the mapping review is approved. A rerun refreshes only the fields planning owns and
|
|
259
|
-
keeps field mappings, transformations, relationships and other edits already on the row. An
|
|
260
|
-
EAV read plan that fails its integrity check is a pending reason. A `pending` decision goes to
|
|
261
|
-
the review gate like any other pending row.
|
|
262
|
-
|
|
263
|
-
Persist the request under `state/` as the authority and render
|
|
264
|
-
`mapping/review/blocked-data-requests.md` as a passive review section. This adds no new blocking
|
|
265
|
-
prompt. At an interactive mapping pause, set `askedInteractively: true` only if the request is
|
|
266
|
-
actually shown and a human can decline it. In 1-click mode set it to `false`; an unanswered
|
|
267
|
-
request remains `missing`, never `declined`, because the run did not pause to ask.
|
|
268
|
-
|
|
269
|
-
## Minimum contents of the mapping plan
|
|
270
|
-
|
|
271
|
-
Include for each source entity:
|
|
272
|
-
|
|
273
|
-
- source semantics in this project, especially when the entity name is generic
|
|
274
|
-
(`comment`, `item`, `entry`, `record`, `media`, `user`, etc.). State what the entity
|
|
275
|
-
actually contains here, based on the discovered data, not just the route name.
|
|
276
|
-
- target Wix entity or collection
|
|
277
|
-
- selected `targetRef`, `targetDomain`, `targetEntity`, `targetClassification`,
|
|
278
|
-
`importReliability`, `preferredWrite`, and `knowledgeEvidence` when the decision uses a
|
|
279
|
-
bundled domain entity record
|
|
280
|
-
- when `targetClassification` is `manual-mapping`: the entity's `manualSteps`
|
|
281
|
-
verbatim (prerequisite, actor-tagged steps, mechanism, evidence) instead of field
|
|
282
|
-
mappings/transformation/validation rules below — there is no transform to author, only a
|
|
283
|
-
runbook to carry over unchanged
|
|
284
|
-
- primary key and deduplication strategy
|
|
285
|
-
- field mapping table
|
|
286
|
-
- transformation rules
|
|
287
|
-
- validation rules
|
|
288
|
-
- URL preservation policy for public routed entities
|
|
289
|
-
- unresolved questions
|
|
290
|
-
- setup implications for Wix-side configuration
|
|
291
|
-
- media policy when the entity carries media: whether only referenced media is in scope,
|
|
292
|
-
whether the target accepts external URLs directly, and whether media must exist in Wix
|
|
293
|
-
before create/update
|
|
294
|
-
- `safeModeReplacements[]` when safe mode is enabled, listing every mapped email or phone
|
|
295
|
-
field that enters an outbound Wix payload. Write the same array in both
|
|
296
|
-
`mapping/mapping-plan.json` for the entity decision and
|
|
297
|
-
`mapping/entity-decisions/<entity>.json`.
|
|
298
|
-
- a human-visible safe-mode note in the review markdown whenever any entity has
|
|
299
|
-
`safeModeReplacements[]`, so email/phone replacement coverage is visible without opening
|
|
300
|
-
the JSON artifacts
|
|
301
|
-
|
|
302
|
-
When a source entity is generic or overloaded, the mapping plan must name the concrete
|
|
303
|
-
subtypes or usage contexts it observed. Examples:
|
|
304
|
-
|
|
305
|
-
- `comment`: blog post comments, product reviews, page comments
|
|
306
|
-
- `item`: order line items, catalog items, CMS rows
|
|
307
|
-
- `media`: blog hero images, product gallery assets, downloadable files
|
|
308
|
-
|
|
309
|
-
Do not leave a generic entity label unexplained if the discovered data shows multiple
|
|
310
|
-
real-world meanings.
|
|
311
|
-
|
|
312
|
-
## Safe-mode contact replacement metadata
|
|
313
|
-
|
|
314
|
-
Safe mode is enabled by default through `config/wix.env` unless the user explicitly sets
|
|
315
|
-
`SAFE_MODE=false` before mapping. When enabled, mapping artifacts must emit semantic
|
|
316
|
-
contact-channel metadata so generated imports can replace outbound email and phone values
|
|
317
|
-
through deterministic shared writer code.
|
|
318
|
-
|
|
319
|
-
For every mapped entity, mark fields for safe-mode replacement when source evidence,
|
|
320
|
-
target-Wix domain knowledge, target field semantics, user-directed mappings, CMS/custom
|
|
321
|
-
fields, extended fields, form submissions, metadata, or plugin fields indicate an email or
|
|
322
|
-
phone contact channel.
|
|
323
|
-
|
|
324
|
-
Each `safeModeReplacements[]` entry must include:
|
|
325
|
-
|
|
326
|
-
```json
|
|
327
|
-
{
|
|
328
|
-
"kind": "email",
|
|
329
|
-
"sourcePath": "billing.email",
|
|
330
|
-
"targetPath": "billingInfo.email",
|
|
331
|
-
"required": true,
|
|
332
|
-
"reason": "source and target are email fields"
|
|
333
|
-
}
|
|
334
|
-
```
|
|
335
|
-
|
|
336
|
-
`targetPath` is relative to the Wix-shaped object or request body defined by the mapping
|
|
337
|
-
decision. Use the shared safe-mode path grammar: object fields (`billingInfo.email`,
|
|
338
|
-
`contact.email.email`) and array wildcards (`lineItems[].buyerInfo.email`,
|
|
339
|
-
`contact.additionalEmails[].email`). When the same source value is copied to multiple
|
|
340
|
-
Wix fields, list each target path.
|
|
341
|
-
|
|
342
|
-
Load target-side hints from selected `rp-target-wix` entity records'
|
|
343
|
-
`safeModeContactFields[]` and merge them with source-side evidence and user mapping
|
|
344
|
-
decisions. If `SAFE_MODE=false` before mapping, do not require this metadata for execution.
|
|
345
|
-
|
|
346
|
-
This metadata must be surfaced in **both** machine and human mapping artifacts:
|
|
347
|
-
|
|
348
|
-
- write `safeModeReplacements[]` into `mapping/mapping-plan.json`
|
|
349
|
-
- write the same `safeModeReplacements[]` into `mapping/entity-decisions/<entity>.json`
|
|
350
|
-
- render a per-entity safe-mode line in `mapping/review/mapping-plan.md`
|
|
351
|
-
- when any replacements exist, include a short `Safe mode replacements` section in
|
|
352
|
-
`mapping/review/mapping-summary.md` listing the affected entities and the mapped
|
|
353
|
-
email/phone paths
|
|
354
|
-
|
|
355
|
-
Do not leave safe-mode contact replacement coverage implicit in field tables or only in
|
|
356
|
-
JSON. A reviewer should be able to confirm from the review markdown which outbound
|
|
357
|
-
email/phone fields will be replaced in safe mode.
|
|
358
|
-
|
|
359
|
-
## Variant inventory is part of the catalog plan
|
|
360
|
-
|
|
361
|
-
For each source variant, plan either explicit stock (`inventoryTracked`, `inventoryQuantity`,
|
|
362
|
-
`inStock` canonical fields) or a named inventory gap. Use the source adapter's stock mapper;
|
|
363
|
-
stock flags, quantities, and backorders are different policies. Count every intended variant
|
|
364
|
-
before filtering gaps or failed product mappings. Carry that denominator into inventory
|
|
365
|
-
verification as `expectedCount`. A product count never stands in for inventory coverage.
|
|
366
|
-
Default-location stock is supported; any shared pool, multi-location allocation, preorder,
|
|
367
|
-
or fallback availability needs an explicit mapping decision. The target builder has no
|
|
368
|
-
implicit in-stock default. A legacy explicit `inStock` fallback must not override known
|
|
369
|
-
variant stock. Inventory verification remains required for deliberately excluded stock:
|
|
370
|
-
record the expected destination state and the gap rather than exempting the catalog audit.
|
|
371
|
-
|
|
372
|
-
## Shipping delivery estimate from the merchant
|
|
373
|
-
|
|
374
|
-
When the merchant states a delivery time for a shipping zone in their own words, record it:
|
|
375
|
-
|
|
376
|
-
```bash
|
|
377
|
-
node skills/wix-replatform/scripts/orchestration-state.js decide --project-dir <projectDir> --key shipping-delivery-estimate:<zoneId> --value "<text>" --source user
|
|
378
|
-
```
|
|
379
|
-
|
|
380
|
-
Record it only from the merchant's own words. Never infer it, and never record it with
|
|
381
|
-
`deterministic_inference` or `prior_artifact`: the shipping stage ignores those and lists them,
|
|
382
|
-
so an inferred value can never become a checkout promise.
|
|
383
|
-
|
|
384
|
-
## Identity and deduplication rules
|
|
385
|
-
|
|
386
|
-
Be explicit about the difference between a **source ID** and a **Wix target ID**.
|
|
387
|
-
|
|
388
|
-
- Preserve the **source ID** in the migration artifacts, generated code, local crosswalk
|
|
389
|
-
state, and any optional CMS mirror collections needed for site-local traceability.
|
|
390
|
-
- Do **not** assume native Wix entity IDs can be client-assigned or preserved. For most
|
|
391
|
-
Wix APIs, the target ID is server-assigned.
|
|
392
|
-
- When a target is a native Wix entity whose ID cannot be controlled by the client,
|
|
393
|
-
the mapping plan must define a **local crosswalk strategy**:
|
|
394
|
-
`crosswalkAuthority: "local"`, a per-entity `crosswalkStrategy`, and a
|
|
395
|
-
`reconciliationStrategy` used for dedupe, resume, and relationship resolution.
|
|
396
|
-
- CMS `ImportCrosswalk` is optional. Use `cmsMirror: "none" | "download" | "upload" |
|
|
397
|
-
"download-and-upload"` to request it explicitly. It is a copy/seed adapter for
|
|
398
|
-
existing-site or handoff reference flows, not the required resume authority.
|
|
399
|
-
- Only say an ID is "preserved" when the destination actually has a client-controlled
|
|
400
|
-
field that stores the source ID. Otherwise say the source ID is **tracked** or
|
|
401
|
-
**crosswalked**.
|
|
402
|
-
|
|
403
|
-
### When the destination already exists, map against its LIVE schema
|
|
404
|
-
|
|
405
|
-
`WIX_SITE_STRATEGY=existing` means the target is not an empty site provisioned to this
|
|
406
|
-
mapping's shape — it is a site in use, with its own collections, fields and records. Map
|
|
407
|
-
against what is actually there:
|
|
408
|
-
|
|
409
|
-
- **Read the destination's current schema before proposing a target shape.** A collection
|
|
410
|
-
the site already has, with fields the owner added, is the target — not a new collection
|
|
411
|
-
that happens to fit the source better. Two collections holding the same entity is the
|
|
412
|
-
failure mode here, and it is one the owner has to untangle by hand.
|
|
413
|
-
- **A field that exists but does not match is a GAP, not a migration.** Record it in the
|
|
414
|
-
faithfulness ledger and surface it in the mapping summary; do not plan a schema change
|
|
415
|
-
to a live site, and never plan to drop or retype an existing field.
|
|
416
|
-
- **Every entity needs a natural key, not just a crosswalk entry.** The local crosswalk is
|
|
417
|
-
empty on the first import into a site that already has data, so dedupe has to fall back
|
|
418
|
-
to something the site itself carries — SKU, handle, slug, email. State that key per
|
|
419
|
-
entity in the mapping plan; without it the import cannot tell "already there" from "new"
|
|
420
|
-
and will duplicate the owner's catalog.
|
|
421
|
-
- **Ask whether to set `cmsMirror: "download-and-upload"`; do not set it unconditionally.**
|
|
422
|
-
CMS `ImportCrosswalk` stays optional even on an existing destination — it
|
|
423
|
-
requires the user to opt into site-local reference data, because Wix CMS quotas are
|
|
424
|
-
plan-based and shared across every custom collection on the site, and a mirror the size of
|
|
425
|
-
a large migration's crosswalk can consume a meaningful share of a lower-tier plan's quota.
|
|
426
|
-
When the user does opt in, note that the on-site `ImportCrosswalk` becomes the only record
|
|
427
|
-
of prior imports visible to a run that does not share this project's local state — that is
|
|
428
|
-
the reason to offer it, not a reason to default to it.
|
|
429
|
-
- **Say so in the mapping summary.** The user reviewing the plan must see that it targets a
|
|
430
|
-
site they already own, and which of their existing entities it expects to match.
|
|
431
|
-
|
|
432
|
-
## URL preservation policy
|
|
433
|
-
|
|
434
|
-
For every in-scope source entity that appears on the public website, include an explicit
|
|
435
|
-
`urlPolicy` in `mapping/mapping-plan.json` and the relevant
|
|
436
|
-
`mapping/entity-decisions/<entity>.json` artifact.
|
|
437
|
-
|
|
438
|
-
Minimum `urlPolicy` fields:
|
|
439
|
-
|
|
440
|
-
- `public`: `true` for public routed entities; `false` for entities intentionally outside
|
|
441
|
-
URL preservation.
|
|
442
|
-
- `sourceBasePath`: the observed source base path, such as `/shop/products`; use `null`
|
|
443
|
-
only when the source URL cannot be derived and record that risk.
|
|
444
|
-
- `sourceSlugField`: source field holding the slug, when present.
|
|
445
|
-
- `sourceUrlField`: source field holding the full/permalink URL, when present.
|
|
446
|
-
- `targetBasePath`: known Wix destination base path, or `null` when website-builder route
|
|
447
|
-
selection is deferred.
|
|
448
|
-
- `targetSlugField`: planned target slug field, when applicable.
|
|
449
|
-
- `preserveBasePath`: whether the future website-builder phase should try to preserve the
|
|
450
|
-
source base path.
|
|
451
|
-
- `preserveSlug`: whether generated code should preserve the source slug unless target
|
|
452
|
-
validation or collision handling forces a change.
|
|
453
|
-
- `redirectMode`: `record-if-different`, `manual-review`, or `none`.
|
|
454
|
-
|
|
455
|
-
When recording a base-path `manual_review` outcome, persist its concrete `reasonCodes`
|
|
456
|
-
and evidence in the existing base-path state, not only the status or an unexplained note.
|
|
457
|
-
If the sole issue is waiting for a destination route, use `target_route_unknown` (or the
|
|
458
|
-
existing `target_url_missing`, `pending_target_route`, `final_route_missing` reason).
|
|
459
|
-
The redirect planner can settle that uncertainty per exact source entity/final route.
|
|
460
|
-
Keep privacy, explicit operator restrictions and other causes distinct; a final destination
|
|
461
|
-
does not clear those. Include every applicable reason. Do not reclassify an unexplained
|
|
462
|
-
historical hold as routing-only merely because a convenient target exists; establish the
|
|
463
|
-
original reason from evidence or report the missing explanation for review.
|
|
464
|
-
|
|
465
|
-
If the same source entity type has multiple public route shapes, record each observed
|
|
466
|
-
route class separately instead of guessing one base path. Slugs are identity and SEO data,
|
|
467
|
-
but slug preservation alone is not URL preservation; route/base-path intent must be
|
|
468
|
-
captured as data for the future website-builder phase.
|
|
469
|
-
|
|
470
|
-
Mapping review artifacts must include a short `URL preservation` section listing:
|
|
471
|
-
|
|
472
|
-
- public entity types with source base paths
|
|
473
|
-
- whether base paths should be preserved
|
|
474
|
-
- entities whose target route is deferred to the website-builder phase
|
|
475
|
-
- known slug normalization, collision, route, or redirect risks
|
|
476
|
-
- detected redirect providers (Redirection, Rank Math, Yoast Premium, server/CDN rules) with
|
|
477
|
-
their coverage status from `state/url-preservation/source-redirect-coverage.json`; an
|
|
478
|
-
`unreadable` or `unsupported` provider is an extraction gap the operator must see, never
|
|
479
|
-
an empty map
|
|
480
|
-
|
|
481
|
-
Source-authored redirect rules are URL obligations in their own right: an old address can
|
|
482
|
-
still receive traffic without being the address of any current page. Do not drop them
|
|
483
|
-
because they have no current entity, and do not reactivate disabled ones.
|
|
484
|
-
|
|
485
|
-
## Product SEO
|
|
486
|
-
|
|
487
|
-
Map WooCommerce/Yoast product SEO to `product.seoEvidence` (per-field `override` / `inherit` /
|
|
488
|
-
`unknown`), never to `product.seoTitle`/`seoDescription`. Rendered `yoast_head_json`, `og_*`
|
|
489
|
-
and excerpts are not evidence and are never a fallback. Title and description are decided
|
|
490
|
-
separately. Unknown evidence is held for an explicit owner choice (acquire evidence, omit, or
|
|
491
|
-
materialize); the mapping never picks one. Canonical, robots, schema, social tags and focus
|
|
492
|
-
keyphrases are not written; list them in the mapping review as not migrated. SEO patterns are
|
|
493
|
-
never inferred from repeated rendered output.
|
|
494
|
-
|
|
495
|
-
## Verifying Wix APIs
|
|
496
|
-
|
|
497
|
-
Confirm exact Wix entity/collection/field names before mapping a source field onto
|
|
498
|
-
them — never invent a Wix API or field name.
|
|
499
|
-
|
|
500
|
-
When the mapping depends on Wix runtime behavior rather than just field names, verify and
|
|
501
|
-
follow the relevant `rp-target-wix` contract as well. Examples include create ordering,
|
|
502
|
-
native tag handling, category assignment requirements, member prerequisites, and whether a
|
|
503
|
-
product/media field should be sent as an external URL for Wix-side ingestion.
|
|
504
|
-
|
|
505
|
-
For entity suitability, do not grep or paste whole domain files into the plan. Use:
|
|
506
|
-
|
|
507
|
-
```bash
|
|
508
|
-
node skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge.js summarize-entities --refs <domain/entity,...>
|
|
509
|
-
```
|
|
510
|
-
|
|
511
|
-
Load full entity records only for selected candidates that materially affect the current
|
|
512
|
-
project.
|
|
513
|
-
|
|
514
|
-
- Verify enum **values**, not just names: every `Field.type` you assign must be a real
|
|
515
|
-
member of the Create Data Collection `Type` enum. Never assign a guessed enum value and
|
|
516
|
-
flag it `unverified`; resolve it or omit it. (`SLUG` **does** exist in that enum — it is
|
|
517
|
-
documented for dynamic page URLs. Prefer `TEXT` when the field carries a *preserved source*
|
|
518
|
-
slug as identity/SEO data, and `SLUG` only when the target itself generates the dynamic-page
|
|
519
|
-
URL from it; both are real choices, so do not record `SLUG` as unavailable.)
|
|
520
|
-
- If a Wix tool surface such as Wix MCP is available in the runtime, use it as a fast
|
|
521
|
-
verification aid for entity, field, enum, app, and setup names.
|
|
522
|
-
- If no Wix tool surface is available, rely on `rp-target-wix`'s verified contracts plus
|
|
523
|
-
published Wix REST/SDK documentation and conservative, known-good names. Mark anything
|
|
524
|
-
you could not verify directly as `unverified` in the mapping plan so it is surfaced
|
|
525
|
-
before execution.
|
|
526
|
-
|
|
527
|
-
## Runtime policy
|
|
528
|
-
|
|
529
|
-
Resolve ambiguous mappings using the documented default, record the decision and rationale
|
|
530
|
-
under the machine mapping artifacts and render them into `mapping/review/mapping-plan.md`,
|
|
531
|
-
and keep going. Known fidelity forks
|
|
532
|
-
(e.g. comments anonymize vs. skip) should already be answered by the submission intake;
|
|
533
|
-
apply those answers rather than re-asking. If a required input is truly missing, surface it
|
|
534
|
-
as a blocker rather than silently guessing.
|
|
535
|
-
|
|
536
|
-
If the source entity name is generic but the observed data disambiguates it, record that
|
|
537
|
-
disambiguation explicitly in the machine mapping artifacts and review plan. Do not force later stages to infer what
|
|
538
|
-
"comments", "items", or similarly broad labels meant in this specific migration.
|
|
539
|
-
|
|
540
|
-
## Faithfulness ledger (detect lossiness here, early)
|
|
541
|
-
|
|
542
|
-
The mapping stage is where lossiness and coverage gaps are *discovered*, so it is where
|
|
543
|
-
they must be *recorded* — not at execute time, which is too late to do anything but
|
|
544
|
-
report. Maintain a **faithfulness ledger** in `mapping/review/mapping-gaps.json` and render it
|
|
545
|
-
into `mapping/review/mapping-plan.md`, listing everything that
|
|
546
|
-
will not migrate cleanly, including:
|
|
547
|
-
|
|
548
|
-
- fields/relationships flattened or dropped (e.g. hierarchy → flat),
|
|
549
|
-
- entities skipped (e.g. gated PII),
|
|
550
|
-
- **targets with no verified Wix primitive** — if Wix has a native entity, record that
|
|
551
|
-
codegen must use an `unverified` native REST path and notify the RePlatform team about
|
|
552
|
-
the missing writer. Use CMS only when no suitable native Wix entity exists, or when the
|
|
553
|
-
native entity is rejected for fidelity/side-effect reasons.
|
|
554
|
-
|
|
555
|
-
**Mandatory trigger — plugin coverage.** Every row in `discovery/plugin-coverage.json` whose
|
|
556
|
-
status is not `migration-planned` must produce a `mapping/review/mapping-gaps.json` entry
|
|
557
|
-
carrying the capability, the status, and the row's user-facing impact line — and so must a
|
|
558
|
-
`migration-planned` row that is lossy or carries `blocked[]` entries. This is what makes
|
|
559
|
-
plugin loss visible: a capability the pipeline discovered but could not deliver has to reach
|
|
560
|
-
the execution-plan report, and the ledger is the only path there.
|
|
561
|
-
|
|
562
|
-
Each such entry must also carry a `severity`, because a plugin-heavy site produces far more
|
|
563
|
-
rows than it has real problems — on a 55-plugin store, 26 rows were "we don't recognise this
|
|
564
|
-
plugin", which would bury the entries that matter if they all read alike. Use the same
|
|
565
|
-
vocabulary as profile pitfalls:
|
|
566
|
-
|
|
567
|
-
| `severity` | Means | Typical rows |
|
|
568
|
-
| --- | --- | --- |
|
|
569
|
-
| `blocker` | data the user would care about is not coming across | `requires-development`; a `blocked[]` entry still unresolved or declined |
|
|
570
|
-
| `warning` | it migrates lossily, or we are not sure yet | `pending` (including `cannot-tell`); `migration-planned · via cms` where the source is semantically richer |
|
|
571
|
-
| `info` | accounted for, nothing lost that we know of | `no-need-to-migrate` with `basis: proposed`; `migration-planned · proposed` with no known loss |
|
|
572
|
-
|
|
573
|
-
The execution-plan report leads with `blocker` and `warning` and summarizes `info` as a count
|
|
574
|
-
with a pointer. Severity is a **rendering** aid, not permission to omit: every row still gets
|
|
575
|
-
an entry, so the audit trail stays complete and a mis-severitied row can be found later.
|
|
576
|
-
|
|
577
|
-
**Mandatory trigger — source coverage.** Every row in `discovery/source-coverage.json` needs
|
|
578
|
-
**exactly one** disposition, and `scripts/coverage-reconcile.js check <project>` exits 2 until it
|
|
579
|
-
has one (the router holds the run at mapping meanwhile):
|
|
580
|
-
|
|
581
|
-
- a `mapping/review/mapping-gaps.json` entry carrying the row's `coverageId` (the usual case:
|
|
582
|
-
severity `blocker` for an in-scope capability, with `recommendedHandling`); or
|
|
583
|
-
- a `sourceCoverage:<coverageId>` decision — `provided` when discovery was re-run and the entity
|
|
584
|
-
now exists in `source-schema.json`, `declined` when the user skipped it. Record it only with
|
|
585
|
-
`scripts/coverage-reconcile.js decide <project> --coverage-id <id> --value provided|declined`,
|
|
586
|
-
which also removes that row's gap entry in the same write; or
|
|
587
|
-
- for a quick adapter only, its own declared exclusion (already on the row).
|
|
588
|
-
|
|
589
|
-
Two dispositions for one row (two gap entries, a gap plus a decision, a declared exclusion plus
|
|
590
|
-
anything) fail as `disposition_conflict`; there is no precedence rule. A `provided` decision whose
|
|
591
|
-
entity is not in `source-schema.json` fails as `disposition_stale`. A gap may cite an existing
|
|
592
|
-
human gate, never create one: `gate: "exclusion"` with `gateEvidence: { register:
|
|
593
|
-
"no-migration-needed", capability }` only on an `adapter-excluded` row whose signed register entry
|
|
594
|
-
names that row's own capability, or `gate: "loss-accepted"` with `gateEvidence` naming a signed
|
|
595
|
-
register entry (`register`, `capability`) or the approved mapping review (`approval: "mapping"`).
|
|
596
|
-
Any other pairing fails as `gate_reason_mismatch`; a cited gate that does not exist fails as
|
|
597
|
-
`gate_missing`. Every outcome reaches the completion report; see `rp-execute-import`.
|
|
598
|
-
|
|
599
|
-
Additional plugin rules:
|
|
600
|
-
|
|
601
|
-
- Resolve targets from `sourceMeta.candidateTargetRefs[]` first, then
|
|
602
|
-
`domain-knowledge.js resolve-source`, then the target knowledge base's capability index
|
|
603
|
-
keyed on `sourceMeta.capability`.
|
|
604
|
-
- **Derived entities (`sourceMeta.recognized: false`) may only be mapped to a native Wix
|
|
605
|
-
entity when the domain knowledge confirms the capability.** Otherwise map them to CMS. The
|
|
606
|
-
proposed capability from discovery is recorded with `confidence: proposed`, never a
|
|
607
|
-
target decision — treating a guess as native is how a silent, lossy write happens.
|
|
608
|
-
- **Every capability, recognized or derived, needs its pairing written down: plugin details
|
|
609
|
-
against Wix details.** In `mapping/review/mapping-plan.md`, per capability: the source
|
|
610
|
-
entity and the fields it actually carries, the target entity and the fields it expects,
|
|
611
|
-
which source field lands in which target field, and which carry nowhere. In
|
|
612
|
-
`mapping/review/mapping-summary.md`, one line naming the source, the target, and the single
|
|
613
|
-
consequence that matters. For a derived capability, say in both that the mapping is
|
|
614
|
-
**proposed** rather than confirmed — a reviewer must be able to tell a guess from an
|
|
615
|
-
authored match. Without the pairing the user is approving a target name, not a mapping.
|
|
616
|
-
- A `no-need-to-migrate` row with `basis: proposed` (the agent's own reading, not a list
|
|
617
|
-
entry) is also listed in `mapping-summary.md` — automation deciding there is nothing to
|
|
618
|
-
move is a decision worth seeing.
|
|
619
|
-
- Carry each plugin entity's profile `pitfalls[]` into the plan, and surface `blocker`
|
|
620
|
-
severities in `mapping/review/mapping-summary.md`.
|
|
621
|
-
- **A capability read through a plugin-specific credential is disclosed up front.** When a
|
|
622
|
-
profile declares `credentials[]` (a plugin's own API key or secret, beyond the platform
|
|
623
|
-
admin credential — e.g. Subscriptions For WooCommerce's plugin-generated
|
|
624
|
-
`consumer_secret`), the capability's row in `mapping/review/mapping-plan.md` states the
|
|
625
|
-
credential prerequisite (what key, where the user finds or enables it in the source
|
|
626
|
-
admin), and `mapping-summary.md` carries one line listing every capability that will ask
|
|
627
|
-
for such a key. The user learns this at the mapping review, not first as a surprise
|
|
628
|
-
`blocked: credential` ask mid-run; the run-time collection still goes through the
|
|
629
|
-
standard batched blocked-and-recoverable ask.
|
|
630
|
-
- Any capability landing in CMS adds two setup implications to the summary: the **Wix Data app
|
|
631
|
-
install**, and **creating each collection** (no verified writer yet, so it is manual). A CMS
|
|
632
|
-
row presented without them reads as more automatic than it is.
|
|
633
|
-
- `requires-development` and `pending` rows belong in the summary's gaps section in plain
|
|
634
|
-
language, even though there is no mapping to make for them.
|
|
635
|
-
- A `targetClassification: "manual-mapping"` entity becomes a checklist item in
|
|
636
|
-
`mapping-summary.md`'s `Manual steps you need to complete` section (see "The manual-steps
|
|
637
|
-
section"), not a section of its own — one consolidated list is what makes the handover
|
|
638
|
-
readable, and a per-entity section splits it. Carry over its `manualSteps.steps[]` as a
|
|
639
|
-
numbered list under that item, not a one-line summary; the point is to hand over a runbook,
|
|
640
|
-
not to compress it. **Do not** put these rows in the pending/gaps section: unlike `pending`,
|
|
641
|
-
a manual-mapping row is a complete, decided mapping the moment it is authored with real
|
|
642
|
-
evidence — there is nothing left for a human to decide, only steps for the merchant to
|
|
643
|
-
execute. It needs no verdict at the review gate below.
|
|
644
|
-
|
|
645
|
-
**Mandatory step — pending rows are decided at the review gate.** The mapping review is the
|
|
646
|
-
single human gate and **the only exit from Pending**: every `pending` row is put to the user
|
|
647
|
-
for a decision, none may survive the gate undecided. Four verdicts, each with a producer:
|
|
648
|
-
|
|
649
|
-
- **"We can migrate it"** — record the chosen target and move the row to *Migration planned*
|
|
650
|
-
in the plan (its `confidence` stays `proposed` until a profile is authored) — when the
|
|
651
|
-
capability has no REST route, follow `rp-source-wordpress/plugins/README.md`'s "Resolving
|
|
652
|
-
a db-only capability" order (try wix-wp-plugin-v2's structure-bridge-plugin before
|
|
653
|
-
defaulting to a `user-file`/csv-upload ask) before authoring the profile.
|
|
654
|
-
- **"Nothing to move"** — the row becomes *No need to migrate* with `basis: decision` and the
|
|
655
|
-
user's stated reason as its `rationale`.
|
|
656
|
-
- **"Wix has no surface — build it first"** — the row becomes *Requires development*: write it
|
|
657
|
-
to `mapping/review/mapping-gaps.json` with severity `blocker`, emit an `api_gap` telemetry
|
|
658
|
-
event, and record the verdict in the human-signed register
|
|
659
|
-
(`plugins/requires-development.json`, `decidedBy` = the user) citing the recorded search.
|
|
660
|
-
- **"The surface exists, we did not know it"** — telemetry only (`source_plugin_coverage`
|
|
661
|
-
carries the decision); the profile or domain entity is authored between runs, never during
|
|
662
|
-
this one.
|
|
663
|
-
|
|
664
|
-
Record each decision in `orchestration/decisions.json`; blocked-row asks batched at discovery
|
|
665
|
-
use the key `pluginBlocker:<capability>:<kind>` with value `provided` or `declined`.
|
|
666
|
-
|
|
667
|
-
**Mandatory step — the CMS-fallback ask (recognized capabilities).** A profile never names a
|
|
668
|
-
CMS target. CMS is reachable for a recognized capability only when a human signed it as an
|
|
669
|
-
*eligible* fallback (`plugins/cms-fallback-eligible.json`) **and** this migration's merchant
|
|
670
|
-
approves it. Such a row arrives `pending` with `cmsFallback.eligible: true` and one of these
|
|
671
|
-
reasons; each is one more closed question on that pending row at the same review:
|
|
672
|
-
|
|
673
|
-
- `cms-fallback-awaiting-approval` / `cms-fallback-decision-stale` — ask: *approve archiving
|
|
674
|
-
these records in Wix CMS*, or *decline*. Show the row's record counts, the proposed
|
|
675
|
-
collection(s) (`cmsFallback.proposedTargetRefsByEntity`) and the `cmsFallback.featureLoss`
|
|
676
|
-
sentence **verbatim**. Never present CMS archival as restoring the plugin's feature. A stale
|
|
677
|
-
row's earlier answer (`cmsFallback.staleDecision`, or `invalidDecision` for a hand-edited or
|
|
678
|
-
malformed entry) no longer applies; ask again.
|
|
679
|
-
- `cms-fallback-declined` — already answered; nothing goes to CMS. It stays `pending`: offer
|
|
680
|
-
the ordinary pending verdicts above if the merchant wants to settle it another way.
|
|
681
|
-
Declining CMS is never recorded as accepted data loss, `no-need-to-migrate` or
|
|
682
|
-
`requires-development`.
|
|
683
|
-
- `cms-fallback-target-knowledge-unavailable` — not askable: Wix target knowledge failed to
|
|
684
|
-
load, so "nothing native fits" is unproven. Report it; rerun once it loads.
|
|
685
|
-
|
|
686
|
-
Record the answer only with the dedicated writer (the generic `decide` rejects the key):
|
|
687
|
-
|
|
688
|
-
```bash
|
|
689
|
-
node skills/wix-replatform/scripts/orchestration-state.js decide-cms-fallback \
|
|
690
|
-
--project-dir <project> --capability <capability> --value approved|declined \
|
|
691
|
-
--approved-by "<the name or role the person gave>"
|
|
692
|
-
```
|
|
693
|
-
|
|
694
|
-
It writes `pluginCmsFallback:<capability>` bound to the proposal on the coverage row
|
|
695
|
-
(`proposalDigest`), resets the mapping approval to pending, and the router then reclassifies
|
|
696
|
-
coverage and sends you back here to regenerate the plan. **One-click and unattended runs never
|
|
697
|
-
record this answer**: an agent-accepted mapping checkpoint leaves these rows pending, nothing is
|
|
698
|
-
written to CMS for them, and completion reports them. The writer itself refuses (exits
|
|
699
|
-
non-zero) whenever `automationMode` is `one_click`; do not work around it. A row that is `migration-planned · via cms`
|
|
700
|
-
with `cmsFallback.functionalityRestored: false` is CMS-by-approval; map it to exactly
|
|
701
|
-
`targetRefs` (the register's refs), and add the CMS setup implications below plus one
|
|
702
|
-
`mapping-summary.md` line with the `featureLoss` sentence.
|
|
703
|
-
|
|
704
|
-
`mapping-gaps.json` severities for these rows: every pending CMS-fallback row (awaiting, stale,
|
|
705
|
-
declined, target knowledge unavailable) is `warning`; an approved row is also `warning` (lossy by
|
|
706
|
-
definition) and carries the `featureLoss` sentence. Each `plugin-coverage.json`
|
|
707
|
-
`cmsFallbackDecisionIssues[]` entry (a malformed answer for a capability with no row) is one
|
|
708
|
-
`info` item. A row carrying `cmsFallbackDecisionIgnored` (a native target now resolves, or the
|
|
709
|
-
eligibility was removed) is reported with that reason so the earlier answer is visibly retired.
|
|
710
|
-
|
|
711
|
-
**Mandatory step — bind the plan to the coverage it was built from.** After writing
|
|
712
|
-
`mapping/mapping-plan.json`, stamp it (a no-op when the project has no plugin coverage):
|
|
713
|
-
|
|
714
|
-
```bash
|
|
715
|
-
node skills/wix-replatform/scripts/cms-fallback.js stamp-plan --project-dir <project> --plan mapping
|
|
716
|
-
```
|
|
717
|
-
|
|
718
|
-
This copies `discovery/plugin-coverage.json` `inputs.cmsFallbackDigest` into
|
|
719
|
-
`mapping-plan.json` `inputs.cmsFallbackDigest`. The router treats a plan without it, or with a
|
|
720
|
-
different one, as stale (`mapping_plan_stale_cms_fallback`) and routes back here, including on
|
|
721
|
-
one-click runs.
|
|
722
|
-
|
|
723
|
-
**Mandatory trigger — hierarchical source taxonomy → flat Wix target.** When a source
|
|
724
|
-
entity carries `"hierarchical": true` (or any `parent` self-relation) in
|
|
725
|
-
`source-schema.json` and maps to a flat Wix target such as Blog categories, you **must**
|
|
726
|
-
write a faithfulness-ledger entry recording that the parent/child hierarchy is dropped on
|
|
727
|
-
import (the Wix Blog category target is flat — it has no parent/child relationship). This
|
|
728
|
-
is not optional discipline: the flag exists precisely so
|
|
729
|
-
the warning is data-driven. Do not map such a taxonomy without the ledger entry. (If
|
|
730
|
-
hierarchy must be preserved, the alternative is a CMS-collection taxonomy with a `parent`
|
|
731
|
-
reference field — note that trade-off in the ledger instead.)
|
|
732
|
-
|
|
733
|
-
This ledger is the source the execution-plan report draws from to surface "what we won't
|
|
734
|
-
do" to the user **before** consent (`rp-execute-import`). If it isn't recorded here, the
|
|
735
|
-
user can't be warned there.
|
|
736
|
-
|
|
737
|
-
Every selected entity whose domain knowledge includes `IMPORT_UNRELIABLE` must create a
|
|
738
|
-
`mapping/review/mapping-gaps.json` entry with the same fixed flag string, the selected
|
|
739
|
-
`targetRef`, a project-specific summary, and the chosen fallback or review action.
|
|
740
|
-
|
|
741
|
-
**Mandatory check — every in-scope entity's dependencies are also in scope.** Run it directly, do
|
|
742
|
-
not re-derive it by reading prose:
|
|
743
|
-
|
|
744
|
-
```bash
|
|
745
|
-
node skills/wix-replatform/resources/rp-target-wix/scripts/domain-knowledge-validate.js \
|
|
746
|
-
--check-scope <comma-separated domain/entity refs in the mapping plan>
|
|
747
|
-
```
|
|
748
|
-
|
|
749
|
-
Pass only the plan's own selected refs — `checkScope` walks the `dependsOn` transitive closure
|
|
750
|
-
itself starting from that list, so do not pre-expand it by hand. It fails closed on three distinct,
|
|
751
|
-
named problems, any one of which is a gap the user must resolve at the gate before proceeding:
|
|
752
|
-
|
|
753
|
-
- **Unknown ref** — something in your selected list doesn't resolve to a real `domain/entity`
|
|
754
|
-
file (typo, stale ref). Fix the ref.
|
|
755
|
-
- **Missing dependency** — a reachable `dependsOn` has no selected producer. Resolve it
|
|
756
|
-
through an import task, bound setup steps, or the reviewed census exclusion path above. The structural scope checker must receive the full canonical dependency inventory, including refs assigned to setup or exclusion; including a ref in that inventory does not select an import entity or approve a disposition. Producer binding and current owner approval are checked separately before codegen/run.
|
|
757
|
-
Record the association and exact field rule where needed; a prose best-effort exception
|
|
758
|
-
cannot make an unresolved reference writable.
|
|
759
|
-
- **Unreviewed** — an entity reachable from your selection has never had `dependsOn` authored at
|
|
760
|
-
all (distinct from "reviewed, no dependencies"). `--list-missing-deps` shows the same backlog
|
|
761
|
-
outside the context of any one plan.
|
|
762
|
-
|
|
763
|
-
A clean `--check-scope` result means only this plan's own reachable set is fully reviewed and
|
|
764
|
-
in scope — it says nothing about entities outside that reachable set. `checkScope` walks from
|
|
765
|
-
your selected refs, not from the whole domain tree, so an unrelated entity with no `dependsOn`
|
|
766
|
-
authored at all stays invisible to this gate until some plan actually reaches it. Run
|
|
767
|
-
`--list-missing-deps` (unscoped, whole-repo) separately to see the standing backlog.
|
|
768
|
-
|
|
769
|
-
**As of this pass, only 19 of 62 entities in this repo have `dependsOn` authored** — expect to hit
|
|
770
|
-
**Unreviewed** on most real plans today, not just as an edge case. That is not this gate failing;
|
|
771
|
-
it is the gate doing its job on a knowledge base that is still mid-backfill. When it happens:
|
|
772
|
-
author `dependsOn` on the reachable entity now, as part of the mapping work you are already
|
|
773
|
-
doing — deciding a mapping plan already means knowing what that entity depends on, so this is
|
|
774
|
-
recording that decision, not new research — then re-run `--check-scope`. Do not treat Unreviewed as
|
|
775
|
-
a reason to skip the gate or fall back to reading prose by hand for that entity.
|
|
776
|
-
|
|
777
|
-
Do not expand the selection to the full transitively-reachable set by hand before calling
|
|
778
|
-
`--check-scope`. `checkScope` performs the walk itself; pass it your plan's actual selection and
|
|
779
|
-
nothing more.
|
|
780
|
-
|
|
781
|
-
## Default media scope
|
|
782
|
-
|
|
783
|
-
Default to importing only media referenced by in-scope entities such as posts, products,
|
|
784
|
-
collections, categories, or CMS rows that are actually being migrated. Unattached
|
|
785
|
-
source-library media is out of scope by default unless the user explicitly asks for a
|
|
786
|
-
library/archive migration.
|
|
787
|
-
|
|
788
|
-
When an entity carries media, consult `rp-target-wix` for the target behavior:
|
|
789
|
-
|
|
790
|
-
- if the target accepts external URLs and ingests them in the background, prefer that
|
|
791
|
-
path
|
|
792
|
-
- otherwise require media import to Wix first, then attach the resulting Wix media id
|
|
793
|
-
|
|
794
|
-
## Mapping summary for user review
|
|
795
|
-
|
|
796
|
-
After `mapping/mapping-plan.json` is written, create
|
|
797
|
-
`migrations/<project>/mapping/review/mapping-summary.md` as a
|
|
798
|
-
short review artifact for the user. Its purpose is to make the mapping decision easy to
|
|
799
|
-
review without forcing the user through the full plan.
|
|
800
|
-
|
|
801
|
-
The summary should:
|
|
802
|
-
|
|
803
|
-
- explicitly say that full details live in `mapping/review/mapping-plan.md`
|
|
804
|
-
- **carry a `Manual steps you need to complete` section — required, always present, placed
|
|
805
|
-
immediately after the opening and ahead of the entity mappings.** See "The manual-steps
|
|
806
|
-
section" below; it is the one place the user learns what stays their job
|
|
807
|
-
- list each in-scope source entity and its planned Wix target
|
|
808
|
-
- call out the main gaps, lossy transformations, skipped entities, and `unverified`
|
|
809
|
-
target paths from the faithfulness ledger
|
|
810
|
-
- summarize public URL preservation: source base paths, deferred target routes, and slug
|
|
811
|
-
or redirect risks that affect approval
|
|
812
|
-
- mention the biggest setup implications the user should know now (for example: required
|
|
813
|
-
Wix apps, required CMS collections, optional CMS crosswalk mirror, media reachability
|
|
814
|
-
caveat)
|
|
815
|
-
- when safe mode is enabled and any replacements exist, include a short summary of which
|
|
816
|
-
entities have outbound email/phone replacements and where they apply
|
|
817
|
-
- surface unresolved questions only when they materially affect whether the user should
|
|
818
|
-
approve the mapping
|
|
819
|
-
|
|
820
|
-
Keep it concise. The user should be able to decide "yes, this is the right migration
|
|
821
|
-
shape" from this file alone, then consult `mapping/review/mapping-plan.md` only when they want detail.
|
|
822
|
-
|
|
823
|
-
Recommended structure:
|
|
824
|
-
|
|
825
|
-
- one-sentence purpose / pointer to `mapping/review/mapping-plan.md`
|
|
826
|
-
- **`Manual steps you need to complete`** — required, in this position, never further down
|
|
827
|
-
- `Source -> Wix targets`
|
|
828
|
-
- `Plugin coverage` (when the source reported plugins): one line per capability that is not
|
|
829
|
-
`migration-planned · confirmed`, in the user's terms, plus anything they must supply or
|
|
830
|
-
accept losing
|
|
831
|
-
- `URL preservation`
|
|
832
|
-
- `Main gaps / lossiness`
|
|
833
|
-
- `Important setup implications`
|
|
834
|
-
- `Safe mode replacements` when applicable
|
|
835
|
-
- `Questions or risks to confirm`
|
|
836
|
-
|
|
837
|
-
Do not restate full field tables or detailed transformation rules here unless a specific
|
|
838
|
-
field-level issue is central to the approval decision.
|
|
839
|
-
|
|
840
|
-
## The manual-steps section
|
|
841
|
-
|
|
842
|
-
The user can otherwise approve a migration without understanding what they still have to do
|
|
843
|
-
themselves. Payment setup, a domain/DNS cutover, add-on work, app installs and permissions
|
|
844
|
-
are scattered across setup notes, gaps and per-entity runbooks — or missing altogether. This
|
|
845
|
-
section is the single consolidated list, and it is **not** optional.
|
|
846
|
-
|
|
847
|
-
Write it as a **numbered checklist**, each item carrying:
|
|
848
|
-
|
|
849
|
-
- a clear **action title** and short instructions — what to do and where to do it
|
|
850
|
-
- **who must act**, when that is someone other than the user
|
|
851
|
-
- any **prerequisite**
|
|
852
|
-
- **what stays unavailable until it is done**
|
|
853
|
-
- **when it is needed**, which is also the sort order: before import → before launch →
|
|
854
|
-
optional follow-up
|
|
855
|
-
|
|
856
|
-
Mark an item optional only when skipping it genuinely is acceptable. Necessary redirect work
|
|
857
|
-
is not optional by default.
|
|
858
|
-
|
|
859
|
-
**Where the items come from.** Gather from the plan and the mapping inputs already in hand —
|
|
860
|
-
`manualSteps` on target entities, `setupRequirements`, `reconfigure-in-wix` hints in
|
|
861
|
-
`no-migration-needed.json`, actionable rows in the faithfulness ledger, and known
|
|
862
|
-
domain/launch requirements. Notification, consent and redirect follow-up belong here when it
|
|
863
|
-
is known at mapping time and needs the user to act.
|
|
864
|
-
|
|
865
|
-
**Coverage prompts, not a checklist to copy.** Include only work actually still needed for
|
|
866
|
-
this source, destination and plan:
|
|
867
|
-
|
|
868
|
-
| Manual action | What the user needs to know |
|
|
869
|
-
| --- | --- |
|
|
870
|
-
| Set up payments | Connect and activate the payment provider in Wix before taking payments. Payment setup is currently manual. |
|
|
871
|
-
| Connect the domain / change DNS | Follow the destination's domain-connection instructions at the domain provider when ready to switch the live site. Say that this changes where visitors go — never present it as an immediate pre-import task. |
|
|
872
|
-
| Finish product add-ons | Name the actual add-on behaviour that stays manual, the affected products or groups, and the agreed work to make it available. "Configure the add-on plugin" alone is not an instruction. |
|
|
873
|
-
| Complete other required setup | Applicable app installs, permission scopes, plans, CMS collections, sales-channel connections and other reconfiguration found during mapping. |
|
|
874
|
-
|
|
875
|
-
Where an action's details are not yet known, say what must be confirmed. Never invent a
|
|
876
|
-
setting, a screen or a step.
|
|
877
|
-
|
|
878
|
-
**Keep every step of an existing runbook.** A `manual-mapping` entity's `manualSteps.steps[]`
|
|
879
|
-
is carried in full under its checklist item — `prerequisite` as its own "before you start"
|
|
880
|
-
line, `mechanism` as "how it behaves once connected". A compressed runbook is not actionable.
|
|
881
|
-
List a shared setup action **once**, naming every capability it covers.
|
|
882
|
-
|
|
883
|
-
**Manual actions are not unresolved gaps.** A known manual procedure belongs here. An
|
|
884
|
-
unsupported feature, or an approach nobody has agreed yet, stays in the gaps/questions
|
|
885
|
-
section until there is an agreed action — detecting a plugin does not prove its behaviour can
|
|
886
|
-
be recreated by hand in Wix. If it needs development, say so in the gaps section; list a
|
|
887
|
-
manual workaround only once it is agreed. A gap that does have an actionable workaround may
|
|
888
|
-
link to its checklist item.
|
|
889
|
-
|
|
890
|
-
**Check the list before the summary goes to the user.** Reconcile it against the mapping plan,
|
|
891
|
-
the manual runbooks, `setupRequirements`, the actionable gaps and the known launch
|
|
892
|
-
requirements. Work the agent will perform automatically is **not** a user task and must not
|
|
893
|
-
appear. Refresh the section whenever the mapping changes.
|
|
894
|
-
|
|
895
|
-
**An empty list still gets the heading**, followed by exactly: `No manual steps identified for
|
|
896
|
-
this mapping.` A summary that omits the section, or leaves a known manual action only in
|
|
897
|
-
scattered setup or gap notes, fails review.
|
|
898
|
-
|
|
899
|
-
## Mapping review checkpoint
|
|
900
|
-
|
|
901
|
-
Once both mapping artifacts exist, reset `orchestration/approvals.json` so
|
|
902
|
-
`mapping.status=pending`, then stop and ask the user to review
|
|
903
|
-
`migrations/<project>/mapping/review/mapping-summary.md`. The checkpoint should make clear:
|
|
904
|
-
|
|
905
|
-
- this is a semantic review of what will be migrated where
|
|
906
|
-
- the full technical detail remains in `mapping/review/mapping-plan.md`
|
|
907
|
-
- **what the user will still have to do by hand**, pointing at the summary's
|
|
908
|
-
`Manual steps you need to complete` section
|
|
909
|
-
- downstream setup discovery and code generation will wait for acceptance
|
|
910
|
-
|
|
911
|
-
**Before presenting the checkpoint, run `scripts/coverage-reconcile.js check <project>`** and
|
|
912
|
-
resolve every failure it names; do not ask for approval of a plan it rejects.
|
|
913
|
-
|
|
914
|
-
**Before presenting the checkpoint, run the manual-steps coverage check** described in "The
|
|
915
|
-
manual-steps section": the section exists, every applicable manual action from the plan, the
|
|
916
|
-
runbooks, `setupRequirements` and the actionable gaps appears in it, nothing the agent
|
|
917
|
-
automates appears in it, and an empty set carries the explicit empty statement. A summary
|
|
918
|
-
presented for approval without that section is not ready for review, and this applies in
|
|
919
|
-
`1-click mode` too — the checkpoint is recorded as agent-accepted there, but the section is
|
|
920
|
-
still written.
|
|
921
|
-
|
|
922
|
-
Do not proceed to `rp-setup-discovery` or `rp-import-codegen` until the user accepts this
|
|
923
|
-
mapping review checkpoint, unless the user explicitly asks to continue provisionally. In
|
|
924
|
-
explicit user-requested `1-click mode` (`automationMode=one_click`, `source=user`), still
|
|
925
|
-
write the same review artifacts, but record the checkpoint as accepted by the agent and
|
|
926
|
-
continue immediately. A missing mode or a non-user-authored `one_click` value is normal
|
|
927
|
-
interactive mode and must pause here; file upload does not imply one-click.
|
|
928
|
-
|
|
929
|
-
## Guardrails
|
|
930
|
-
|
|
931
|
-
- Do not collapse multiple source concepts into one Wix field without documenting lossiness.
|
|
932
|
-
- Call out data that cannot be migrated faithfully — record it in the faithfulness ledger above.
|
|
933
|
-
- Do not describe a source entity only by a generic label when the observed data is more
|
|
934
|
-
specific; name the concrete subtype(s) present in the project.
|
|
935
|
-
- Keep business rules explicit so `rp-import-codegen` can implement them deterministically.
|
|
936
|
-
- Do not guess Wix field, enum, or app names when you cannot verify them. Mark them
|
|
937
|
-
`unverified` and surface the risk before execution.
|
|
938
|
-
|
|
939
|
-
## Discovered-set review and legacy approvals
|
|
940
|
-
|
|
941
|
-
Before presenting a standard-mode mapping review, run `node scripts/discovered-census.js build <projectDir>` and `node scripts/census-reconciliation.js build <projectDir>`. Fix structural errors only for the named census IDs. Each discovered entity, registered sub-part, capability and unlinked plugin needs exactly one assignment: plan `censusIds[]` or a gap `censusId` plus `disposition`. A parent entity never silently covers its sub-parts. Show the generated **Discovered set** section, including its unknown counts, exclusions and pending questions. Ask the owner each pending question; record answers as closed states, rebuild, and present that rebuilt review. Approving this review approves the listed exclusions; provisional and explicit 1-click agent approvals do not establish owner approval of exclusions.
|
|
942
|
-
|
|
943
|
-
The mapping approval user action must reference `{ "kind": "census-reconciliation", "path": "mapping/review/census-reconciliation.json", "sha256": "<current file SHA-256>" }` along with the summary. Let the approval scripts bind and persist the reference; never write a digest or approval directly. A stale answer must produce a fresh request. In explicit 1-click mode use `auto-approve`, leave cannot-tell rows pending, and report them as not decided after import.
|
|
944
|
-
|
|
945
|
-
For `mapping_approval_missing_census` or `mapping_approval_stale_census`, reset with `node scripts/orchestration-state.js approve --project-dir <projectDir> --type mapping --status pending`, rebuild from the existing discovery files, and present again. Explain once that this fresh review accounts for the complete discovered set; do not rerun discovery or imported records.
|
|
946
|
-
|
|
947
|
-
**When the router returns `reviewOnly: true`, the site must not change.** Keep the plan, gap list and `decisions.json` frozen, including on rejection; never run `coverage-reconcile.js decide`. Write assignments only in `mapping/review/finalized-census-assignments.json` (`planLinks` names existing plan rows; `gaps` names new decisions), then rebuild the census/reconciliation and approve through the normal scripts. A request to import newly discovered scope is `pending` with `reasonCode: import-after-finalization`; it stays open for a separate human decision and performs no import. Do not create a new plan version. Any `review_only_*` or `finalized_receipt_unverified` hold requires the Import Operator to inspect the named input; never route around it.
|