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