@mmerterden/multi-agent-pipeline 11.2.0 → 11.3.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/CHANGELOG.md +68 -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 +39 -17
- package/install/copilot.mjs +22 -16
- 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/lib/credential-store.sh +8 -4
- 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/build-skills-index.mjs +3 -6
- package/pipeline/scripts/eval-mine-corpus.mjs +187 -0
- package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
- package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
- package/pipeline/scripts/lint-skills.mjs +26 -1
- 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 +17 -6
- package/pipeline/skills/.skill-manifest.json +40 -160
- package/pipeline/skills/.skills-index.json +3 -373
- 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 +3 -44
- 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,412 +0,0 @@
|
|
|
1
|
-
# PHASE 4 - Implementation Orchestrator
|
|
2
|
-
|
|
3
|
-
Orchestrates Phase 4 sub-phases: dispatches sub-agents to write Swift code, collects results.
|
|
4
|
-
PREV: Phase 3 (Data Analysis)
|
|
5
|
-
NEXT: Phase 5 (Testing)
|
|
6
|
-
|
|
7
|
-
**Date Format:** Use `DD.MM.YYYY` format (e.g., `23.02.2026`) for file headers.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## PURPOSE
|
|
12
|
-
|
|
13
|
-
Phase 4 transforms Phase 3 analysis into Swift code.
|
|
14
|
-
Each sub-phase writes one file. Phase 5 (testing) consumes these files.
|
|
15
|
-
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
## PRE-CHECK: Phase 3 Complete
|
|
19
|
-
|
|
20
|
-
```
|
|
21
|
-
Read: {artifactPath}/IMPLEMENTATION_HISTORY.md
|
|
22
|
-
Read: {artifactPath}/pass3/_index.md
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
EXTRACT:
|
|
26
|
-
- `componentName`
|
|
27
|
-
- `artifactPath`
|
|
28
|
-
- `nodeId`
|
|
29
|
-
- `fileKey`
|
|
30
|
-
|
|
31
|
-
| Result | Action |
|
|
32
|
-
|--------|--------|
|
|
33
|
-
| Both files exist | Proceed to LOAD_SPEC |
|
|
34
|
-
| Either missing | HALT |
|
|
35
|
-
|
|
36
|
-
FAIL →
|
|
37
|
-
```
|
|
38
|
-
STATUS: HALT
|
|
39
|
-
PHASE: phase-4
|
|
40
|
-
GATE: PRE_CHECK
|
|
41
|
-
REASON: IMPLEMENTATION_HISTORY.md or pass3/_index.md not found. Phase 3 must complete first.
|
|
42
|
-
COMPLETED_GATES: []
|
|
43
|
-
ARTIFACTS_CREATED: none
|
|
44
|
-
USER_ACTION_REQUIRED: Run Phase 3 first.
|
|
45
|
-
```
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## LOAD_SPEC: Read Implementation Spec
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
Read: {artifactPath}/pass3/07_implementation_spec.md
|
|
53
|
-
Read: {artifactPath}/pass3/05_complexity.md
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
EXTRACT:
|
|
57
|
-
- `componentLocation` - Swift package path for the component
|
|
58
|
-
- `complexity` - SIMPLE or COMPLEX
|
|
59
|
-
- `filesToCreate` - list of files from the spec
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## GATE 1: PREPARE_DIRECTORY
|
|
64
|
-
|
|
65
|
-
### 1.1 Create directory
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
mkdir -p {componentLocation}
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
If directory already exists:
|
|
72
|
-
|
|
73
|
-
First check if prompt contains `USER_DECISION` with gate matching `PREPARE_DIRECTORY`:
|
|
74
|
-
→ If found: use the provided answer, continue execution.
|
|
75
|
-
|
|
76
|
-
Otherwise:
|
|
77
|
-
|
|
78
|
-
```
|
|
79
|
-
STATUS: NEEDS_INPUT
|
|
80
|
-
PHASE: phase-4
|
|
81
|
-
GATE: PREPARE_DIRECTORY
|
|
82
|
-
QUESTION: Component directory already exists. How should we proceed?
|
|
83
|
-
OPTIONS:
|
|
84
|
-
1) Override (delete existing files and recreate)
|
|
85
|
-
2) Merge (update existing files, keep others)
|
|
86
|
-
3) Choose different location
|
|
87
|
-
SUGGESTED: Option 2 - merge with existing.
|
|
88
|
-
COMPLETED_GATES: [PRE_CHECK, LOAD_SPEC]
|
|
89
|
-
CONTEXT:
|
|
90
|
-
Path: {componentLocation}
|
|
91
|
-
Contents: {list files in directory}
|
|
92
|
-
```
|
|
93
|
-
|
|
94
|
-
### 1.2 Get git user
|
|
95
|
-
|
|
96
|
-
```bash
|
|
97
|
-
git config user.name
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
Store as `gitUser` for file headers.
|
|
101
|
-
|
|
102
|
-
---
|
|
103
|
-
|
|
104
|
-
## ROUTING
|
|
105
|
-
|
|
106
|
-
### Sub-phase inventory
|
|
107
|
-
|
|
108
|
-
| Sub-phase | Skill Doc | Purpose | Required | Writes |
|
|
109
|
-
|-----------|-----------|---------|----------|--------|
|
|
110
|
-
| 4A | `phase-4a-configuration.md` | Configuration struct + enums | **COMPLEX only** | `{ComponentName}Configuration.swift` |
|
|
111
|
-
| 4B | `phase-4b-view.md` | View struct (no preview) | **ALWAYS** | `{ComponentName}.swift` |
|
|
112
|
-
| 4C | `phase-4c-documentation.md` | FIGMA.md | **ALWAYS** | `FIGMA.md` |
|
|
113
|
-
| 4D | `phase-4d-preview.md` | Preview struct + #Preview | **ALWAYS** | Appends to `{ComponentName}.swift` |
|
|
114
|
-
|
|
115
|
-
### Execution flow
|
|
116
|
-
|
|
117
|
-
```
|
|
118
|
-
PRE-CHECK + LOAD_SPEC + GATE 1
|
|
119
|
-
↓
|
|
120
|
-
┌──────────────────────────────────────────┐
|
|
121
|
-
│ WAVE 1: PARALLEL DISPATCH (sub-agents) │
|
|
122
|
-
│ │
|
|
123
|
-
│ 4A - Configuration ← if COMPLEX │
|
|
124
|
-
│ 4B - View ← ALWAYS │
|
|
125
|
-
│ 4C - FIGMA.md ← ALWAYS │
|
|
126
|
-
│ │
|
|
127
|
-
└──────────────────────────────────────────┘
|
|
128
|
-
↓ wait for all to complete
|
|
129
|
-
↓
|
|
130
|
-
┌──────────────────────────────────────────┐
|
|
131
|
-
│ WAVE 2: SEQUENTIAL │
|
|
132
|
-
│ │
|
|
133
|
-
│ 4D - Preview ← ALWAYS │
|
|
134
|
-
│ (depends on 4A + 4B) │
|
|
135
|
-
│ │
|
|
136
|
-
└──────────────────────────────────────────┘
|
|
137
|
-
↓
|
|
138
|
-
GATE 2: COLLECT_RESULTS
|
|
139
|
-
↓
|
|
140
|
-
GATE 2.5: VALIDATE (run validation script)
|
|
141
|
-
↓
|
|
142
|
-
GATE 3: BUILD_VERIFICATION (xcodebuild)
|
|
143
|
-
↓
|
|
144
|
-
GATE 4: UPDATE_REGISTRY (phase4-finalize.py)
|
|
145
|
-
↓
|
|
146
|
-
GATE 5: UPDATE_IMPLEMENTATION_HISTORY
|
|
147
|
-
↓
|
|
148
|
-
PHASE OUTPUT
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
### Dispatch instructions
|
|
152
|
-
|
|
153
|
-
**Wave 1 (parallel):** Launch 4A (if COMPLEX), 4B, 4C as sub-agents simultaneously.
|
|
154
|
-
- Each reads from `pass3/` artifacts independently.
|
|
155
|
-
- Each writes to `{componentLocation}/`.
|
|
156
|
-
- 4A and 4B both read `pass3/04b_component_architecture.md` for the API design.
|
|
157
|
-
- 4B and 4C both read `pass3/00_property_coverage.json` for property mandate verification.
|
|
158
|
-
- Wait for ALL to complete before Wave 2.
|
|
159
|
-
|
|
160
|
-
**Wave 2 (sequential):** Launch 4D after Wave 1 completes.
|
|
161
|
-
- 4D appends `{ComponentName}Preview` struct and `#Preview` to `{ComponentName}.swift`.
|
|
162
|
-
- 4D needs both Configuration (to instantiate) and View (to reference).
|
|
163
|
-
|
|
164
|
-
### Skip conditions
|
|
165
|
-
|
|
166
|
-
| Sub-phase | Skip when |
|
|
167
|
-
|-----------|-----------|
|
|
168
|
-
| 4A | Complexity = SIMPLE (≤3 properties) |
|
|
169
|
-
|
|
170
|
-
If 4A is skipped, enums are defined inside the View file (4B handles this for SIMPLE components).
|
|
171
|
-
|
|
172
|
-
### Dispatch context
|
|
173
|
-
|
|
174
|
-
Pass these values to each sub-phase in the dispatch prompt:
|
|
175
|
-
- `componentName`
|
|
176
|
-
- `componentLocation`
|
|
177
|
-
- `artifactPath`
|
|
178
|
-
- `nodeId`
|
|
179
|
-
- `fileKey`
|
|
180
|
-
- `complexity` (SIMPLE/COMPLEX)
|
|
181
|
-
- `gitUser`
|
|
182
|
-
- `date` (current date in DD.MM.YYYY format)
|
|
183
|
-
|
|
184
|
-
---
|
|
185
|
-
|
|
186
|
-
## GATE 2: COLLECT_RESULTS
|
|
187
|
-
|
|
188
|
-
After all sub-phases complete, verify each produced its file:
|
|
189
|
-
|
|
190
|
-
```
|
|
191
|
-
[ ] {componentLocation}/{ComponentName}.swift exists (Phase 4B)
|
|
192
|
-
[ ] {componentLocation}/{ComponentName}Configuration.swift exists (Phase 4A - or SIMPLE skip)
|
|
193
|
-
[ ] {componentLocation}/FIGMA.md exists (Phase 4C)
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
ANY missing →
|
|
197
|
-
```
|
|
198
|
-
STATUS: HALT
|
|
199
|
-
PHASE: phase-4
|
|
200
|
-
GATE: COLLECT_RESULTS
|
|
201
|
-
REASON: Sub-phase file missing.
|
|
202
|
-
MISSING: [list missing files]
|
|
203
|
-
USER_ACTION_REQUIRED: Re-run the failed sub-phase.
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
|
-
## GATE 2.5: VALIDATE
|
|
209
|
-
|
|
210
|
-
Run the Phase 4 validation script against the generated files:
|
|
211
|
-
|
|
212
|
-
```bash
|
|
213
|
-
bash .instructions/figma/figma-to-swiftui/scripts/validate-phase4.sh \
|
|
214
|
-
"{componentLocation}" \
|
|
215
|
-
"{ComponentName}" \
|
|
216
|
-
"{artifactPath}/pass3/00_property_coverage.json"
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
| Result | Action |
|
|
220
|
-
|--------|--------|
|
|
221
|
-
| Exit 0 (PASS) | Proceed to GATE 3 |
|
|
222
|
-
| Exit 1 (FAIL) | Review violations, fix, re-validate |
|
|
223
|
-
|
|
224
|
-
If validation fails:
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
STATUS: HALT
|
|
228
|
-
PHASE: phase-4
|
|
229
|
-
GATE: VALIDATE
|
|
230
|
-
REASON: Post-implementation validation failed.
|
|
231
|
-
VIOLATIONS: {list from script output}
|
|
232
|
-
COMPLETED_GATES: [PRE_CHECK, LOAD_SPEC, PREPARE_DIRECTORY, DISPATCH_WAVE_1, DISPATCH_WAVE_2, COLLECT_RESULTS]
|
|
233
|
-
ARTIFACTS_CREATED:
|
|
234
|
-
- {componentLocation}/{ComponentName}.swift
|
|
235
|
-
- {componentLocation}/{ComponentName}Configuration.swift (if COMPLEX)
|
|
236
|
-
- {componentLocation}/FIGMA.md
|
|
237
|
-
USER_ACTION_REQUIRED: Fix the violations listed above and re-run validation.
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
**Common violations and fixes:**
|
|
241
|
-
- Top-level enum → Move inside View or Configuration struct
|
|
242
|
-
- Hardcoded accessibility string → Use `LocalizedAccessibilityStringKey`
|
|
243
|
-
- Magic number in body → Move to Constants enum or use token
|
|
244
|
-
- Constants at file scope → Move inside View struct
|
|
245
|
-
- IMPLEMENT property missing → Add to init or mark SKIP with reason
|
|
246
|
-
- Preview struct missing → Run Phase 4D
|
|
247
|
-
- RTL preview missing → Run Phase 4D (dual preview pattern)
|
|
248
|
-
|
|
249
|
-
---
|
|
250
|
-
|
|
251
|
-
## GATE 3: BUILD_VERIFICATION
|
|
252
|
-
|
|
253
|
-
Run a full Xcode build to verify the generated code compiles without errors.
|
|
254
|
-
|
|
255
|
-
### Resolve repo root
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
REPO_ROOT=$(git rev-parse --show-toplevel)
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
This ensures the build command works on any developer's machine regardless of where the repo is cloned.
|
|
262
|
-
|
|
263
|
-
### Build command
|
|
264
|
-
|
|
265
|
-
```bash
|
|
266
|
-
xcodebuild build \
|
|
267
|
-
-project "${REPO_ROOT}/{build.xcodeproj}" \
|
|
268
|
-
-scheme {build.scheme} \
|
|
269
|
-
-destination 'generic/platform=iOS' \
|
|
270
|
-
CODE_SIGNING_ALLOWED=NO \
|
|
271
|
-
-quiet
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
**Why this command is portable:**
|
|
275
|
-
- `git rev-parse --show-toplevel` - resolves absolute repo path on any machine, no hardcoded user paths
|
|
276
|
-
- `generic/platform=iOS` - no simulator name, ID, or OS version needed. Works regardless of installed simulators
|
|
277
|
-
- `CODE_SIGNING_ALLOWED=NO` - bypasses development team / provisioning profile requirements. We only need compilation verification, not a runnable binary
|
|
278
|
-
- `-quiet` - suppresses build log noise, only shows errors and warnings
|
|
279
|
-
|
|
280
|
-
| Result | Action |
|
|
281
|
-
|--------|--------|
|
|
282
|
-
| Exit 0 (PASS) | Proceed to GATE 4 |
|
|
283
|
-
| Exit 1 (FAIL) | Read error output, fix compilation errors, rebuild |
|
|
284
|
-
|
|
285
|
-
If build fails:
|
|
286
|
-
|
|
287
|
-
```
|
|
288
|
-
STATUS: HALT
|
|
289
|
-
PHASE: phase-4
|
|
290
|
-
GATE: BUILD_VERIFICATION
|
|
291
|
-
REASON: Xcode build failed.
|
|
292
|
-
BUILD_ERRORS: {error output from xcodebuild}
|
|
293
|
-
COMPLETED_GATES: [PRE_CHECK, LOAD_SPEC, PREPARE_DIRECTORY, DISPATCH_WAVE_1, DISPATCH_WAVE_2, COLLECT_RESULTS, VALIDATE]
|
|
294
|
-
ARTIFACTS_CREATED:
|
|
295
|
-
- {componentLocation}/{ComponentName}.swift
|
|
296
|
-
- {componentLocation}/{ComponentName}Configuration.swift (if COMPLEX)
|
|
297
|
-
- {componentLocation}/FIGMA.md
|
|
298
|
-
USER_ACTION_REQUIRED: Fix the compilation errors and re-run build.
|
|
299
|
-
```
|
|
300
|
-
|
|
301
|
-
**Common build errors and fixes:**
|
|
302
|
-
- Missing import → Add required `import` statement (UIAssetTokens, UIComponentUtilities, etc.)
|
|
303
|
-
- Type mismatch → Check pass3/04b_component_architecture.md for correct types
|
|
304
|
-
- Unknown token → Verify token exists in pass3/02_token_mapping.md
|
|
305
|
-
- Macro expansion error → Check @GenerateConfiguredInit usage matches reference/macros.md
|
|
306
|
-
- Preview init error → Ensure Preview struct has no macros (see phase-4d-preview.md WHY section)
|
|
307
|
-
|
|
308
|
-
---
|
|
309
|
-
|
|
310
|
-
## GATE 4: UPDATE_REGISTRY
|
|
311
|
-
|
|
312
|
-
Run the Phase 4 finalize script to mark `implemented` in the component registry:
|
|
313
|
-
|
|
314
|
-
```bash
|
|
315
|
-
python3 .instructions/figma/figma-to-swiftui/scripts/phase4-finalize.py \
|
|
316
|
-
--node-id "{nodeId}" \
|
|
317
|
-
--component-name "{ComponentName}" \
|
|
318
|
-
--source-file "{componentLocation}/{ComponentName}.swift" \
|
|
319
|
-
--platform ios
|
|
320
|
-
```
|
|
321
|
-
|
|
322
|
-
| Result | Action |
|
|
323
|
-
|--------|--------|
|
|
324
|
-
| Exit 0, `"action": "updated"` | Registry updated - proceed |
|
|
325
|
-
| Exit 0, `"action": "version_bumped"` | Content hash changed, version bumped (other flags auto-yellow) - proceed |
|
|
326
|
-
| Exit 0, `"action": "already_current"` | Byte-identical re-run, no-op - proceed |
|
|
327
|
-
| Exit 0, `"action": "created"` | New registry file created - proceed |
|
|
328
|
-
| Exit 1 | HALT - registry update failed |
|
|
329
|
-
|
|
330
|
-
**Why this matters:** This is the single source of truth for `status.ios.implemented`. The content hash prevents spurious version bumps on byte-identical re-runs; when content changes, `implemented.version` bumps and any downstream flags (`tested`, `codeConnect`, `wiki`) whose `against` is lower drop to yellow automatically. The subsequent `figma-iteration-commit` step will read this and sync the GitHub issue via `update-issue-from-registry.py`.
|
|
331
|
-
|
|
332
|
-
FAIL →
|
|
333
|
-
```
|
|
334
|
-
STATUS: HALT
|
|
335
|
-
PHASE: phase-4
|
|
336
|
-
GATE: UPDATE_REGISTRY
|
|
337
|
-
REASON: phase4-finalize.py failed.
|
|
338
|
-
COMPLETED_GATES: [PRE_CHECK, LOAD_SPEC, PREPARE_DIRECTORY, DISPATCH_WAVE_1, DISPATCH_WAVE_2, COLLECT_RESULTS, VALIDATE, BUILD_VERIFICATION]
|
|
339
|
-
ARTIFACTS_CREATED:
|
|
340
|
-
- {componentLocation}/{ComponentName}.swift
|
|
341
|
-
USER_ACTION_REQUIRED: Check script error output; verify node-id and component name match the registry.
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
---
|
|
345
|
-
|
|
346
|
-
## GATE 5: UPDATE_IMPLEMENTATION_HISTORY
|
|
347
|
-
|
|
348
|
-
Append to `{artifactPath}/IMPLEMENTATION_HISTORY.md`:
|
|
349
|
-
|
|
350
|
-
```markdown
|
|
351
|
-
## Phase 4: Implementation
|
|
352
|
-
|
|
353
|
-
Files Created:
|
|
354
|
-
- {componentLocation}/{ComponentName}.swift
|
|
355
|
-
- {componentLocation}/{ComponentName}Configuration.swift (if COMPLEX)
|
|
356
|
-
- {componentLocation}/FIGMA.md
|
|
357
|
-
|
|
358
|
-
Implementation:
|
|
359
|
-
- Complexity: {SIMPLE/COMPLEX}
|
|
360
|
-
- Tokens: {COUNT} applied
|
|
361
|
-
- Constants: {COUNT} defined
|
|
362
|
-
- Nested Components: {COUNT} integrated
|
|
363
|
-
- Utilities: Testing IDs: {COUNT}, Localization: {COUNT}, Accessibility: {COUNT}, Analytics: {COUNT}
|
|
364
|
-
- Previews: LTR + RTL (Arabic)
|
|
365
|
-
- Xcode Build: ✅ PASS
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
---
|
|
369
|
-
|
|
370
|
-
## VALIDATION CHECKLIST
|
|
371
|
-
|
|
372
|
-
```
|
|
373
|
-
[ ] Phase 3 artifacts loaded (pass3/_index.md, 07_implementation_spec.md)
|
|
374
|
-
[ ] Component directory created (or merged with existing)
|
|
375
|
-
[ ] Git user name retrieved
|
|
376
|
-
[ ] 4A dispatched and completed (if COMPLEX) - Configuration.swift exists
|
|
377
|
-
[ ] 4B dispatched and completed - View.swift exists
|
|
378
|
-
[ ] 4C dispatched and completed - FIGMA.md exists
|
|
379
|
-
[ ] 4D dispatched and completed - LTR + RTL Previews appended to View.swift
|
|
380
|
-
[ ] validate-phase4.sh passed (no violations)
|
|
381
|
-
[ ] xcodebuild passed (exit 0, no compilation errors)
|
|
382
|
-
[ ] phase4-finalize.py passed (status.ios.implemented updated)
|
|
383
|
-
[ ] IMPLEMENTATION_HISTORY.md updated with Phase 4 summary
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## SUCCESS OUTPUT
|
|
389
|
-
|
|
390
|
-
```
|
|
391
|
-
STATUS: COMPLETE
|
|
392
|
-
PHASE: phase-4
|
|
393
|
-
GATES_PASSED: [PRE_CHECK, LOAD_SPEC, PREPARE_DIRECTORY, DISPATCH_WAVE_1, DISPATCH_WAVE_2, COLLECT_RESULTS, VALIDATE, BUILD_VERIFICATION, UPDATE_REGISTRY, UPDATE_IMPLEMENTATION_HISTORY]
|
|
394
|
-
ARTIFACTS_CREATED:
|
|
395
|
-
- {componentLocation}/{ComponentName}.swift (via Phase 4B + 4D)
|
|
396
|
-
- {componentLocation}/{ComponentName}Configuration.swift (via Phase 4A, if COMPLEX)
|
|
397
|
-
- {componentLocation}/FIGMA.md (via Phase 4C)
|
|
398
|
-
SUMMARY: Implementation complete. {FILE_COUNT} files created at {componentLocation}. Complexity: {SIMPLE/COMPLEX}. Xcode build verified. Ready for Phase 5 testing.
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
---
|
|
402
|
-
|
|
403
|
-
## REFERENCES
|
|
404
|
-
|
|
405
|
-
| Topic | File |
|
|
406
|
-
|-------|------|
|
|
407
|
-
| Phase 4A | `phases/phase-4a-configuration.md` |
|
|
408
|
-
| Phase 4B | `phases/phase-4b-view.md` |
|
|
409
|
-
| Phase 4C | `phases/phase-4c-documentation.md` |
|
|
410
|
-
| Phase 4D | `phases/phase-4d-preview.md` |
|
|
411
|
-
| Macros Reference | `reference/macros.md` |
|
|
412
|
-
| Phase 3 Analysis | `pass3/07_implementation_spec.md` |
|