@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.0
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/CHANGELOG.md +37 -0
- package/README.md +2 -2
- package/docs/FIGMA_PIPELINE.md +12 -25
- package/docs/architecture.md +3 -5
- package/docs/features.md +8 -8
- package/install/_dev-only-files.mjs +0 -6
- package/install/claude.mjs +33 -15
- package/install/copilot.mjs +16 -14
- package/install/templates/copilot-instructions.md +3 -3
- package/package.json +1 -1
- package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
- package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
- package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
- package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
- package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
- package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
- package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
- package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
- package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
- package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
- package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
- package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
- package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
- package/pipeline/preferences-template.json +17 -1
- package/pipeline/rules/figma-pipeline.md +2 -2
- package/pipeline/schemas/prefs.schema.json +0 -34
- package/pipeline/scripts/README.md +1 -3
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/phase-banner.sh +2 -2
- package/pipeline/scripts/review-scope.mjs +94 -0
- package/pipeline/scripts/scan-agent-config.sh +2 -2
- package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
- package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
- package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
- package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
- package/pipeline/scripts/smoke-channels-flow.sh +5 -5
- package/pipeline/scripts/smoke-clarify.sh +1 -1
- package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
- package/pipeline/scripts/smoke-community-gates.sh +1 -1
- package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
- package/pipeline/scripts/smoke-cost-summary.sh +1 -1
- package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
- package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
- package/pipeline/scripts/smoke-dev-critic.sh +1 -1
- package/pipeline/scripts/smoke-diff-explain.sh +1 -1
- package/pipeline/scripts/smoke-diff-risk.sh +1 -1
- package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
- package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
- package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
- package/pipeline/scripts/smoke-generate-issue.sh +8 -8
- package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
- package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
- package/pipeline/scripts/smoke-intent-guard.sh +1 -1
- package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
- package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
- package/pipeline/scripts/smoke-language-axis.sh +6 -6
- package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
- package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
- package/pipeline/scripts/smoke-model-fallback.sh +3 -3
- package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
- package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
- package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
- package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
- package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
- package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
- package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
- package/pipeline/scripts/smoke-plan-todos.sh +3 -3
- package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
- package/pipeline/scripts/smoke-prefs-language.sh +1 -1
- package/pipeline/scripts/smoke-progress-contract.sh +2 -2
- package/pipeline/scripts/smoke-push-retry.sh +1 -1
- package/pipeline/scripts/smoke-repo-map.sh +2 -2
- package/pipeline/scripts/smoke-shadow-git.sh +1 -1
- package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
- package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
- package/pipeline/scripts/smoke-test-gap.sh +1 -1
- package/pipeline/scripts/smoke-token-budget.sh +1 -1
- package/pipeline/scripts/smoke-token-preflight.sh +2 -2
- package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
- package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
- package/pipeline/scripts/smoke-triage-memory.sh +2 -2
- package/pipeline/scripts/smoke-update-check.sh +1 -1
- package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
- package/pipeline/scripts/smoke-validator-gates.sh +1 -1
- package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
- package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
- package/pipeline/scripts/smoke-work-summary.sh +1 -1
- package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
- package/pipeline/scripts/test-integrity-gate.mjs +83 -0
- package/pipeline/scripts/uninstall.mjs +2 -2
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +3 -372
- package/pipeline/skills/shared/README.md +1 -1
- package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
- package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
- package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
- package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
- package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
- package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
- package/pipeline/skills/skills-index.md +2 -43
- package/pipeline/commands/multi-agent/refactor.md +0 -188
- package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
- package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
- package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
- package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
- package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
- package/pipeline/scripts/smoke-figma-sync.sh +0 -149
- package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
- package/pipeline/skills/figma-android/README.md +0 -38
- package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
- package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
- package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
- package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
- package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
- package/pipeline/skills/figma-common/README.md +0 -64
- package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
- package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
- package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
- package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
- package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
- package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
- package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
- package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
- package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
- package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
- package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
- package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
- package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
- package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
- package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
- package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
- package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
- package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
- package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
- package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
- package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
- package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
- package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
- package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
- package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
- package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
- package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
- package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
- package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
- package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
- package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
- package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
- package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
- package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
- package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
- package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
- package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
- package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
- package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
- package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
- package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
- package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
- package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
- package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
- package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
- package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
- package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
- package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
- package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
- package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
- package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
- package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
- package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
- package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
- package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
- package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
- package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
- package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
- package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
- package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
- package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
- package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
- package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
- package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
- package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
- package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
- package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
- package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
- package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
- package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
- /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
- /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
- /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
- /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/rules.md +0 -0
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
# PHASE 3E - Asset Inventory
|
|
2
|
-
|
|
3
|
-
Inventory downloaded assets, cross-reference with existing token registry.
|
|
4
|
-
Determines which assets are new vs already exist in the project.
|
|
5
|
-
|
|
6
|
-
CONDITIONAL - skip if no design_context_assets.txt exists or is empty.
|
|
7
|
-
PARALLEL WITH: Phase 3A, 3B, 3C, 3D, 3F (all read from pass1/ independently)
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## PRE-CHECK: Phase 1 Complete
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
Read: {artifactPath}/pass1/_index.md
|
|
15
|
-
Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
Check if asset file exists:
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
ls {artifactPath}/pass1/design_context_assets.txt 2>/dev/null
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
| Result | Action |
|
|
25
|
-
|--------|--------|
|
|
26
|
-
| File exists and non-empty | Read it, proceed to GATE 1 |
|
|
27
|
-
| File missing or empty | Write placeholder artifact, return COMPLETE |
|
|
28
|
-
|
|
29
|
-
```
|
|
30
|
-
Read: {artifactPath}/pass1/design_context_assets.txt
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Extract: `componentName`, `artifactPath`.
|
|
34
|
-
|
|
35
|
-
If pass1/_index.md is missing:
|
|
36
|
-
|
|
37
|
-
```
|
|
38
|
-
STATUS: HALT
|
|
39
|
-
PHASE: phase-3e
|
|
40
|
-
GATE: PRE_CHECK
|
|
41
|
-
REASON: Required Phase 1 artifacts missing.
|
|
42
|
-
COMPLETED_GATES: []
|
|
43
|
-
ARTIFACTS_CREATED: none
|
|
44
|
-
USER_ACTION_REQUIRED: Run Phase 1 first to gather Figma data.
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## GATE 1: LIST_DOWNLOADED_ASSETS
|
|
50
|
-
|
|
51
|
-
INPUT: `{artifactPath}/pass1/design_context_assets.txt`
|
|
52
|
-
|
|
53
|
-
This file contains URLs of assets downloaded during Phase 1 design_context gathering.
|
|
54
|
-
Each line is a URL pointing to a downloaded SVG, PNG, or other asset file.
|
|
55
|
-
|
|
56
|
-
Parse each entry:
|
|
57
|
-
- Extract filename
|
|
58
|
-
- Determine file type (svg, png, pdf)
|
|
59
|
-
- Infer usage from filename or context (icon, illustration, background)
|
|
60
|
-
|
|
61
|
-
OUTPUT: List of `{ filename, type, inferredUsage }`.
|
|
62
|
-
|
|
63
|
-
---
|
|
64
|
-
|
|
65
|
-
## GATE 2: CHECK_EXISTING_ASSETS
|
|
66
|
-
|
|
67
|
-
For each asset, check if it already exists in the project's asset registry:
|
|
68
|
-
|
|
69
|
-
```bash
|
|
70
|
-
cd {repos.common.path} && .build/debug/FigmaRegistryUtility ui-token-lookup --name '{ASSET_NAME}' --type image
|
|
71
|
-
```
|
|
72
|
-
|
|
73
|
-
| Result | Action |
|
|
74
|
-
|--------|--------|
|
|
75
|
-
| Found | Mark status: "Existing" - already in project, no action needed |
|
|
76
|
-
| Not found | Mark status: "New" - needs to be added to asset catalog |
|
|
77
|
-
| Tool error | Mark status: "Unknown" - log warning, continue |
|
|
78
|
-
|
|
79
|
-
Also check if the asset exists in the UIComponents asset catalog directly:
|
|
80
|
-
|
|
81
|
-
```bash
|
|
82
|
-
ls Sources/UIAssets/Assets.xcassets/**/{ASSET_NAME}.imageset 2>/dev/null
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
---
|
|
86
|
-
|
|
87
|
-
## GATE 3: DETERMINE_TARGET_PATHS
|
|
88
|
-
|
|
89
|
-
For each NEW asset, determine where it should be placed:
|
|
90
|
-
|
|
91
|
-
| Asset Type | Target Path Pattern |
|
|
92
|
-
|------------|---------------------|
|
|
93
|
-
| Icon (small, single-color) | `Sources/UIAssets/Assets.xcassets/Icons/{name}.imageset/` |
|
|
94
|
-
| Illustration (multi-color, complex) | `Sources/UIAssets/Assets.xcassets/Illustrations/{name}.imageset/` |
|
|
95
|
-
| Component-specific | `Sources/UIAssets/Assets.xcassets/Components/{componentName}/{name}.imageset/` |
|
|
96
|
-
|
|
97
|
-
---
|
|
98
|
-
|
|
99
|
-
## GATE 4: WRITE_ARTIFACT
|
|
100
|
-
|
|
101
|
-
Write `{artifactPath}/pass3/06_assets.md`:
|
|
102
|
-
|
|
103
|
-
```markdown
|
|
104
|
-
# Asset Inventory
|
|
105
|
-
|
|
106
|
-
Component: {componentName}
|
|
107
|
-
Generated: {ISO_DATE}
|
|
108
|
-
Source: pass1/design_context_assets.txt
|
|
109
|
-
|
|
110
|
-
## Assets
|
|
111
|
-
|
|
112
|
-
| File | Type | Usage | Status | Target Path |
|
|
113
|
-
|------|------|-------|--------|-------------|
|
|
114
|
-
| checkCircle.svg | icon | Check circle indicator | New | Sources/UIAssets/.../Icons/checkCircle |
|
|
115
|
-
| arrowRight.svg | icon | Navigation arrow | Existing | (already in project) |
|
|
116
|
-
| badge_bg.png | background | Badge background | New | Sources/UIAssets/.../Components/{componentName}/badgeBg |
|
|
117
|
-
|
|
118
|
-
## Summary
|
|
119
|
-
|
|
120
|
-
- Total assets: {TOTAL}
|
|
121
|
-
- New (to add): {NEW_COUNT}
|
|
122
|
-
- Existing (no action): {EXISTING_COUNT}
|
|
123
|
-
- Unknown (check manually): {UNKNOWN_COUNT}
|
|
124
|
-
|
|
125
|
-
## Action Items
|
|
126
|
-
|
|
127
|
-
{For each NEW asset:}
|
|
128
|
-
- [ ] Add {filename} to {targetPath}
|
|
129
|
-
- [ ] Verify rendering at 1x, 2x, 3x scales
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## VALIDATION CHECKLIST
|
|
135
|
-
|
|
136
|
-
```
|
|
137
|
-
[ ] design_context_assets.txt parsed for all asset entries
|
|
138
|
-
[ ] Each asset checked against token registry (ui-token-lookup)
|
|
139
|
-
[ ] Each asset checked against asset catalog (file existence)
|
|
140
|
-
[ ] New vs existing status determined for every asset
|
|
141
|
-
[ ] Target paths assigned for all new assets
|
|
142
|
-
[ ] 06_assets.md written to pass3/
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
---
|
|
146
|
-
|
|
147
|
-
## SUCCESS OUTPUT
|
|
148
|
-
|
|
149
|
-
```
|
|
150
|
-
STATUS: COMPLETE
|
|
151
|
-
PHASE: phase-3e
|
|
152
|
-
GATES_PASSED: [PRE_CHECK, LIST_DOWNLOADED_ASSETS, CHECK_EXISTING_ASSETS, DETERMINE_TARGET_PATHS, WRITE_ARTIFACT]
|
|
153
|
-
ARTIFACTS_CREATED:
|
|
154
|
-
- {artifactPath}/pass3/06_assets.md
|
|
155
|
-
SUMMARY: Assets: {NEW_COUNT} new, {EXISTING_COUNT} existing out of {TOTAL} total.
|
|
156
|
-
```
|
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
# PHASE 3F - Utility Integration Summary
|
|
2
|
-
|
|
3
|
-
Consolidate Phase 2 utility artifacts and map utilities to design elements.
|
|
4
|
-
Cross-references testing identifiers, localization keys, accessibility keys, and analytics events
|
|
5
|
-
with the actual design elements from Phase 1.
|
|
6
|
-
|
|
7
|
-
required - always execute this phase.
|
|
8
|
-
PARALLEL WITH: Phase 3A, 3B, 3C, 3D, 3E (all read from pass1/pass2 independently)
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## PRE-CHECK: Phase 2 Complete
|
|
13
|
-
|
|
14
|
-
```
|
|
15
|
-
Read: {artifactPath}/pass2/_index.md
|
|
16
|
-
Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
Extract: `componentName`, `artifactPath`.
|
|
20
|
-
|
|
21
|
-
Read Phase 2 utility artifacts:
|
|
22
|
-
```
|
|
23
|
-
Read: {artifactPath}/pass2/utility_identifiers.md
|
|
24
|
-
Read: {artifactPath}/pass2/utility_localization.md
|
|
25
|
-
Read: {artifactPath}/pass2/utility_accessibility.md
|
|
26
|
-
Read: {artifactPath}/pass2/utility_analytics.md
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Also read the design context for element cross-referencing:
|
|
30
|
-
```
|
|
31
|
-
Read: {artifactPath}/pass1/design_context_response.json
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
If pass2/_index.md is missing:
|
|
35
|
-
|
|
36
|
-
```
|
|
37
|
-
STATUS: HALT
|
|
38
|
-
PHASE: phase-3f
|
|
39
|
-
GATE: PRE_CHECK
|
|
40
|
-
REASON: Phase 2 artifacts not found. pass2/_index.md missing.
|
|
41
|
-
COMPLETED_GATES: []
|
|
42
|
-
ARTIFACTS_CREATED: none
|
|
43
|
-
USER_ACTION_REQUIRED: Run Phase 2 first.
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
---
|
|
47
|
-
|
|
48
|
-
## GATE 1: EXTRACT_UTILITY_KEYS
|
|
49
|
-
|
|
50
|
-
From each Phase 2 artifact, extract the key lists:
|
|
51
|
-
|
|
52
|
-
### Testing Identifiers (from utility_identifiers.md)
|
|
53
|
-
|
|
54
|
-
Extract table rows: `{ key, value, status, usage }`
|
|
55
|
-
|
|
56
|
-
### Localization Keys (from utility_localization.md)
|
|
57
|
-
|
|
58
|
-
Extract table rows: `{ key, pattern, usage }`
|
|
59
|
-
- If artifact is a skip placeholder ("No localization required") → empty list
|
|
60
|
-
|
|
61
|
-
### Accessibility Keys (from utility_accessibility.md)
|
|
62
|
-
|
|
63
|
-
Extract table rows: `{ key, purpose, usage }`
|
|
64
|
-
- If artifact is a skip placeholder or shows 0 keys (GATE 2B filtered all) → empty list
|
|
65
|
-
|
|
66
|
-
### Analytics Events (from utility_analytics.md)
|
|
67
|
-
|
|
68
|
-
Extract table rows: `{ element, identifierKey, event }`
|
|
69
|
-
- If artifact is a skip placeholder ("No interactive elements") → empty list
|
|
70
|
-
|
|
71
|
-
---
|
|
72
|
-
|
|
73
|
-
## GATE 2: MAP_UTILITIES_TO_ELEMENTS
|
|
74
|
-
|
|
75
|
-
Cross-reference utility keys with design_context elements to create an element-level mapping.
|
|
76
|
-
This tells Phase 4 exactly which modifiers to apply to each UI element.
|
|
77
|
-
|
|
78
|
-
For each visual element in design_context_response.json:
|
|
79
|
-
1. Find its testing identifier (if any)
|
|
80
|
-
2. Find its localization key (if any)
|
|
81
|
-
3. Find its accessibility key (if any)
|
|
82
|
-
4. Find its analytics event (if any)
|
|
83
|
-
|
|
84
|
-
OUTPUT: Element-to-utility mapping table.
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## GATE 3: WRITE_ARTIFACT
|
|
89
|
-
|
|
90
|
-
Write `{artifactPath}/pass3/08_utility_integration.md`:
|
|
91
|
-
|
|
92
|
-
```markdown
|
|
93
|
-
# Utility Integration
|
|
94
|
-
|
|
95
|
-
Component: {componentName}
|
|
96
|
-
Generated: {ISO_DATE}
|
|
97
|
-
Source: pass2/utility_identifiers.md, pass2/utility_localization.md, pass2/utility_accessibility.md, pass2/utility_analytics.md
|
|
98
|
-
|
|
99
|
-
## Element-to-Utility Mapping
|
|
100
|
-
|
|
101
|
-
| Element | Testing ID | Localization Key | Accessibility | Analytics |
|
|
102
|
-
|---------|------------|------------------|---------------|-----------|
|
|
103
|
-
| Title text | `.title` | `ComponentName.Title` | - | - |
|
|
104
|
-
| Action button | `.actionButton` | `ComponentName.Action` | `.actionButton` | `UIInteractionButtonTapped` |
|
|
105
|
-
| Card container | `.card` | - | - | `UIInteractionCardTapped` |
|
|
106
|
-
| Badge | `.badge` | - | runtime label | - |
|
|
107
|
-
|
|
108
|
-
## Testing Identifiers
|
|
109
|
-
|
|
110
|
-
| Key | Value | Usage |
|
|
111
|
-
|-----|-------|-------|
|
|
112
|
-
| ComponentName.title | componentname_title | `.accessibilityIdentifier(...)` |
|
|
113
|
-
| ComponentName.actionButton | componentname_action_button | `.accessibilityIdentifier(...)` |
|
|
114
|
-
|
|
115
|
-
## Localization Keys
|
|
116
|
-
|
|
117
|
-
| Key | Pattern | Usage |
|
|
118
|
-
|-----|---------|-------|
|
|
119
|
-
| ComponentName.Title | Static | `Text(.ComponentName.title)` |
|
|
120
|
-
|
|
121
|
-
OR: No localization keys (dynamic text only).
|
|
122
|
-
|
|
123
|
-
## Accessibility
|
|
124
|
-
|
|
125
|
-
| Key | Purpose | Usage |
|
|
126
|
-
|-----|---------|-------|
|
|
127
|
-
| ComponentName.ActionButton | VoiceOver label for action | `.accessibilityLabel(...)` |
|
|
128
|
-
|
|
129
|
-
OR: No dedicated keys - using runtime accessibility patterns.
|
|
130
|
-
|
|
131
|
-
## Analytics Events
|
|
132
|
-
|
|
133
|
-
| Element | Event | Implementation |
|
|
134
|
-
|---------|-------|----------------|
|
|
135
|
-
| Action button | `UIInteractionButtonTapped` | `.analyticsButton(id: ..., label: ..., type: .primary)` |
|
|
136
|
-
|
|
137
|
-
OR: No analytics events (no interactive elements).
|
|
138
|
-
|
|
139
|
-
## Summary
|
|
140
|
-
|
|
141
|
-
| Category | Count |
|
|
142
|
-
|----------|-------|
|
|
143
|
-
| Testing Identifiers | {COUNT} |
|
|
144
|
-
| Localization Keys | {COUNT} |
|
|
145
|
-
| Accessibility Keys | {COUNT} |
|
|
146
|
-
| Analytics Events | {COUNT} |
|
|
147
|
-
```
|
|
148
|
-
|
|
149
|
-
---
|
|
150
|
-
|
|
151
|
-
## VALIDATION CHECKLIST
|
|
152
|
-
|
|
153
|
-
```
|
|
154
|
-
[ ] All Phase 2 utility artifacts read (or skip placeholders detected)
|
|
155
|
-
[ ] Testing identifiers extracted from utility_identifiers.md
|
|
156
|
-
[ ] Localization keys extracted from utility_localization.md
|
|
157
|
-
[ ] Accessibility keys extracted from utility_accessibility.md
|
|
158
|
-
[ ] Analytics events extracted from utility_analytics.md
|
|
159
|
-
[ ] Element-to-utility mapping table created
|
|
160
|
-
[ ] Each element has at most one entry per utility category
|
|
161
|
-
[ ] 08_utility_integration.md written to pass3/
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
## SUCCESS OUTPUT
|
|
167
|
-
|
|
168
|
-
```
|
|
169
|
-
STATUS: COMPLETE
|
|
170
|
-
PHASE: phase-3f
|
|
171
|
-
GATES_PASSED: [PRE_CHECK, EXTRACT_UTILITY_KEYS, MAP_UTILITIES_TO_ELEMENTS, WRITE_ARTIFACT]
|
|
172
|
-
ARTIFACTS_CREATED:
|
|
173
|
-
- {artifactPath}/pass3/08_utility_integration.md
|
|
174
|
-
SUMMARY: Utility integration: {TESTING_COUNT} testing IDs, {LOCALIZATION_COUNT} localization keys, {ACCESSIBILITY_COUNT} accessibility keys, {ANALYTICS_COUNT} analytics events mapped to design elements.
|
|
175
|
-
```
|
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# PHASE 3G - Property Coverage Verification
|
|
2
|
-
|
|
3
|
-
Verify that every Figma component property gathered in Phase 1 has been explicitly addressed by Phase 3D's architecture design. Prevents silent property drops.
|
|
4
|
-
|
|
5
|
-
SEQUENTIAL - runs AFTER all parallel sub-phases (3A-3F) complete.
|
|
6
|
-
DEPENDS ON: Phase 3D output (`pass3/04b_component_architecture.md`)
|
|
7
|
-
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
## PRE-CHECK: Required Artifacts
|
|
11
|
-
|
|
12
|
-
```
|
|
13
|
-
Read: {artifactPath}/pass1/component_summary.json
|
|
14
|
-
Read: {artifactPath}/pass3/04b_component_architecture.md
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
If `component_summary.json` does not exist:
|
|
18
|
-
```
|
|
19
|
-
Read: {artifactPath}/pass1/component_properties.json
|
|
20
|
-
```
|
|
21
|
-
(Fall back to raw artifact. Extract properties manually.)
|
|
22
|
-
|
|
23
|
-
If `04b_component_architecture.md` does not exist:
|
|
24
|
-
|
|
25
|
-
```
|
|
26
|
-
STATUS: HALT
|
|
27
|
-
PHASE: phase-3g
|
|
28
|
-
GATE: PRE_CHECK
|
|
29
|
-
REASON: Phase 3D output (04b_component_architecture.md) not found. Phase 3D must complete first.
|
|
30
|
-
COMPLETED_GATES: []
|
|
31
|
-
ARTIFACTS_CREATED: none
|
|
32
|
-
USER_ACTION_REQUIRED: Run Phase 3D first.
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## GATE 1: EXTRACT_PROPERTIES
|
|
38
|
-
|
|
39
|
-
### 1.1 From component_summary.json (or component_properties.json fallback)
|
|
40
|
-
|
|
41
|
-
Extract the complete list of Figma component properties:
|
|
42
|
-
|
|
43
|
-
For each property, record:
|
|
44
|
-
- `name` - display name (e.g., "Size", "Loyalty Type", "Icon")
|
|
45
|
-
- `type` - VARIANT, BOOLEAN, TEXT, INSTANCE_SWAP
|
|
46
|
-
- `figmaKey` - exact key from componentPropertyDefinitions (e.g., "Icon#1634:1")
|
|
47
|
-
- `values` - possible values (for VARIANT/BOOLEAN)
|
|
48
|
-
- `default` - default value
|
|
49
|
-
|
|
50
|
-
**CRITICAL: Every property in componentPropertyDefinitions MUST appear in this list. No exceptions.**
|
|
51
|
-
|
|
52
|
-
### 1.2 From 04b_component_architecture.md
|
|
53
|
-
|
|
54
|
-
Extract the Swift API design:
|
|
55
|
-
- All init parameters
|
|
56
|
-
- All enum types defined
|
|
57
|
-
- All configuration properties
|
|
58
|
-
- Any "Not exposed" / "Internal only" notes
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## GATE 2: MATCH_PROPERTIES
|
|
63
|
-
|
|
64
|
-
For each Figma property from GATE 1.1, determine if it is addressed in the architecture from GATE 1.2.
|
|
65
|
-
|
|
66
|
-
### Matching Rules
|
|
67
|
-
|
|
68
|
-
| Figma Type | Considered "addressed" if |
|
|
69
|
-
|------------|--------------------------|
|
|
70
|
-
| VARIANT (enum) | Architecture defines an enum or parameter mapping these values |
|
|
71
|
-
| VARIANT (bool-like, 2 values) | Architecture defines a Bool parameter or optional |
|
|
72
|
-
| BOOLEAN | Architecture defines a Bool parameter, or merged into an Optional per Boolean Visibility Merge Rule |
|
|
73
|
-
| TEXT | Architecture defines a String parameter |
|
|
74
|
-
| INSTANCE_SWAP | Architecture defines an Image?, AnyView?, or typed view parameter, OR documents it as fixed/internal |
|
|
75
|
-
|
|
76
|
-
### Status Assignment
|
|
77
|
-
|
|
78
|
-
For each property, assign exactly one status:
|
|
79
|
-
|
|
80
|
-
| Status | Meaning | Requires |
|
|
81
|
-
|--------|---------|----------|
|
|
82
|
-
| `IMPLEMENT` | Will be exposed as a Swift parameter | Swift type mapping |
|
|
83
|
-
| `SKIP` | Intentionally not exposed | **Mandatory reason** |
|
|
84
|
-
| `DEFER` | Deferred to future iteration | **Mandatory reason** |
|
|
85
|
-
|
|
86
|
-
**SKIP reasons (valid examples):**
|
|
87
|
-
- "Fixed to single value per design - not configurable by developers"
|
|
88
|
-
- "Internal Figma layout property - no user-facing impact"
|
|
89
|
-
- "Controlled by parent component via slot composition"
|
|
90
|
-
- "Boolean merged into optional per Boolean Visibility Merge Rule"
|
|
91
|
-
|
|
92
|
-
**HALT if any property cannot be assigned a status.** This means the architecture did not address it.
|
|
93
|
-
|
|
94
|
-
---
|
|
95
|
-
|
|
96
|
-
## GATE 3: WRITE_COVERAGE
|
|
97
|
-
|
|
98
|
-
Write the property coverage file:
|
|
99
|
-
|
|
100
|
-
```
|
|
101
|
-
Write: {artifactPath}/pass3/00_property_coverage.json
|
|
102
|
-
```
|
|
103
|
-
|
|
104
|
-
### Schema
|
|
105
|
-
|
|
106
|
-
```json
|
|
107
|
-
{
|
|
108
|
-
"componentName": "{componentName}",
|
|
109
|
-
"generated": "{YYYY-MM-DD}",
|
|
110
|
-
"totalProperties": 0,
|
|
111
|
-
"implemented": 0,
|
|
112
|
-
"skipped": 0,
|
|
113
|
-
"deferred": 0,
|
|
114
|
-
"properties": [
|
|
115
|
-
{
|
|
116
|
-
"name": "{display name}",
|
|
117
|
-
"type": "{VARIANT|BOOLEAN|TEXT|INSTANCE_SWAP}",
|
|
118
|
-
"figmaKey": "{exact key}",
|
|
119
|
-
"status": "{IMPLEMENT|SKIP|DEFER}",
|
|
120
|
-
"swiftType": "{enum TypeName | Bool | String | Image? | ...}",
|
|
121
|
-
"reason": "{only for SKIP/DEFER - mandatory}"
|
|
122
|
-
}
|
|
123
|
-
],
|
|
124
|
-
"unmapped": []
|
|
125
|
-
}
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Validation
|
|
129
|
-
|
|
130
|
-
- `unmapped` array MUST be empty. If any property has no status, add it to `unmapped` and HALT.
|
|
131
|
-
- Every SKIP/DEFER property MUST have a non-empty `reason`.
|
|
132
|
-
- `totalProperties` must equal `implemented + skipped + deferred`.
|
|
133
|
-
- `swiftType` is required for IMPLEMENT, optional for SKIP/DEFER.
|
|
134
|
-
|
|
135
|
-
FAIL →
|
|
136
|
-
```
|
|
137
|
-
STATUS: HALT
|
|
138
|
-
PHASE: phase-3g
|
|
139
|
-
GATE: WRITE_COVERAGE
|
|
140
|
-
REASON: Properties not fully covered by architecture.
|
|
141
|
-
UNMAPPED_PROPERTIES: [{list names and types}]
|
|
142
|
-
COMPLETED_GATES: [PRE_CHECK, EXTRACT_PROPERTIES, MATCH_PROPERTIES]
|
|
143
|
-
ARTIFACTS_CREATED: none
|
|
144
|
-
USER_ACTION_REQUIRED: Options:
|
|
145
|
-
1) Update Phase 3D architecture to address missing properties
|
|
146
|
-
2) Mark properties as SKIP with explicit reason
|
|
147
|
-
3) Re-run Phase 3D
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
---
|
|
151
|
-
|
|
152
|
-
## VALIDATION CHECKLIST
|
|
153
|
-
|
|
154
|
-
```
|
|
155
|
-
[ ] component_summary.json (or component_properties.json) read successfully
|
|
156
|
-
[ ] 04b_component_architecture.md read successfully
|
|
157
|
-
[ ] ALL properties from Figma extracted (count matches componentPropertyDefinitions)
|
|
158
|
-
[ ] Each property assigned IMPLEMENT, SKIP, or DEFER
|
|
159
|
-
[ ] Every SKIP/DEFER has a mandatory reason
|
|
160
|
-
[ ] unmapped array is empty
|
|
161
|
-
[ ] 00_property_coverage.json written
|
|
162
|
-
[ ] Counts are consistent (total = implemented + skipped + deferred)
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## SUCCESS OUTPUT
|
|
168
|
-
|
|
169
|
-
```
|
|
170
|
-
STATUS: COMPLETE
|
|
171
|
-
PHASE: phase-3g
|
|
172
|
-
GATES_PASSED: [PRE_CHECK, EXTRACT_PROPERTIES, MATCH_PROPERTIES, WRITE_COVERAGE]
|
|
173
|
-
ARTIFACTS_CREATED:
|
|
174
|
-
- {artifactPath}/pass3/00_property_coverage.json
|
|
175
|
-
SUMMARY: Property coverage verified. {totalProperties} properties: {implemented} IMPLEMENT, {skipped} SKIP, {deferred} DEFER. Zero unmapped.
|
|
176
|
-
```
|