@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.
Files changed (331) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/README.md +2 -2
  3. package/docs/FIGMA_PIPELINE.md +12 -25
  4. package/docs/architecture.md +3 -5
  5. package/docs/features.md +8 -8
  6. package/install/_dev-only-files.mjs +0 -6
  7. package/install/claude.mjs +33 -15
  8. package/install/copilot.mjs +16 -14
  9. package/install/templates/copilot-instructions.md +3 -3
  10. package/package.json +1 -1
  11. package/pipeline/commands/{multi-agent.md → multi-agent/SKILL.md} +39 -39
  12. package/pipeline/commands/multi-agent/{analysis.md → analysis/SKILL.md} +18 -18
  13. package/pipeline/commands/multi-agent/{analysis-resolve.md → analysis-resolve/SKILL.md} +4 -4
  14. package/pipeline/commands/multi-agent/{autopilot.md → autopilot/SKILL.md} +4 -4
  15. package/pipeline/commands/multi-agent/{build-optimize.md → build-optimize/SKILL.md} +1 -1
  16. package/pipeline/commands/multi-agent/{channels.md → channels/SKILL.md} +12 -12
  17. package/pipeline/commands/multi-agent/{dev.md → dev/SKILL.md} +4 -4
  18. package/pipeline/commands/multi-agent/{dev-autopilot.md → dev-autopilot/SKILL.md} +4 -4
  19. package/pipeline/commands/multi-agent/{dev-local.md → dev-local/SKILL.md} +5 -5
  20. package/pipeline/commands/multi-agent/{dev-local-autopilot.md → dev-local-autopilot/SKILL.md} +4 -4
  21. package/pipeline/commands/multi-agent/{finish.md → finish/SKILL.md} +6 -6
  22. package/pipeline/commands/multi-agent/{generate.md → generate/SKILL.md} +3 -3
  23. package/pipeline/commands/multi-agent/{help.md → help/SKILL.md} +4 -4
  24. package/pipeline/commands/multi-agent/{local.md → local/SKILL.md} +5 -5
  25. package/pipeline/commands/multi-agent/{local-autopilot.md → local-autopilot/SKILL.md} +5 -5
  26. package/pipeline/commands/multi-agent/{manual-test.md → manual-test/SKILL.md} +1 -1
  27. package/pipeline/commands/multi-agent/refactor/SKILL.md +257 -0
  28. package/pipeline/commands/multi-agent/{resume.md → resume/SKILL.md} +1 -1
  29. package/pipeline/commands/multi-agent/{review.md → review/SKILL.md} +5 -5
  30. package/pipeline/commands/multi-agent/{setup.md → setup/SKILL.md} +1 -1
  31. package/pipeline/commands/multi-agent/{sync.md → sync/SKILL.md} +20 -58
  32. package/pipeline/{commands/multi-agent → multi-agent-refs}/_account-picker.md +2 -2
  33. package/pipeline/{commands/multi-agent → multi-agent-refs}/_dev-context.md +2 -2
  34. package/pipeline/{commands/multi-agent → multi-agent-refs}/_repo-picker.md +2 -2
  35. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/android-guide.md +1 -1
  36. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/jira.md +1 -1
  37. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/wiki.md +7 -7
  38. package/pipeline/multi-agent-refs/component-dispatch.md +92 -0
  39. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/cross-cli-contract.md +10 -77
  40. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/verify-by-test.md +1 -1
  41. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/generate-issue.md +2 -2
  42. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/issue-jira-triad.md +1 -1
  43. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/keychain.md +1 -1
  44. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/log-format.md +1 -1
  45. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/modes.md +2 -2
  46. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/operations.md +1 -1
  47. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-0-init.md +10 -10
  48. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-1-analysis.md +6 -6
  49. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-2-planning.md +3 -3
  50. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-3-dev.md +10 -10
  51. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-4-review.md +8 -8
  52. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-5-test.md +3 -3
  53. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-6-commit.md +4 -4
  54. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases/phase-7-report.md +6 -6
  55. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/phases.md +12 -12
  56. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/progress-contract.md +4 -4
  57. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/swiftui-guide.md +1 -1
  58. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/tracker-contract.md +3 -3
  59. package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/wiki-capture.md +4 -4
  60. package/pipeline/preferences-template.json +17 -1
  61. package/pipeline/rules/figma-pipeline.md +2 -2
  62. package/pipeline/schemas/prefs.schema.json +0 -34
  63. package/pipeline/scripts/README.md +1 -3
  64. package/pipeline/scripts/fixtures/install-layout.tsv +6 -5
  65. package/pipeline/scripts/gen-mode-dispatch.mjs +3 -3
  66. package/pipeline/scripts/phase-banner.sh +2 -2
  67. package/pipeline/scripts/review-scope.mjs +94 -0
  68. package/pipeline/scripts/scan-agent-config.sh +2 -2
  69. package/pipeline/scripts/smoke-agent-log-cost.sh +1 -1
  70. package/pipeline/scripts/smoke-agent-model-routing.sh +4 -4
  71. package/pipeline/scripts/smoke-autopilot-circuit-breaker.sh +2 -2
  72. package/pipeline/scripts/smoke-channels-approval-gate.sh +2 -2
  73. package/pipeline/scripts/smoke-channels-flow.sh +5 -5
  74. package/pipeline/scripts/smoke-clarify.sh +1 -1
  75. package/pipeline/scripts/smoke-commands-skills-parity.sh +3 -3
  76. package/pipeline/scripts/smoke-community-gates.sh +1 -1
  77. package/pipeline/scripts/smoke-compliance-skills.sh +2 -2
  78. package/pipeline/scripts/smoke-cost-summary.sh +1 -1
  79. package/pipeline/scripts/smoke-cross-cli-behavior.sh +17 -43
  80. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +1 -1
  81. package/pipeline/scripts/smoke-dev-critic.sh +1 -1
  82. package/pipeline/scripts/smoke-diff-explain.sh +1 -1
  83. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  84. package/pipeline/scripts/smoke-evidence-gate.sh +1 -1
  85. package/pipeline/scripts/smoke-figma-dispatch.sh +46 -57
  86. package/pipeline/scripts/smoke-gate-hooks.sh +1 -1
  87. package/pipeline/scripts/smoke-generate-issue.sh +8 -8
  88. package/pipeline/scripts/smoke-handoff-contract.sh +3 -3
  89. package/pipeline/scripts/smoke-identity-isolation.sh +2 -2
  90. package/pipeline/scripts/smoke-intent-guard.sh +1 -1
  91. package/pipeline/scripts/smoke-issue-comment-template.sh +2 -2
  92. package/pipeline/scripts/smoke-issue-jira-triad.sh +4 -4
  93. package/pipeline/scripts/smoke-language-axis.sh +6 -6
  94. package/pipeline/scripts/smoke-learnings-ledger.sh +3 -3
  95. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +16 -16
  96. package/pipeline/scripts/smoke-model-fallback.sh +3 -3
  97. package/pipeline/scripts/smoke-multi-repo-integration.sh +2 -2
  98. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  99. package/pipeline/scripts/smoke-no-token-prompt.sh +5 -5
  100. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  101. package/pipeline/scripts/smoke-phase-6-multi.sh +1 -1
  102. package/pipeline/scripts/smoke-phase4-gates.sh +45 -0
  103. package/pipeline/scripts/smoke-plan-approval-gate.sh +5 -5
  104. package/pipeline/scripts/smoke-plan-todos.sh +3 -3
  105. package/pipeline/scripts/smoke-pr-review-actions.sh +3 -3
  106. package/pipeline/scripts/smoke-prefs-language.sh +1 -1
  107. package/pipeline/scripts/smoke-progress-contract.sh +2 -2
  108. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  109. package/pipeline/scripts/smoke-repo-map.sh +2 -2
  110. package/pipeline/scripts/smoke-shadow-git.sh +1 -1
  111. package/pipeline/scripts/smoke-skill-authoring.sh +4 -9
  112. package/pipeline/scripts/smoke-tasklist-ordering.sh +10 -10
  113. package/pipeline/scripts/smoke-test-gap.sh +1 -1
  114. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  115. package/pipeline/scripts/smoke-token-preflight.sh +2 -2
  116. package/pipeline/scripts/smoke-tracker-contract.sh +13 -13
  117. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +5 -5
  118. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  119. package/pipeline/scripts/smoke-update-check.sh +1 -1
  120. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  121. package/pipeline/scripts/smoke-validator-gates.sh +1 -1
  122. package/pipeline/scripts/smoke-verify-by-test.sh +3 -3
  123. package/pipeline/scripts/smoke-wiki-integration.sh +9 -33
  124. package/pipeline/scripts/smoke-work-summary.sh +1 -1
  125. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  126. package/pipeline/scripts/test-integrity-gate.mjs +83 -0
  127. package/pipeline/scripts/uninstall.mjs +2 -2
  128. package/pipeline/skills/.skill-manifest.json +40 -160
  129. package/pipeline/skills/.skills-index.json +3 -372
  130. package/pipeline/skills/shared/README.md +1 -1
  131. package/pipeline/skills/shared/core/multi-agent/SKILL.md +1 -1
  132. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +2 -2
  133. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +3 -3
  134. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +1 -1
  135. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +1 -1
  136. package/pipeline/skills/shared/core/multi-agent-finish/SKILL.md +1 -1
  137. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +1 -1
  138. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +116 -51
  139. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +8 -30
  140. package/pipeline/skills/shared/external/compose-components/SKILL.md +14 -14
  141. package/pipeline/skills/skills-index.md +2 -43
  142. package/pipeline/commands/multi-agent/refactor.md +0 -188
  143. package/pipeline/commands/multi-agent/refs/component-dispatch.md +0 -92
  144. package/pipeline/scripts/smoke-existing-discovery-gate.sh +0 -71
  145. package/pipeline/scripts/smoke-figma-android-parity.sh +0 -148
  146. package/pipeline/scripts/smoke-figma-credential-store.sh +0 -105
  147. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +0 -177
  148. package/pipeline/scripts/smoke-figma-sync.sh +0 -149
  149. package/pipeline/scripts/smoke-sync-delegation.sh +0 -74
  150. package/pipeline/skills/figma-android/README.md +0 -38
  151. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +0 -62
  152. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +0 -158
  153. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +0 -120
  154. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +0 -35
  155. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +0 -124
  156. package/pipeline/skills/figma-common/README.md +0 -64
  157. package/pipeline/skills/figma-common/figma-bottom-sheets/SKILL.md +0 -152
  158. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +0 -282
  159. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +0 -503
  160. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +0 -288
  161. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +0 -362
  162. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +0 -206
  163. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +0 -337
  164. package/pipeline/skills/figma-common/figma-commit/SKILL.md +0 -216
  165. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +0 -223
  166. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +0 -251
  167. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +0 -78
  168. package/pipeline/skills/figma-common/figma-evolve-component/SKILL.md +0 -61
  169. package/pipeline/skills/figma-common/figma-fix/SKILL.md +0 -321
  170. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +0 -542
  171. package/pipeline/skills/figma-common/figma-issue/SKILL.md +0 -750
  172. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +0 -208
  173. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +0 -1020
  174. package/pipeline/skills/figma-common/figma-mend/SKILL.md +0 -331
  175. package/pipeline/skills/figma-common/figma-navigation/SKILL.md +0 -156
  176. package/pipeline/skills/figma-common/figma-overlays/SKILL.md +0 -142
  177. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +0 -398
  178. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +0 -104
  179. package/pipeline/skills/figma-common/figma-review/SKILL.md +0 -400
  180. package/pipeline/skills/figma-common/figma-setup/SKILL.md +0 -514
  181. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +0 -592
  182. package/pipeline/skills/figma-common/figma-skip/SKILL.md +0 -129
  183. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +0 -105
  184. package/pipeline/skills/figma-common/figma-ui-patterns/patterns/animated-gradient-border.md +0 -116
  185. package/pipeline/skills/figma-common/figma-utility/SKILL.md +0 -274
  186. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +0 -808
  187. package/pipeline/skills/figma-common/figma-validate/SKILL.md +0 -633
  188. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +0 -716
  189. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +0 -238
  190. package/pipeline/skills/figma-common/performance-start/SKILL.md +0 -430
  191. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +0 -706
  192. package/pipeline/skills/figma-common/performance-tour/SKILL.md +0 -423
  193. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +0 -67
  194. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +0 -178
  195. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +0 -184
  196. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +0 -219
  197. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +0 -274
  198. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +0 -416
  199. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +0 -57
  200. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +0 -307
  201. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +0 -119
  202. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +0 -174
  203. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +0 -333
  204. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +0 -368
  205. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +0 -393
  206. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +0 -617
  207. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +0 -352
  208. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +0 -337
  209. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +0 -206
  210. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +0 -235
  211. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +0 -214
  212. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +0 -902
  213. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +0 -156
  214. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +0 -175
  215. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +0 -176
  216. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +0 -333
  217. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +0 -412
  218. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +0 -336
  219. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +0 -705
  220. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +0 -332
  221. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +0 -380
  222. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +0 -262
  223. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +0 -482
  224. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +0 -274
  225. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +0 -636
  226. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +0 -142
  227. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +0 -547
  228. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +0 -39
  229. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +0 -659
  230. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +0 -580
  231. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +0 -51
  232. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +0 -183
  233. package/pipeline/skills/figma-ios/figma-to-component/reference/analytics-events.md +0 -64
  234. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +0 -531
  235. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-api.md +0 -89
  236. package/pipeline/skills/figma-ios/figma-to-component/reference/confluence-xhtml.md +0 -155
  237. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +0 -196
  238. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +0 -57
  239. package/pipeline/skills/figma-ios/figma-to-component/reference/localization-naming.md +0 -89
  240. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +0 -227
  241. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +0 -157
  242. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +0 -90
  243. package/pipeline/skills/figma-ios/figma-to-component/reference/registry.md +0 -116
  244. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +0 -153
  245. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +0 -130
  246. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +0 -218
  247. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +0 -188
  248. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +0 -93
  249. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +0 -98
  250. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +0 -261
  251. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +0 -147
  252. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +0 -182
  253. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +0 -185
  254. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +0 -609
  255. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +0 -332
  256. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +0 -261
  257. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +0 -184
  258. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +0 -188
  259. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +0 -768
  260. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +0 -191
  261. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +0 -420
  262. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +0 -9
  263. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +0 -336
  264. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +0 -391
  265. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +0 -292
  266. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/__init__.py +0 -1
  267. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +0 -93
  268. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +0 -299
  269. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_backfill_status.py +0 -343
  270. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +0 -206
  271. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update_http.py +0 -149
  272. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_phase_clis.py +0 -281
  273. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +0 -332
  274. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +0 -176
  275. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_review.py +0 -98
  276. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue.py +0 -298
  277. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +0 -195
  278. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +0 -1298
  279. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +0 -228
  280. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +0 -1089
  281. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +0 -141
  282. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +0 -106
  283. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +0 -162
  284. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +0 -105
  285. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +0 -179
  286. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +0 -260
  287. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +0 -260
  288. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +0 -86
  289. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +0 -321
  290. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +0 -1470
  291. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +0 -176
  292. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +0 -147
  293. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase7a.py +0 -629
  294. /package/pipeline/commands/multi-agent/{delete.md → delete/SKILL.md} +0 -0
  295. /package/pipeline/commands/multi-agent/{diff-explain.md → diff-explain/SKILL.md} +0 -0
  296. /package/pipeline/commands/multi-agent/{garbage-collect.md → garbage-collect/SKILL.md} +0 -0
  297. /package/pipeline/commands/multi-agent/{issue.md → issue/SKILL.md} +0 -0
  298. /package/pipeline/commands/multi-agent/{jira.md → jira/SKILL.md} +0 -0
  299. /package/pipeline/commands/multi-agent/{kill.md → kill/SKILL.md} +0 -0
  300. /package/pipeline/commands/multi-agent/{language.md → language/SKILL.md} +0 -0
  301. /package/pipeline/commands/multi-agent/{log.md → log/SKILL.md} +0 -0
  302. /package/pipeline/commands/multi-agent/{prune-logs.md → prune-logs/SKILL.md} +0 -0
  303. /package/pipeline/commands/multi-agent/{purge.md → purge/SKILL.md} +0 -0
  304. /package/pipeline/commands/multi-agent/{scan.md → scan/SKILL.md} +0 -0
  305. /package/pipeline/commands/multi-agent/{search.md → search/SKILL.md} +0 -0
  306. /package/pipeline/commands/multi-agent/{stack.md → stack/SKILL.md} +0 -0
  307. /package/pipeline/commands/multi-agent/{status.md → status/SKILL.md} +0 -0
  308. /package/pipeline/commands/multi-agent/{test.md → test/SKILL.md} +0 -0
  309. /package/pipeline/commands/multi-agent/{update.md → update/SKILL.md} +0 -0
  310. /package/pipeline/{commands/multi-agent → multi-agent-refs}/_input-parser.md +0 -0
  311. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/analysis-template.md +0 -0
  312. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/audit-guide.md +0 -0
  313. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/backend-guide.md +0 -0
  314. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/confluence.md +0 -0
  315. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/issue-comment.md +0 -0
  316. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr-review-actions.md +0 -0
  317. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/channels/pr.md +0 -0
  318. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/conventions-defaults.md +0 -0
  319. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/autopilot-circuit-breaker.md +0 -0
  320. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/dev-critic.md +0 -0
  321. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/external-context-injection.md +0 -0
  322. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/model-fallback.md +0 -0
  323. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/plan-todos.md +0 -0
  324. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/prior-fix-detection.md +0 -0
  325. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/repo-map.md +0 -0
  326. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/features/shadow-git.md +0 -0
  327. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/frontend-guide.md +0 -0
  328. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/knowledge.md +0 -0
  329. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/multi-repo-integration-build.md +0 -0
  330. /package/pipeline/{commands/multi-agent/refs → multi-agent-refs}/picker-contract.md +0 -0
  331. /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
- ```