@mmerterden/multi-agent-pipeline 8.6.1 → 10.0.6

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 (928) hide show
  1. package/CHANGELOG.md +544 -2484
  2. package/README.md +117 -138
  3. package/docs/features.md +1 -1
  4. package/index.js +8 -10
  5. package/install/_adapters.mjs +5 -1
  6. package/install/_common.mjs +63 -0
  7. package/install/claude.mjs +14 -14
  8. package/install/copilot.mjs +14 -8
  9. package/install/index.mjs +85 -19
  10. package/install/templates/claude-hooks.json +18 -0
  11. package/install/templates/copilot-instructions.md +3 -3
  12. package/package.json +21 -6
  13. package/pipeline/adapters/_base.mjs +366 -14
  14. package/pipeline/adapters/antigravity.mjs +140 -0
  15. package/pipeline/adapters/codex.mjs +159 -0
  16. package/pipeline/adapters/copilot-chat-orchestration.mjs +148 -0
  17. package/pipeline/adapters/copilot-chat.mjs +34 -68
  18. package/pipeline/adapters/cursor-orchestration.mjs +152 -0
  19. package/pipeline/adapters/cursor.mjs +49 -90
  20. package/pipeline/agents/android-architect.md +5 -5
  21. package/pipeline/agents/backend-architect.md +4 -4
  22. package/pipeline/agents/code-reviewer.md +10 -10
  23. package/pipeline/agents/dev-critic.md +17 -17
  24. package/pipeline/agents/explorer.md +3 -3
  25. package/pipeline/agents/ios-architect.md +4 -4
  26. package/pipeline/agents/security-auditor.md +12 -12
  27. package/pipeline/agents/task-clarifier.md +18 -18
  28. package/pipeline/claude-md-template.md +3 -3
  29. package/pipeline/commands/archive-guard.md +3 -3
  30. package/pipeline/commands/figma-to-swiftui.md +10 -10
  31. package/pipeline/commands/multi-agent/_account-picker.md +13 -9
  32. package/pipeline/commands/multi-agent/_dev-context.md +15 -15
  33. package/pipeline/commands/multi-agent/_input-parser.md +4 -4
  34. package/pipeline/commands/multi-agent/_repo-picker.md +9 -9
  35. package/pipeline/commands/multi-agent/analysis-resolve.md +129 -0
  36. package/pipeline/commands/multi-agent/analysis.md +667 -0
  37. package/pipeline/commands/multi-agent/autopilot.md +22 -22
  38. package/pipeline/commands/multi-agent/build-optimize.md +77 -0
  39. package/pipeline/commands/multi-agent/channels.md +96 -96
  40. package/pipeline/commands/multi-agent/delete.md +19 -17
  41. package/pipeline/commands/multi-agent/dev-autopilot.md +23 -23
  42. package/pipeline/commands/multi-agent/dev-local-autopilot.md +23 -23
  43. package/pipeline/commands/multi-agent/dev-local.md +25 -22
  44. package/pipeline/commands/multi-agent/dev.md +49 -49
  45. package/pipeline/commands/multi-agent/diff-explain.md +4 -4
  46. package/pipeline/commands/multi-agent/garbage-collect.md +58 -0
  47. package/pipeline/commands/multi-agent/help.md +75 -66
  48. package/pipeline/commands/multi-agent/issue.md +3 -3
  49. package/pipeline/commands/multi-agent/jira.md +12 -12
  50. package/pipeline/commands/multi-agent/kill.md +6 -6
  51. package/pipeline/commands/multi-agent/language.md +12 -12
  52. package/pipeline/commands/multi-agent/local-autopilot.md +34 -34
  53. package/pipeline/commands/multi-agent/local.md +24 -25
  54. package/pipeline/commands/multi-agent/log.md +6 -6
  55. package/pipeline/commands/multi-agent/manual-test.md +3 -3
  56. package/pipeline/commands/multi-agent/prune-logs.md +60 -0
  57. package/pipeline/commands/multi-agent/purge.md +10 -7
  58. package/pipeline/commands/multi-agent/refactor.md +9 -9
  59. package/pipeline/commands/multi-agent/refs/analysis-template.md +1062 -0
  60. package/pipeline/commands/multi-agent/refs/android-guide.md +15 -13
  61. package/pipeline/commands/multi-agent/refs/audit-guide.md +20 -20
  62. package/pipeline/commands/multi-agent/refs/backend-guide.md +9 -9
  63. package/pipeline/commands/multi-agent/refs/channels/confluence.md +17 -17
  64. package/pipeline/commands/multi-agent/refs/channels/issue-comment.md +30 -30
  65. package/pipeline/commands/multi-agent/refs/channels/jira.md +15 -15
  66. package/pipeline/commands/multi-agent/refs/channels/pr-review-actions.md +19 -17
  67. package/pipeline/commands/multi-agent/refs/channels/pr.md +22 -22
  68. package/pipeline/commands/multi-agent/refs/channels/wiki.md +19 -19
  69. package/pipeline/commands/multi-agent/refs/component-dispatch.md +11 -11
  70. package/pipeline/commands/multi-agent/refs/conventions-defaults.md +179 -0
  71. package/pipeline/commands/multi-agent/refs/cross-cli-contract.md +35 -33
  72. package/pipeline/commands/multi-agent/refs/features/dev-critic.md +5 -5
  73. package/pipeline/commands/multi-agent/refs/features/external-context-injection.md +6 -6
  74. package/pipeline/commands/multi-agent/refs/features/model-fallback.md +73 -0
  75. package/pipeline/commands/multi-agent/refs/features/plan-todos.md +1 -1
  76. package/pipeline/commands/multi-agent/refs/features/prior-fix-detection.md +4 -4
  77. package/pipeline/commands/multi-agent/refs/features/repo-map.md +6 -6
  78. package/pipeline/commands/multi-agent/refs/features/shadow-git.md +2 -2
  79. package/pipeline/commands/multi-agent/refs/frontend-guide.md +16 -16
  80. package/pipeline/commands/multi-agent/refs/issue-jira-triad.md +18 -18
  81. package/pipeline/commands/multi-agent/refs/keychain.md +18 -8
  82. package/pipeline/commands/multi-agent/refs/knowledge.md +9 -9
  83. package/pipeline/commands/multi-agent/refs/multi-repo-integration-build.md +19 -19
  84. package/pipeline/commands/multi-agent/refs/phases/log-format.md +29 -9
  85. package/pipeline/commands/multi-agent/refs/phases/modes.md +33 -33
  86. package/pipeline/commands/multi-agent/refs/phases/operations.md +11 -11
  87. package/pipeline/commands/multi-agent/refs/phases/phase-0-init.md +93 -57
  88. package/pipeline/commands/multi-agent/refs/phases/phase-1-analysis.md +59 -28
  89. package/pipeline/commands/multi-agent/refs/phases/phase-2-planning.md +115 -63
  90. package/pipeline/commands/multi-agent/refs/phases/phase-3-dev.md +99 -36
  91. package/pipeline/commands/multi-agent/refs/phases/phase-4-review.md +160 -63
  92. package/pipeline/commands/multi-agent/refs/phases/phase-5-test.md +33 -18
  93. package/pipeline/commands/multi-agent/refs/phases/phase-6-commit.md +45 -43
  94. package/pipeline/commands/multi-agent/refs/phases/phase-7-report.md +54 -28
  95. package/pipeline/commands/multi-agent/refs/phases.md +17 -17
  96. package/pipeline/commands/multi-agent/refs/picker-contract.md +65 -0
  97. package/pipeline/commands/multi-agent/refs/progress-contract.md +37 -21
  98. package/pipeline/commands/multi-agent/refs/rules.md +83 -25
  99. package/pipeline/commands/multi-agent/refs/swiftui-guide.md +32 -30
  100. package/pipeline/commands/multi-agent/refs/tracker-contract.md +54 -30
  101. package/pipeline/commands/multi-agent/refs/wiki-capture.md +36 -33
  102. package/pipeline/commands/multi-agent/resume.md +9 -9
  103. package/pipeline/commands/multi-agent/review.md +24 -24
  104. package/pipeline/commands/multi-agent/scan.md +10 -10
  105. package/pipeline/commands/multi-agent/search.md +8 -8
  106. package/pipeline/commands/multi-agent/setup.md +111 -84
  107. package/pipeline/commands/multi-agent/stack.md +5 -5
  108. package/pipeline/commands/multi-agent/status.md +5 -5
  109. package/pipeline/commands/multi-agent/sync.md +123 -111
  110. package/pipeline/commands/multi-agent/test.md +6 -6
  111. package/pipeline/commands/multi-agent/update.md +1 -1
  112. package/pipeline/commands/multi-agent.md +66 -60
  113. package/pipeline/commands/sim-test.md +14 -14
  114. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-1-analysis.json +1 -1
  115. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-review.json +2 -2
  116. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/expected/phase-4-triage.json +2 -2
  117. package/pipeline/eval/golden-tasks/01-ios-bugfix-darkmode/metadata.json +1 -1
  118. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-1-analysis.json +2 -2
  119. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-review.json +3 -3
  120. package/pipeline/eval/golden-tasks/02-android-feature-compose/expected/phase-4-triage.json +4 -4
  121. package/pipeline/eval/golden-tasks/02-android-feature-compose/metadata.json +1 -1
  122. package/pipeline/eval/golden-tasks/02-android-feature-compose/task.json +1 -1
  123. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-1-analysis.json +29 -0
  124. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-2-plan.json +42 -0
  125. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-review.json +20 -0
  126. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/expected/phase-4-triage.json +15 -0
  127. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/metadata.json +14 -0
  128. package/pipeline/eval/golden-tasks/03-backend-python-ratelimit/task.json +12 -0
  129. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-1-analysis.json +29 -0
  130. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-2-plan.json +40 -0
  131. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-review.json +20 -0
  132. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/expected/phase-4-triage.json +15 -0
  133. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/metadata.json +14 -0
  134. package/pipeline/eval/golden-tasks/04-frontend-next-hydration/task.json +12 -0
  135. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-1-analysis.json +29 -0
  136. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-2-plan.json +42 -0
  137. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-review.json +28 -0
  138. package/pipeline/eval/golden-tasks/05-ios-security-keychain/expected/phase-4-triage.json +27 -0
  139. package/pipeline/eval/golden-tasks/05-ios-security-keychain/metadata.json +14 -0
  140. package/pipeline/eval/golden-tasks/05-ios-security-keychain/task.json +12 -0
  141. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-1-analysis.json +29 -0
  142. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-2-plan.json +41 -0
  143. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-review.json +12 -0
  144. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/expected/phase-4-triage.json +6 -0
  145. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/metadata.json +14 -0
  146. package/pipeline/eval/golden-tasks/06-android-refactor-usecase/task.json +12 -0
  147. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-1-analysis.json +29 -0
  148. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-2-plan.json +42 -0
  149. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-review.json +28 -0
  150. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/expected/phase-4-triage.json +27 -0
  151. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/metadata.json +14 -0
  152. package/pipeline/eval/golden-tasks/07-backend-node-idempotency/task.json +12 -0
  153. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-1-analysis.json +25 -0
  154. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-2-plan.json +31 -0
  155. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-review.json +12 -0
  156. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/expected/phase-4-triage.json +18 -0
  157. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/metadata.json +14 -0
  158. package/pipeline/eval/golden-tasks/08-ios-auth-consensus-unverified/task.json +12 -0
  159. package/pipeline/eval/golden-tasks/README.md +14 -14
  160. package/pipeline/eval/intent-cases.json +40 -0
  161. package/pipeline/eval/run-metrics-fixture.json +46 -0
  162. package/pipeline/eval/triage/01-empty-findings/notes.md +1 -1
  163. package/pipeline/eval/triage/02-real-blocker/notes.md +2 -2
  164. package/pipeline/eval/triage/03-out-of-scope-defer/notes.md +1 -1
  165. package/pipeline/eval/triage/04-false-positive-reject/notes.md +1 -1
  166. package/pipeline/eval/triage/05-mixed-classification/notes.md +2 -2
  167. package/pipeline/eval/triage/06-severity-mismatch/notes.md +2 -2
  168. package/pipeline/eval/triage/07-duplicate-reviewers/notes.md +1 -1
  169. package/pipeline/eval/triage/08-style-misclassified/notes.md +1 -1
  170. package/pipeline/eval/triage/09-cascading-finding/notes.md +2 -2
  171. package/pipeline/eval/triage/10-deferred-crossref/notes.md +2 -2
  172. package/pipeline/eval/triage/11-vercel-token-leak-blocker/expected.json +3 -3
  173. package/pipeline/eval/triage/11-vercel-token-leak-blocker/input.json +2 -2
  174. package/pipeline/eval/triage/11-vercel-token-leak-blocker/notes.md +5 -5
  175. package/pipeline/eval/triage/README.md +4 -4
  176. package/pipeline/lib/account-resolver.sh +3 -3
  177. package/pipeline/lib/ask-choice.sh +98 -0
  178. package/pipeline/lib/channels-multi-repo.sh +3 -3
  179. package/pipeline/lib/classify-intent.sh +110 -0
  180. package/pipeline/lib/context-link-extractor.sh +3 -3
  181. package/pipeline/lib/credential-store-resolver.sh +3 -3
  182. package/pipeline/lib/credential-store.sh +9 -5
  183. package/pipeline/lib/extract-conventions.sh +1034 -0
  184. package/pipeline/lib/fetch-confluence.sh +3 -3
  185. package/pipeline/lib/fetch-crashlytics.sh +5 -5
  186. package/pipeline/lib/fetch-fortify.sh +5 -21
  187. package/pipeline/lib/fetch-swagger.sh +5 -5
  188. package/pipeline/lib/figma-screenshot.sh +536 -0
  189. package/pipeline/lib/issue-fetcher.sh +46 -20
  190. package/pipeline/lib/md2confluence-v3.py +1076 -0
  191. package/pipeline/lib/multi-repo-pipeline.sh +13 -22
  192. package/pipeline/lib/plan-todos.sh +7 -7
  193. package/pipeline/lib/post-pr-review.sh +53 -21
  194. package/pipeline/lib/repo-cache.sh +5 -5
  195. package/pipeline/lib/review-watch.sh +17 -13
  196. package/pipeline/lib/shadow-git.sh +7 -7
  197. package/pipeline/lib/submodule-detector.sh +3 -3
  198. package/pipeline/lib/vercel-deploy.sh +28 -15
  199. package/pipeline/preferences-template.json +21 -4
  200. package/pipeline/rules/app-store-guidelines.md +2 -2
  201. package/pipeline/rules/code-style.md +6 -6
  202. package/pipeline/rules/figma-pipeline.md +100 -2
  203. package/pipeline/rules/kotlin-android.md +8 -8
  204. package/pipeline/rules/security.md +4 -4
  205. package/pipeline/rules/tdd.md +1 -1
  206. package/pipeline/rules/testing.md +5 -5
  207. package/pipeline/schemas/agent-state.schema.json +55 -20
  208. package/pipeline/schemas/analysis-output.schema.json +7 -2
  209. package/pipeline/schemas/analysis-spec.schema.json +484 -0
  210. package/pipeline/schemas/clarify-output.schema.json +5 -5
  211. package/pipeline/schemas/conventions-output.schema.json +70 -0
  212. package/pipeline/schemas/dev-critic-output.schema.json +2 -2
  213. package/pipeline/schemas/diff-risk.schema.json +3 -3
  214. package/pipeline/schemas/figma-project-config.schema.json +3 -3
  215. package/pipeline/schemas/learnings-ledger.schema.json +39 -0
  216. package/pipeline/schemas/migrations/README.md +2 -2
  217. package/pipeline/schemas/migrations/figma-config-1.0.0-to-2.0.0.mjs +5 -5
  218. package/pipeline/schemas/migrations/prefs-2.0.0-to-2.1.0.mjs +3 -3
  219. package/pipeline/schemas/migrations/prefs-2.1.0-to-2.2.0.mjs +4 -4
  220. package/pipeline/schemas/migrations/prefs-2.2.0-to-2.3.0.mjs +5 -5
  221. package/pipeline/schemas/migrations/state-2.0.0-to-2.1.0.mjs +3 -3
  222. package/pipeline/schemas/plan-todos.schema.json +4 -4
  223. package/pipeline/schemas/planning-output.schema.json +3 -3
  224. package/pipeline/schemas/prefs.schema.json +97 -13
  225. package/pipeline/schemas/reviewer-output.schema.json +7 -3
  226. package/pipeline/schemas/test-gap.schema.json +1 -1
  227. package/pipeline/schemas/token-budget.json +8 -8
  228. package/pipeline/schemas/triage-corpus.schema.json +1 -1
  229. package/pipeline/schemas/triage-output.schema.json +44 -6
  230. package/pipeline/scripts/README.md +64 -64
  231. package/pipeline/scripts/aggregate-metrics.mjs +55 -16
  232. package/pipeline/scripts/audit-log-rotate.sh +3 -3
  233. package/pipeline/scripts/audit-log.sh +20 -7
  234. package/pipeline/scripts/benchmark-phase-0.sh +6 -6
  235. package/pipeline/scripts/build-skills-index.mjs +15 -15
  236. package/pipeline/scripts/check-md-links.mjs +59 -0
  237. package/pipeline/scripts/classify-plan-safety.mjs +24 -18
  238. package/pipeline/scripts/cost-budget-check.mjs +160 -0
  239. package/pipeline/scripts/cost-table.json +23 -13
  240. package/pipeline/scripts/diff-explain.mjs +12 -12
  241. package/pipeline/scripts/diff-risk-score.mjs +18 -17
  242. package/pipeline/scripts/eval-golden-tasks-live.mjs +13 -10
  243. package/pipeline/scripts/eval-golden-tasks.mjs +3 -14
  244. package/pipeline/scripts/eval-intent.mjs +103 -0
  245. package/pipeline/scripts/eval-triage.mjs +3 -3
  246. package/pipeline/scripts/evidence-gate.mjs +155 -0
  247. package/pipeline/scripts/fixtures/install-layout.tsv +9 -9
  248. package/pipeline/scripts/gc-tmp.sh +102 -0
  249. package/pipeline/scripts/gen-mode-dispatch.mjs +27 -21
  250. package/pipeline/scripts/gen-skills-index.mjs +6 -6
  251. package/pipeline/scripts/github-ssh-setup.sh +1 -1
  252. package/pipeline/scripts/keychain-save.sh +1 -1
  253. package/pipeline/scripts/keychain.py +6 -6
  254. package/pipeline/scripts/learnings-ledger.mjs +284 -0
  255. package/pipeline/scripts/lint-skills.mjs +80 -0
  256. package/pipeline/scripts/log-metric.sh +18 -9
  257. package/pipeline/scripts/match-skills.mjs +13 -8
  258. package/pipeline/scripts/memory-load.sh +3 -3
  259. package/pipeline/scripts/memory-save.sh +5 -5
  260. package/pipeline/scripts/migrate-prefs.mjs +17 -17
  261. package/pipeline/scripts/migrate-state.mjs +12 -12
  262. package/pipeline/scripts/output-quality-check.sh +7 -7
  263. package/pipeline/scripts/phase-banner.sh +5 -5
  264. package/pipeline/scripts/phase-tracker.sh +90 -53
  265. package/pipeline/scripts/pre-commit-check.sh +45 -5
  266. package/pipeline/scripts/pre-push-check.sh +7 -7
  267. package/pipeline/scripts/prune-logs.sh +118 -0
  268. package/pipeline/scripts/render-agent-log-cost.sh +55 -18
  269. package/pipeline/scripts/render-cost-summary.sh +9 -9
  270. package/pipeline/scripts/render-work-summary.sh +4 -4
  271. package/pipeline/scripts/repo-map.mjs +9 -9
  272. package/pipeline/scripts/run-aggregator.mjs +7 -6
  273. package/pipeline/scripts/run-metrics.mjs +129 -0
  274. package/pipeline/scripts/run-smokes.mjs +76 -0
  275. package/pipeline/scripts/scan-skills.sh +11 -11
  276. package/pipeline/scripts/search-logs.sh +8 -8
  277. package/pipeline/scripts/sign-skills.sh +2 -2
  278. package/pipeline/scripts/smoke-adapters.sh +79 -10
  279. package/pipeline/scripts/smoke-add-detail.sh +5 -5
  280. package/pipeline/scripts/smoke-agent-log-cost.sh +85 -6
  281. package/pipeline/scripts/smoke-agent-model-routing.sh +3 -3
  282. package/pipeline/scripts/smoke-ask-choice.sh +42 -0
  283. package/pipeline/scripts/smoke-bitbucket-contract.sh +19 -3
  284. package/pipeline/scripts/smoke-changelog-version.sh +47 -0
  285. package/pipeline/scripts/smoke-channels-flow.sh +1 -1
  286. package/pipeline/scripts/smoke-ci-workflows.sh +5 -5
  287. package/pipeline/scripts/smoke-clarify.sh +3 -3
  288. package/pipeline/scripts/smoke-commands-skills-parity.sh +4 -4
  289. package/pipeline/scripts/smoke-community-gates.sh +75 -0
  290. package/pipeline/scripts/smoke-compliance-skills.sh +5 -5
  291. package/pipeline/scripts/smoke-cost-budget.sh +70 -0
  292. package/pipeline/scripts/smoke-cost-summary.sh +4 -4
  293. package/pipeline/scripts/smoke-cross-cli-behavior.sh +50 -9
  294. package/pipeline/scripts/smoke-cross-phase-cohesion.sh +5 -5
  295. package/pipeline/scripts/smoke-delete-flow.sh +5 -5
  296. package/pipeline/scripts/smoke-dev-critic.sh +2 -2
  297. package/pipeline/scripts/smoke-diff-explain.sh +22 -3
  298. package/pipeline/scripts/smoke-diff-risk.sh +1 -1
  299. package/pipeline/scripts/smoke-dynamic-skill-loading.sh +1 -1
  300. package/pipeline/scripts/smoke-eval-live.sh +4 -4
  301. package/pipeline/scripts/smoke-evidence-gate.sh +93 -0
  302. package/pipeline/scripts/smoke-existing-discovery-gate.sh +1 -1
  303. package/pipeline/scripts/smoke-extract-conventions.sh +163 -0
  304. package/pipeline/scripts/smoke-figma-android-parity.sh +1 -1
  305. package/pipeline/scripts/smoke-figma-credential-store.sh +3 -3
  306. package/pipeline/scripts/smoke-figma-cross-cli-inventory.sh +12 -12
  307. package/pipeline/scripts/smoke-figma-dispatch.sh +5 -5
  308. package/pipeline/scripts/smoke-figma-sync.sh +1 -1
  309. package/pipeline/scripts/smoke-gate-hooks.sh +56 -0
  310. package/pipeline/scripts/smoke-gc-tmp.sh +84 -0
  311. package/pipeline/scripts/smoke-identity-isolation.sh +7 -7
  312. package/pipeline/scripts/smoke-install-layout.sh +10 -10
  313. package/pipeline/scripts/smoke-intent-guard.sh +86 -0
  314. package/pipeline/scripts/smoke-issue-comment-template.sh +3 -3
  315. package/pipeline/scripts/smoke-issue-jira-triad.sh +1 -1
  316. package/pipeline/scripts/smoke-keychain.sh +6 -6
  317. package/pipeline/scripts/smoke-language-axis.sh +2 -2
  318. package/pipeline/scripts/smoke-learnings-ledger.sh +86 -0
  319. package/pipeline/scripts/smoke-lib-scripts.sh +2 -2
  320. package/pipeline/scripts/smoke-mcp-gate.sh +68 -0
  321. package/pipeline/scripts/smoke-md-links.sh +8 -0
  322. package/pipeline/scripts/smoke-md2confluence.sh +126 -0
  323. package/pipeline/scripts/smoke-metrics-cache-ratio.sh +72 -0
  324. package/pipeline/scripts/smoke-migrate-state.sh +10 -10
  325. package/pipeline/scripts/smoke-mode-dispatch-drift.sh +7 -4
  326. package/pipeline/scripts/smoke-model-fallback.sh +80 -0
  327. package/pipeline/scripts/smoke-multi-repo-integration.sh +3 -3
  328. package/pipeline/scripts/smoke-multi-repo-worktree.sh +1 -1
  329. package/pipeline/scripts/smoke-no-mcp-in-dev-phases.sh +115 -0
  330. package/pipeline/scripts/smoke-no-token-prompt.sh +31 -15
  331. package/pipeline/scripts/smoke-pat-audit.sh +26 -5
  332. package/pipeline/scripts/smoke-per-repo-memory.sh +1 -1
  333. package/pipeline/scripts/smoke-phase-0-multi-repo.sh +1 -1
  334. package/pipeline/scripts/smoke-phase-6-multi.sh +2 -2
  335. package/pipeline/scripts/smoke-phase-banner.sh +1 -1
  336. package/pipeline/scripts/smoke-phase-tracker.sh +1 -1
  337. package/pipeline/scripts/smoke-phase0-bridge-contract.sh +4 -4
  338. package/pipeline/scripts/smoke-phase4-triage.sh +94 -7
  339. package/pipeline/scripts/smoke-plan-approval-gate.sh +3 -3
  340. package/pipeline/scripts/smoke-plan-safety.sh +1 -1
  341. package/pipeline/scripts/smoke-plan-todos.sh +7 -4
  342. package/pipeline/scripts/smoke-pr-review-actions.sh +2 -2
  343. package/pipeline/scripts/smoke-pre-commit.sh +34 -2
  344. package/pipeline/scripts/smoke-pref-migration.sh +1 -1
  345. package/pipeline/scripts/smoke-prefs-language.sh +5 -5
  346. package/pipeline/scripts/smoke-progress-contract.sh +3 -3
  347. package/pipeline/scripts/smoke-prune-logs.sh +87 -0
  348. package/pipeline/scripts/smoke-push-retry.sh +1 -1
  349. package/pipeline/scripts/smoke-readme-counts.sh +1 -1
  350. package/pipeline/scripts/smoke-repo-map.sh +9 -9
  351. package/pipeline/scripts/smoke-review-watch.sh +12 -0
  352. package/pipeline/scripts/smoke-run-aggregator.sh +7 -7
  353. package/pipeline/scripts/smoke-run-metrics.sh +50 -0
  354. package/pipeline/scripts/smoke-schema-validation.sh +18 -11
  355. package/pipeline/scripts/smoke-search.sh +5 -5
  356. package/pipeline/scripts/smoke-shared-runtime.sh +108 -0
  357. package/pipeline/scripts/smoke-skill-authoring.sh +13 -13
  358. package/pipeline/scripts/smoke-skill-language.sh +4 -4
  359. package/pipeline/scripts/smoke-skill-manifest.sh +2 -2
  360. package/pipeline/scripts/smoke-skill-scan.sh +2 -2
  361. package/pipeline/scripts/smoke-stack-swap.sh +2 -2
  362. package/pipeline/scripts/smoke-subagent-validators.sh +8 -5
  363. package/pipeline/scripts/smoke-sync-adapters.sh +1 -1
  364. package/pipeline/scripts/smoke-sync-delegation.sh +7 -7
  365. package/pipeline/scripts/smoke-sync-parity.sh +1 -1
  366. package/pipeline/scripts/smoke-tasklist-ordering.sh +7 -7
  367. package/pipeline/scripts/smoke-telemetry.sh +1 -1
  368. package/pipeline/scripts/smoke-test-gap.sh +5 -5
  369. package/pipeline/scripts/smoke-token-budget.sh +1 -1
  370. package/pipeline/scripts/smoke-tracker-contract.sh +6 -6
  371. package/pipeline/scripts/smoke-tracker-tokens-invocation.sh +9 -1
  372. package/pipeline/scripts/smoke-triage-memory.sh +2 -2
  373. package/pipeline/scripts/smoke-url-enrichment.sh +2 -2
  374. package/pipeline/scripts/smoke-validator-contradiction.sh +1 -1
  375. package/pipeline/scripts/smoke-validator-gates.sh +164 -0
  376. package/pipeline/scripts/smoke-vercel-deploy-redact.sh +11 -11
  377. package/pipeline/scripts/smoke-wiki-integration.sh +2 -2
  378. package/pipeline/scripts/smoke-work-summary.sh +3 -3
  379. package/pipeline/scripts/smoke-worktree-path-convention.sh +4 -4
  380. package/pipeline/scripts/smoke-write-state.sh +2 -2
  381. package/pipeline/scripts/stack-swap.sh +3 -3
  382. package/pipeline/scripts/sync-adapters.mjs +37 -10
  383. package/pipeline/scripts/sync-parity-check.sh +6 -6
  384. package/pipeline/scripts/test-gap-scan.mjs +11 -13
  385. package/pipeline/scripts/token-budget-report.mjs +4 -4
  386. package/pipeline/scripts/triage-memory.mjs +6 -6
  387. package/pipeline/scripts/uninstall.mjs +42 -4
  388. package/pipeline/scripts/update-issue-progress.sh +2 -2
  389. package/pipeline/scripts/validate-analysis.mjs +19 -21
  390. package/pipeline/scripts/validate-diff-risk.mjs +4 -4
  391. package/pipeline/scripts/validate-planning.mjs +3 -3
  392. package/pipeline/scripts/validate-reviewer.mjs +4 -4
  393. package/pipeline/scripts/validate-schemas.mjs +4 -4
  394. package/pipeline/scripts/validate-test-gap.mjs +4 -4
  395. package/pipeline/scripts/validate-triage.mjs +68 -9
  396. package/pipeline/scripts/verify-skills.sh +7 -7
  397. package/pipeline/scripts/write-state.mjs +49 -11
  398. package/pipeline/skills/.skill-manifest.json +245 -149
  399. package/pipeline/skills/.skills-index.json +236 -47
  400. package/pipeline/skills/figma-android/README.md +5 -5
  401. package/pipeline/skills/figma-android/figma-component-code-connect/SKILL.md +3 -3
  402. package/pipeline/skills/figma-android/figma-component-implement/SKILL.md +8 -8
  403. package/pipeline/skills/figma-android/figma-component-test/SKILL.md +4 -4
  404. package/pipeline/skills/figma-android/figma-component-wiki/SKILL.md +5 -5
  405. package/pipeline/skills/figma-android/figma-to-component/SKILL.md +14 -14
  406. package/pipeline/skills/figma-common/README.md +29 -29
  407. package/pipeline/skills/figma-common/figma-cli-iterate/SKILL.md +20 -15
  408. package/pipeline/skills/figma-common/figma-cli-iterate-mend/SKILL.md +35 -30
  409. package/pipeline/skills/figma-common/figma-cli-lean-iterate/SKILL.md +35 -30
  410. package/pipeline/skills/figma-common/figma-cli-skip/SKILL.md +20 -20
  411. package/pipeline/skills/figma-common/figma-commit/COMMON_REBASE.md +32 -32
  412. package/pipeline/skills/figma-common/figma-commit/REVIEW.md +9 -9
  413. package/pipeline/skills/figma-common/figma-commit/SKILL.md +25 -20
  414. package/pipeline/skills/figma-common/figma-component-confluence-sync/SKILL.md +11 -6
  415. package/pipeline/skills/figma-common/figma-component-start/SKILL.md +30 -25
  416. package/pipeline/skills/figma-common/figma-component-status-update/SKILL.md +9 -4
  417. package/pipeline/skills/figma-common/figma-fix/SKILL.md +27 -22
  418. package/pipeline/skills/figma-common/figma-form-integration/SKILL.md +38 -38
  419. package/pipeline/skills/figma-common/figma-issue/SKILL.md +39 -34
  420. package/pipeline/skills/figma-common/figma-iterate/SKILL.md +20 -15
  421. package/pipeline/skills/figma-common/figma-iteration-commit/SKILL.md +44 -39
  422. package/pipeline/skills/figma-common/figma-mend/SKILL.md +6 -6
  423. package/pipeline/skills/figma-common/figma-price-integration/SKILL.md +30 -30
  424. package/pipeline/skills/figma-common/figma-remote-mcp-auth/SKILL.md +1 -1
  425. package/pipeline/skills/figma-common/figma-review/SKILL.md +31 -26
  426. package/pipeline/skills/figma-common/figma-setup/SKILL.md +11 -11
  427. package/pipeline/skills/figma-common/figma-setup/scripts/fetch-mcp-token.py +5 -5
  428. package/pipeline/skills/figma-common/figma-skip/SKILL.md +6 -6
  429. package/pipeline/skills/figma-common/figma-ui-patterns/SKILL.md +12 -12
  430. package/pipeline/skills/figma-common/figma-utility/SKILL.md +4 -4
  431. package/pipeline/skills/figma-common/figma-utility/scripts/figma-utility.py +1 -1
  432. package/pipeline/skills/figma-common/figma-validate/SKILL.md +48 -48
  433. package/pipeline/skills/figma-common/performance-iteration-commit-all/SKILL.md +42 -37
  434. package/pipeline/skills/figma-common/performance-review-next/SKILL.md +23 -18
  435. package/pipeline/skills/figma-common/performance-start/SKILL.md +52 -47
  436. package/pipeline/skills/figma-common/performance-swiftui/SKILL.md +68 -68
  437. package/pipeline/skills/figma-common/performance-tour/SKILL.md +42 -37
  438. package/pipeline/skills/figma-ios/REVIEW_CHECKLIST.md +16 -16
  439. package/pipeline/skills/figma-ios/figma-component-code-connect/SKILL.md +15 -15
  440. package/pipeline/skills/figma-ios/figma-component-implement/SKILL.md +9 -9
  441. package/pipeline/skills/figma-ios/figma-component-test/SKILL.md +15 -15
  442. package/pipeline/skills/figma-ios/figma-component-wiki/SKILL.md +18 -18
  443. package/pipeline/skills/figma-ios/figma-to-component/SKILL.md +38 -38
  444. package/pipeline/skills/figma-ios/figma-to-component/halt-return-protocol.md +2 -2
  445. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-0-init.md +12 -12
  446. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1-gathering.md +5 -5
  447. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-1.5-existing-discovery.md +19 -19
  448. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2-orchestrator.md +25 -25
  449. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2a-testing-identifiers.md +7 -7
  450. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2b-localization.md +6 -6
  451. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2c-accessibility.md +38 -38
  452. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-2d-analytics.md +3 -3
  453. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3-orchestrator.md +29 -29
  454. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3a-location.md +6 -6
  455. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3b-tokens.md +3 -3
  456. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3c-nested.md +12 -12
  457. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3d-patterns.md +57 -57
  458. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3e-assets.md +5 -5
  459. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3f-utilities.md +6 -6
  460. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3g-property-coverage.md +10 -10
  461. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-3h-variant-config.md +16 -16
  462. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4-orchestrator.md +23 -23
  463. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4a-configuration.md +26 -26
  464. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4b-view.md +43 -43
  465. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4c-documentation.md +17 -17
  466. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4d-preview.md +19 -19
  467. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-4e-modifiers.md +15 -15
  468. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5-orchestrator.md +39 -39
  469. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5a-viewinspector.md +7 -7
  470. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5b-snapshot.md +29 -29
  471. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-5c-unit.md +9 -9
  472. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-6-code-connect.md +31 -31
  473. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7-wiki.md +5 -5
  474. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-confluence-generate.md +18 -18
  475. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-7a-wiki-generate.md +16 -16
  476. package/pipeline/skills/figma-ios/figma-to-component/phases/phase-8-cleanup.md +2 -2
  477. package/pipeline/skills/figma-ios/figma-to-component/reference/accessibility.md +1 -1
  478. package/pipeline/skills/figma-ios/figma-to-component/reference/code-connect.md +49 -49
  479. package/pipeline/skills/figma-ios/figma-to-component/reference/figma-to-swiftui-effects.md +8 -8
  480. package/pipeline/skills/figma-ios/figma-to-component/reference/halt-return-protocol.md +2 -2
  481. package/pipeline/skills/figma-ios/figma-to-component/reference/macros.md +9 -9
  482. package/pipeline/skills/figma-ios/figma-to-component/reference/missing-tokens.md +4 -4
  483. package/pipeline/skills/figma-ios/figma-to-component/reference/orchestrator-discipline.md +10 -10
  484. package/pipeline/skills/figma-ios/figma-to-component/reference/remote-mcp-script.md +5 -5
  485. package/pipeline/skills/figma-ios/figma-to-component/reference/rest-api-script.md +11 -11
  486. package/pipeline/skills/figma-ios/figma-to-component/reference/scripts-inventory.md +14 -14
  487. package/pipeline/skills/figma-ios/figma-to-component/reference/snapshot-testing.md +2 -2
  488. package/pipeline/skills/figma-ios/figma-to-component/reference/subcomponent-graph.md +4 -4
  489. package/pipeline/skills/figma-ios/figma-to-component/reference/testing-identifiers-naming.md +6 -6
  490. package/pipeline/skills/figma-ios/figma-to-component/reference/tools.md +9 -9
  491. package/pipeline/skills/figma-ios/figma-to-component/reference/viewinspector.md +1 -1
  492. package/pipeline/skills/figma-ios/figma-to-component/reference/wiki-to-confluence-mapping.md +1 -1
  493. package/pipeline/skills/figma-ios/figma-to-component/scripts/apply-author-login-map.py +5 -5
  494. package/pipeline/skills/figma-ios/figma-to-component/scripts/backfill-status.py +18 -18
  495. package/pipeline/skills/figma-ios/figma-to-component/scripts/build-author-registry.py +4 -4
  496. package/pipeline/skills/figma-ios/figma-to-component/scripts/bulk-sync-issues.py +4 -4
  497. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-data-gather.py +1 -1
  498. package/pipeline/skills/figma-ios/figma-to-component/scripts/code-connect-publish.sh +3 -3
  499. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status-upload.py +18 -18
  500. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-component-status.py +4 -4
  501. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-data-gather.py +5 -5
  502. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.example.json +9 -0
  503. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-publish.py +3 -3
  504. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-subcomponent-graph.py +1 -1
  505. package/pipeline/skills/figma-ios/figma-to-component/scripts/figma-update.py +5 -5
  506. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/issue_sync_propagate.py +1 -1
  507. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/registry_writer.py +4 -4
  508. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_figma_update.py +1 -1
  509. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_registry_writer.py +3 -3
  510. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_skill_figma_issue.py +1 -1
  511. package/pipeline/skills/figma-ios/figma-to-component/scripts/lib/test_update_issue_gh.py +1 -1
  512. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase1-gather.py +12 -12
  513. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase2-finalize.py +3 -3
  514. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase3-scripts.py +26 -26
  515. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase4-finalize.py +4 -4
  516. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase5-finalize.py +4 -4
  517. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase6-finalize.py +5 -5
  518. package/pipeline/skills/figma-ios/figma-to-component/scripts/phase7-finalize.py +4 -4
  519. package/pipeline/skills/figma-ios/figma-to-component/scripts/register-icons-codeconnect.py +4 -4
  520. package/pipeline/skills/figma-ios/figma-to-component/scripts/remote-mcp-fetch.py +5 -5
  521. package/pipeline/skills/figma-ios/figma-to-component/scripts/resolve-author-logins.py +2 -2
  522. package/pipeline/skills/figma-ios/figma-to-component/scripts/run-uicomponents-tests.sh +1 -1
  523. package/pipeline/skills/figma-ios/figma-to-component/scripts/sidebar-generator.py +5 -5
  524. package/pipeline/skills/figma-ios/figma-to-component/scripts/update-issue-from-registry.py +41 -41
  525. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase4.sh +8 -8
  526. package/pipeline/skills/figma-ios/figma-to-component/scripts/validate-phase6.sh +7 -7
  527. package/pipeline/skills/shared/README.md +62 -41
  528. package/pipeline/skills/shared/core/apple-archive-compliance/SKILL.md +39 -39
  529. package/pipeline/skills/shared/core/google-play-compliance/SKILL.md +44 -44
  530. package/pipeline/skills/shared/core/multi-agent/SKILL.md +182 -176
  531. package/pipeline/skills/shared/core/multi-agent-analysis/SKILL.md +55 -0
  532. package/pipeline/skills/shared/core/multi-agent-analysis-resolve/SKILL.md +48 -0
  533. package/pipeline/skills/shared/core/multi-agent-autopilot/SKILL.md +16 -16
  534. package/pipeline/skills/shared/core/multi-agent-build-optimize/SKILL.md +48 -0
  535. package/pipeline/skills/shared/core/multi-agent-channels/SKILL.md +40 -40
  536. package/pipeline/skills/shared/core/multi-agent-delete/SKILL.md +33 -30
  537. package/pipeline/skills/shared/core/multi-agent-dev/SKILL.md +26 -26
  538. package/pipeline/skills/shared/core/multi-agent-dev-autopilot/SKILL.md +22 -22
  539. package/pipeline/skills/shared/core/multi-agent-dev-local/SKILL.md +6 -6
  540. package/pipeline/skills/shared/core/multi-agent-dev-local-autopilot/SKILL.md +12 -12
  541. package/pipeline/skills/shared/core/multi-agent-diff-explain/SKILL.md +20 -20
  542. package/pipeline/skills/shared/core/multi-agent-garbage-collect/SKILL.md +61 -0
  543. package/pipeline/skills/shared/core/multi-agent-help/SKILL.md +22 -22
  544. package/pipeline/skills/shared/core/multi-agent-issue/SKILL.md +15 -15
  545. package/pipeline/skills/shared/core/multi-agent-jira/SKILL.md +12 -12
  546. package/pipeline/skills/shared/core/multi-agent-kill/SKILL.md +14 -14
  547. package/pipeline/skills/shared/core/multi-agent-language/SKILL.md +12 -12
  548. package/pipeline/skills/shared/core/multi-agent-local/SKILL.md +10 -10
  549. package/pipeline/skills/shared/core/multi-agent-local-autopilot/SKILL.md +18 -18
  550. package/pipeline/skills/shared/core/multi-agent-log/SKILL.md +9 -9
  551. package/pipeline/skills/shared/core/multi-agent-manual-test/SKILL.md +20 -20
  552. package/pipeline/skills/shared/core/multi-agent-prune-logs/SKILL.md +63 -0
  553. package/pipeline/skills/shared/core/multi-agent-purge/SKILL.md +16 -13
  554. package/pipeline/skills/shared/core/multi-agent-refactor/SKILL.md +110 -110
  555. package/pipeline/skills/shared/core/multi-agent-resume/SKILL.md +13 -13
  556. package/pipeline/skills/shared/core/multi-agent-review/SKILL.md +22 -22
  557. package/pipeline/skills/shared/core/multi-agent-scan/SKILL.md +18 -18
  558. package/pipeline/skills/shared/core/multi-agent-search/SKILL.md +13 -13
  559. package/pipeline/skills/shared/core/multi-agent-setup/SKILL.md +33 -30
  560. package/pipeline/skills/shared/core/multi-agent-stack/SKILL.md +14 -14
  561. package/pipeline/skills/shared/core/multi-agent-status/SKILL.md +9 -9
  562. package/pipeline/skills/shared/core/multi-agent-sync/SKILL.md +79 -79
  563. package/pipeline/skills/shared/core/multi-agent-test/SKILL.md +5 -5
  564. package/pipeline/skills/shared/core/multi-agent-update/SKILL.md +10 -10
  565. package/pipeline/skills/shared/external/NOTICE-swift-ios-skills.md +41 -0
  566. package/pipeline/skills/shared/external/NOTICE-xcode-build-skills.md +53 -0
  567. package/pipeline/skills/shared/external/agentflow/SKILL.md +9 -9
  568. package/pipeline/skills/shared/external/alarmkit/SKILL.md +113 -52
  569. package/pipeline/skills/shared/external/alarmkit/evals/evals.json +41 -0
  570. package/pipeline/skills/shared/external/alarmkit/references/alarmkit-patterns.md +23 -16
  571. package/pipeline/skills/shared/external/app-clips/SKILL.md +85 -354
  572. package/pipeline/skills/shared/external/app-clips/evals/evals.json +50 -0
  573. package/pipeline/skills/shared/external/app-clips/references/data-handoff-notifications-location.md +135 -0
  574. package/pipeline/skills/shared/external/app-clips/references/routing-and-experiences.md +125 -0
  575. package/pipeline/skills/shared/external/app-clips/references/size-capabilities-and-promotion.md +113 -0
  576. package/pipeline/skills/shared/external/app-intents/SKILL.md +152 -59
  577. package/pipeline/skills/shared/external/app-intents/evals/evals.json +47 -0
  578. package/pipeline/skills/shared/external/app-intents/references/appintents-advanced.md +161 -118
  579. package/pipeline/skills/shared/external/app-store-optimization/SKILL.md +289 -392
  580. package/pipeline/skills/shared/external/app-store-optimization/evals/evals.json +46 -0
  581. package/pipeline/skills/shared/external/app-store-optimization/references/keyword-research-methodology.md +174 -0
  582. package/pipeline/skills/shared/external/app-store-optimization/references/product-page-variants.md +191 -0
  583. package/pipeline/skills/shared/external/app-store-review/SKILL.md +57 -107
  584. package/pipeline/skills/shared/external/app-store-review/evals/evals.json +44 -0
  585. package/pipeline/skills/shared/external/app-store-review/references/privacy-manifest.md +35 -12
  586. package/pipeline/skills/shared/external/app-store-review/references/review-checklists.md +28 -26
  587. package/pipeline/skills/shared/external/apple-on-device-ai/SKILL.md +53 -62
  588. package/pipeline/skills/shared/external/apple-on-device-ai/evals/evals.json +47 -0
  589. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-conversion.md +7 -1
  590. package/pipeline/skills/shared/external/apple-on-device-ai/references/coreml-optimization.md +4 -1
  591. package/pipeline/skills/shared/external/apple-on-device-ai/references/foundation-models.md +32 -12
  592. package/pipeline/skills/shared/external/apple-on-device-ai/references/mlx-swift.md +34 -30
  593. package/pipeline/skills/shared/external/authentication/SKILL.md +134 -138
  594. package/pipeline/skills/shared/external/authentication/evals/evals.json +48 -0
  595. package/pipeline/skills/shared/external/authentication/references/keychain-biometric.md +56 -29
  596. package/pipeline/skills/shared/external/authentication/references/passkeys.md +183 -0
  597. package/pipeline/skills/shared/external/avkit/SKILL.md +497 -0
  598. package/pipeline/skills/shared/external/avkit/evals/evals.json +55 -0
  599. package/pipeline/skills/shared/external/avkit/references/avkit-patterns.md +668 -0
  600. package/pipeline/skills/shared/external/background-processing/SKILL.md +29 -29
  601. package/pipeline/skills/shared/external/background-processing/evals/evals.json +44 -0
  602. package/pipeline/skills/shared/external/background-processing/references/background-task-patterns.md +44 -19
  603. package/pipeline/skills/shared/external/callkit-voip/SKILL.md +136 -99
  604. package/pipeline/skills/shared/external/callkit-voip/evals/evals.json +47 -0
  605. package/pipeline/skills/shared/external/callkit-voip/references/callkit-patterns.md +27 -8
  606. package/pipeline/skills/shared/external/ci-cd-pipelines/SKILL.md +7 -6
  607. package/pipeline/skills/shared/external/clean-code/SKILL.md +2 -2
  608. package/pipeline/skills/shared/external/cloudkit-sync/SKILL.md +63 -56
  609. package/pipeline/skills/shared/external/cloudkit-sync/evals/evals.json +47 -0
  610. package/pipeline/skills/shared/external/cloudkit-sync/references/cloudkit-patterns.md +7 -4
  611. package/pipeline/skills/shared/external/contacts-framework/SKILL.md +31 -11
  612. package/pipeline/skills/shared/external/contacts-framework/evals/evals.json +41 -0
  613. package/pipeline/skills/shared/external/contacts-framework/references/contacts-patterns.md +51 -51
  614. package/pipeline/skills/shared/external/core-bluetooth/SKILL.md +70 -65
  615. package/pipeline/skills/shared/external/core-bluetooth/evals/evals.json +44 -0
  616. package/pipeline/skills/shared/external/core-bluetooth/references/ble-patterns.md +25 -1
  617. package/pipeline/skills/shared/external/core-data/SKILL.md +496 -0
  618. package/pipeline/skills/shared/external/core-data/evals/evals.json +44 -0
  619. package/pipeline/skills/shared/external/core-motion/SKILL.md +47 -14
  620. package/pipeline/skills/shared/external/core-motion/evals/evals.json +49 -0
  621. package/pipeline/skills/shared/external/core-motion/references/motion-patterns.md +47 -16
  622. package/pipeline/skills/shared/external/core-nfc/SKILL.md +43 -54
  623. package/pipeline/skills/shared/external/core-nfc/evals/evals.json +49 -0
  624. package/pipeline/skills/shared/external/core-nfc/references/nfc-patterns.md +32 -2
  625. package/pipeline/skills/shared/external/coreml/SKILL.md +89 -48
  626. package/pipeline/skills/shared/external/coreml/evals/evals.json +44 -0
  627. package/pipeline/skills/shared/external/coreml/references/coreml-swift-integration.md +82 -37
  628. package/pipeline/skills/shared/external/cryptokit/SKILL.md +493 -0
  629. package/pipeline/skills/shared/external/cryptokit/evals/evals.json +44 -0
  630. package/pipeline/skills/shared/external/cryptokit/references/cryptokit-patterns.md +602 -0
  631. package/pipeline/skills/shared/external/css-modern/SKILL.md +3 -2
  632. package/pipeline/skills/shared/external/database-patterns/SKILL.md +6 -5
  633. package/pipeline/skills/shared/external/debugging-instruments/SKILL.md +77 -47
  634. package/pipeline/skills/shared/external/debugging-instruments/evals/evals.json +47 -0
  635. package/pipeline/skills/shared/external/debugging-instruments/references/instruments-guide.md +42 -34
  636. package/pipeline/skills/shared/external/debugging-instruments/references/lldb-patterns.md +2 -2
  637. package/pipeline/skills/shared/external/device-integrity/SKILL.md +136 -176
  638. package/pipeline/skills/shared/external/device-integrity/evals/evals.json +45 -0
  639. package/pipeline/skills/shared/external/device-integrity/references/device-integrity-patterns.md +240 -0
  640. package/pipeline/skills/shared/external/energykit/SKILL.md +73 -34
  641. package/pipeline/skills/shared/external/energykit/evals/evals.json +45 -0
  642. package/pipeline/skills/shared/external/energykit/references/energykit-patterns.md +80 -38
  643. package/pipeline/skills/shared/external/eventkit-calendar/SKILL.md +67 -53
  644. package/pipeline/skills/shared/external/eventkit-calendar/evals/evals.json +44 -0
  645. package/pipeline/skills/shared/external/eventkit-calendar/references/eventkit-patterns.md +53 -3
  646. package/pipeline/skills/shared/external/healthkit/SKILL.md +57 -124
  647. package/pipeline/skills/shared/external/healthkit/evals/evals.json +46 -0
  648. package/pipeline/skills/shared/external/healthkit/references/healthkit-patterns.md +82 -1
  649. package/pipeline/skills/shared/external/homekit-matter/SKILL.md +43 -41
  650. package/pipeline/skills/shared/external/homekit-matter/evals/evals.json +45 -0
  651. package/pipeline/skills/shared/external/homekit-matter/references/matter-commissioning.md +13 -8
  652. package/pipeline/skills/shared/external/html-semantic/SKILL.md +5 -4
  653. package/pipeline/skills/shared/external/humanizer/SKILL.md +4 -4
  654. package/pipeline/skills/shared/external/ios-accessibility/SKILL.md +174 -18
  655. package/pipeline/skills/shared/external/ios-accessibility/evals/evals.json +49 -0
  656. package/pipeline/skills/shared/external/ios-accessibility/references/a11y-patterns.md +262 -4
  657. package/pipeline/skills/shared/external/ios-accessibility/references/media-accessibility.md +117 -0
  658. package/pipeline/skills/shared/external/ios-accessibility/references/nutrition-labels.md +141 -0
  659. package/pipeline/skills/shared/external/ios-localization/SKILL.md +67 -14
  660. package/pipeline/skills/shared/external/ios-localization/evals/evals.json +49 -0
  661. package/pipeline/skills/shared/external/ios-localization/references/formatstyle-locale.md +20 -3
  662. package/pipeline/skills/shared/external/ios-localization/references/string-catalogs.md +131 -22
  663. package/pipeline/skills/shared/external/ios-networking/SKILL.md +69 -22
  664. package/pipeline/skills/shared/external/ios-networking/evals/evals.json +50 -0
  665. package/pipeline/skills/shared/external/ios-networking/references/background-websocket.md +28 -16
  666. package/pipeline/skills/shared/external/ios-networking/references/file-storage-patterns.md +354 -0
  667. package/pipeline/skills/shared/external/ios-networking/references/network-framework.md +69 -44
  668. package/pipeline/skills/shared/external/ios-networking/references/urlsession-patterns.md +35 -69
  669. package/pipeline/skills/shared/external/ios-security/references/file-storage-patterns.md +8 -8
  670. package/pipeline/skills/shared/external/ios-simulator/SKILL.md +485 -0
  671. package/pipeline/skills/shared/external/ios-simulator/evals/evals.json +44 -0
  672. package/pipeline/skills/shared/external/ios-simulator/references/simctl-commands.md +316 -0
  673. package/pipeline/skills/shared/external/live-activities/SKILL.md +120 -131
  674. package/pipeline/skills/shared/external/live-activities/evals/evals.json +44 -0
  675. package/pipeline/skills/shared/external/live-activities/references/{live-activity-patterns.md → activitykit-patterns.md} +148 -63
  676. package/pipeline/skills/shared/external/mapkit-location/SKILL.md +40 -21
  677. package/pipeline/skills/shared/external/mapkit-location/evals/evals.json +47 -0
  678. package/pipeline/skills/shared/external/mapkit-location/references/{corelocation-patterns.md → mapkit-corelocation-patterns.md} +88 -41
  679. package/pipeline/skills/shared/external/mapkit-location/references/mapkit-patterns.md +27 -24
  680. package/pipeline/skills/shared/external/metrickit-diagnostics/SKILL.md +129 -172
  681. package/pipeline/skills/shared/external/metrickit-diagnostics/evals/evals.json +46 -0
  682. package/pipeline/skills/shared/external/metrickit-diagnostics/references/metrickit-patterns.md +180 -0
  683. package/pipeline/skills/shared/external/musickit-audio/SKILL.md +45 -18
  684. package/pipeline/skills/shared/external/musickit-audio/evals/evals.json +44 -0
  685. package/pipeline/skills/shared/external/musickit-audio/references/musickit-patterns.md +26 -6
  686. package/pipeline/skills/shared/external/natural-language/SKILL.md +48 -18
  687. package/pipeline/skills/shared/external/natural-language/evals/evals.json +47 -0
  688. package/pipeline/skills/shared/external/natural-language/references/translation-patterns.md +20 -7
  689. package/pipeline/skills/shared/external/nextjs-app-router/SKILL.md +4 -3
  690. package/pipeline/skills/shared/external/passkit-wallet/SKILL.md +156 -66
  691. package/pipeline/skills/shared/external/passkit-wallet/evals/evals.json +51 -0
  692. package/pipeline/skills/shared/external/passkit-wallet/references/wallet-passes.md +69 -19
  693. package/pipeline/skills/shared/external/pdfkit/SKILL.md +499 -0
  694. package/pipeline/skills/shared/external/pdfkit/evals/evals.json +42 -0
  695. package/pipeline/skills/shared/external/pdfkit/references/pdfkit-patterns.md +844 -0
  696. package/pipeline/skills/shared/external/pencilkit-drawing/SKILL.md +122 -28
  697. package/pipeline/skills/shared/external/pencilkit-drawing/evals/evals.json +44 -0
  698. package/pipeline/skills/shared/external/pencilkit-drawing/references/pencilkit-patterns.md +49 -18
  699. package/pipeline/skills/shared/external/permissionkit/SKILL.md +100 -51
  700. package/pipeline/skills/shared/external/permissionkit/evals/evals.json +47 -0
  701. package/pipeline/skills/shared/external/permissionkit/references/permissionkit-patterns.md +48 -8
  702. package/pipeline/skills/shared/external/photos-camera-media/SKILL.md +13 -15
  703. package/pipeline/skills/shared/external/photos-camera-media/references/camera-capture.md +4 -4
  704. package/pipeline/skills/shared/external/photos-camera-media/references/image-loading-caching.md +2 -2
  705. package/pipeline/skills/shared/external/photos-camera-media/references/{photospicker-patterns.md → photokit-patterns.md} +3 -3
  706. package/pipeline/skills/shared/external/push-notifications/SKILL.md +45 -48
  707. package/pipeline/skills/shared/external/push-notifications/evals/evals.json +46 -0
  708. package/pipeline/skills/shared/external/push-notifications/references/notification-patterns.md +22 -33
  709. package/pipeline/skills/shared/external/push-notifications/references/rich-notifications.md +56 -37
  710. package/pipeline/skills/shared/external/python-patterns/SKILL.md +4 -3
  711. package/pipeline/skills/shared/external/react-best-practices/SKILL.md +1 -0
  712. package/pipeline/skills/shared/external/realitykit-ar/SKILL.md +74 -53
  713. package/pipeline/skills/shared/external/realitykit-ar/evals/evals.json +47 -0
  714. package/pipeline/skills/shared/external/realitykit-ar/references/realitykit-patterns.md +10 -10
  715. package/pipeline/skills/shared/external/rest-api-design/SKILL.md +21 -20
  716. package/pipeline/skills/shared/external/shareplay-activities/SKILL.md +81 -64
  717. package/pipeline/skills/shared/external/shareplay-activities/evals/evals.json +47 -0
  718. package/pipeline/skills/shared/external/shareplay-activities/references/shareplay-patterns.md +48 -9
  719. package/pipeline/skills/shared/external/speech-recognition/SKILL.md +118 -104
  720. package/pipeline/skills/shared/external/speech-recognition/evals/evals.json +49 -0
  721. package/pipeline/skills/shared/external/speech-recognition/references/speechanalyzer-patterns.md +171 -0
  722. package/pipeline/skills/shared/external/spm-build-analysis/SKILL.md +93 -0
  723. package/pipeline/skills/shared/external/spm-build-analysis/references/build-optimization-sources.md +155 -0
  724. package/pipeline/skills/shared/external/spm-build-analysis/references/recommendation-format.md +85 -0
  725. package/pipeline/skills/shared/external/spm-build-analysis/references/spm-analysis-checks.md +105 -0
  726. package/pipeline/skills/shared/external/spm-build-analysis/scripts/check_spm_pins.py +118 -0
  727. package/pipeline/skills/shared/external/storekit/SKILL.md +110 -44
  728. package/pipeline/skills/shared/external/storekit/evals/evals.json +44 -0
  729. package/pipeline/skills/shared/external/storekit/references/app-review-guidelines.md +94 -43
  730. package/pipeline/skills/shared/external/storekit/references/storekit-advanced.md +82 -33
  731. package/pipeline/skills/shared/external/swift-api-design-guidelines/SKILL.md +449 -0
  732. package/pipeline/skills/shared/external/swift-api-design-guidelines/evals/evals.json +50 -0
  733. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/argument-labels-and-parameters.md +164 -0
  734. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/conventions-and-special-rules.md +219 -0
  735. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/naming-and-clarity.md +184 -0
  736. package/pipeline/skills/shared/external/swift-api-design-guidelines/references/side-effects-and-mutating-pairs.md +158 -0
  737. package/pipeline/skills/shared/external/swift-architecture/SKILL.md +499 -0
  738. package/pipeline/skills/shared/external/swift-architecture/evals/evals.json +45 -0
  739. package/pipeline/skills/shared/external/swift-charts/SKILL.md +52 -40
  740. package/pipeline/skills/shared/external/swift-charts/evals/evals.json +47 -0
  741. package/pipeline/skills/shared/external/swift-charts/references/charts-patterns.md +92 -11
  742. package/pipeline/skills/shared/external/swift-codable/SKILL.md +43 -16
  743. package/pipeline/skills/shared/external/swift-codable/evals/evals.json +43 -0
  744. package/pipeline/skills/shared/external/swift-concurrency/SKILL.md +50 -30
  745. package/pipeline/skills/shared/external/swift-concurrency/evals/evals.json +44 -0
  746. package/pipeline/skills/shared/external/swift-concurrency/references/approachable-concurrency.md +11 -4
  747. package/pipeline/skills/shared/external/swift-concurrency/references/async-algorithms.md +113 -0
  748. package/pipeline/skills/shared/external/swift-concurrency/references/bridging-interop.md +150 -0
  749. package/pipeline/skills/shared/external/swift-concurrency/references/{swift-6-2-concurrency.md → concurrency-patterns.md} +22 -11
  750. package/pipeline/skills/shared/external/swift-concurrency/references/diagnostics.md +52 -0
  751. package/pipeline/skills/shared/external/swift-concurrency/references/swiftui-concurrency.md +2 -2
  752. package/pipeline/skills/shared/external/swift-concurrency/references/synchronization-primitives.md +21 -15
  753. package/pipeline/skills/shared/external/swift-concurrency-expert/SKILL.md +3 -3
  754. package/pipeline/skills/shared/external/swift-concurrency-pro/SKILL.md +2 -2
  755. package/pipeline/skills/shared/external/swift-concurrency-pro/references/actors.md +3 -3
  756. package/pipeline/skills/shared/external/swift-concurrency-pro/references/async-streams.md +1 -1
  757. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bridging.md +3 -3
  758. package/pipeline/skills/shared/external/swift-concurrency-pro/references/bug-patterns.md +3 -3
  759. package/pipeline/skills/shared/external/swift-concurrency-pro/references/cancellation.md +8 -8
  760. package/pipeline/skills/shared/external/swift-concurrency-pro/references/diagnostics.md +1 -1
  761. package/pipeline/skills/shared/external/swift-concurrency-pro/references/hotspots.md +2 -2
  762. package/pipeline/skills/shared/external/swift-concurrency-pro/references/interop.md +4 -4
  763. package/pipeline/skills/shared/external/swift-concurrency-pro/references/new-features.md +1 -1
  764. package/pipeline/skills/shared/external/swift-concurrency-pro/references/structured.md +2 -2
  765. package/pipeline/skills/shared/external/swift-concurrency-pro/references/testing.md +2 -2
  766. package/pipeline/skills/shared/external/swift-concurrency-pro/references/unstructured.md +3 -3
  767. package/pipeline/skills/shared/external/swift-formatstyle/SKILL.md +339 -0
  768. package/pipeline/skills/shared/external/swift-language/SKILL.md +33 -34
  769. package/pipeline/skills/shared/external/swift-language/evals/evals.json +47 -0
  770. package/pipeline/skills/shared/external/swift-language/references/swift-attributes-interop.md +97 -0
  771. package/pipeline/skills/shared/external/swift-language/references/swift-patterns-extended.md +19 -6
  772. package/pipeline/skills/shared/external/swift-security/SKILL.md +195 -0
  773. package/pipeline/skills/shared/external/swift-security/evals/evals.json +48 -0
  774. package/pipeline/skills/shared/external/swift-security/references/biometric-authentication.md +595 -0
  775. package/pipeline/skills/shared/external/swift-security/references/certificate-trust.md +611 -0
  776. package/pipeline/skills/shared/external/swift-security/references/common-anti-patterns.md +708 -0
  777. package/pipeline/skills/shared/external/swift-security/references/compliance-owasp-mapping.md +573 -0
  778. package/pipeline/skills/shared/external/swift-security/references/credential-storage-patterns.md +752 -0
  779. package/pipeline/skills/shared/external/swift-security/references/cryptokit-public-key.md +538 -0
  780. package/pipeline/skills/shared/external/swift-security/references/cryptokit-symmetric.md +530 -0
  781. package/pipeline/skills/shared/external/swift-security/references/keychain-access-control.md +543 -0
  782. package/pipeline/skills/shared/external/swift-security/references/keychain-fundamentals.md +620 -0
  783. package/pipeline/skills/shared/external/swift-security/references/keychain-item-classes.md +515 -0
  784. package/pipeline/skills/shared/external/swift-security/references/keychain-sharing.md +496 -0
  785. package/pipeline/skills/shared/external/swift-security/references/migration-legacy-stores.md +747 -0
  786. package/pipeline/skills/shared/external/swift-security/references/secure-enclave.md +566 -0
  787. package/pipeline/skills/shared/external/swift-security/references/testing-security-code.md +813 -0
  788. package/pipeline/skills/shared/external/swift-testing/SKILL.md +97 -297
  789. package/pipeline/skills/shared/external/swift-testing/evals/evals.json +44 -0
  790. package/pipeline/skills/shared/external/swift-testing/references/testing-advanced.md +123 -0
  791. package/pipeline/skills/shared/external/swift-testing/references/testing-patterns.md +162 -34
  792. package/pipeline/skills/shared/external/swift-testing-pro/SKILL.md +2 -2
  793. package/pipeline/skills/shared/external/swift-testing-pro/references/async-tests.md +3 -3
  794. package/pipeline/skills/shared/external/swift-testing-pro/references/core-rules.md +2 -2
  795. package/pipeline/skills/shared/external/swift-testing-pro/references/migrating-from-xctest.md +5 -5
  796. package/pipeline/skills/shared/external/swift-testing-pro/references/new-features.md +3 -3
  797. package/pipeline/skills/shared/external/swift-testing-pro/references/writing-better-tests.md +5 -5
  798. package/pipeline/skills/shared/external/swiftdata/SKILL.md +44 -23
  799. package/pipeline/skills/shared/external/swiftdata/evals/evals.json +47 -0
  800. package/pipeline/skills/shared/external/swiftdata/references/core-data-coexistence.md +3 -3
  801. package/pipeline/skills/shared/external/swiftdata/references/indexing.md +75 -0
  802. package/pipeline/skills/shared/external/swiftdata/references/predicate-pitfalls.md +54 -0
  803. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-advanced.md +14 -10
  804. package/pipeline/skills/shared/external/swiftdata/references/swiftdata-queries.md +5 -5
  805. package/pipeline/skills/shared/external/swiftdata-pro/SKILL.md +2 -2
  806. package/pipeline/skills/shared/external/swiftdata-pro/references/class-inheritance.md +2 -2
  807. package/pipeline/skills/shared/external/swiftdata-pro/references/cloudkit.md +1 -1
  808. package/pipeline/skills/shared/external/swiftdata-pro/references/core-rules.md +6 -6
  809. package/pipeline/skills/shared/external/swiftlint/SKILL.md +337 -0
  810. package/pipeline/skills/shared/external/swiftlint/references/adoption-and-configuration.md +297 -0
  811. package/pipeline/skills/shared/external/swiftlint/references/custom-rules-and-analyze.md +170 -0
  812. package/pipeline/skills/shared/external/swiftlint/references/plugins-run-scripts-and-integrations.md +307 -0
  813. package/pipeline/skills/shared/external/swiftlint/references/rule-reference.md +35 -0
  814. package/pipeline/skills/shared/external/swiftlint/references/rules-suppressions-and-baselines.md +306 -0
  815. package/pipeline/skills/shared/external/swiftui-animation/SKILL.md +56 -65
  816. package/pipeline/skills/shared/external/swiftui-animation/references/animation-advanced.md +48 -44
  817. package/pipeline/skills/shared/external/swiftui-animation/references/core-animation-bridge.md +6 -6
  818. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts-accessibility.md +13 -13
  819. package/pipeline/skills/shared/external/swiftui-expert-skill/references/charts.md +3 -3
  820. package/pipeline/skills/shared/external/swiftui-expert-skill/references/image-optimization.md +1 -1
  821. package/pipeline/skills/shared/external/swiftui-expert-skill/references/latest-apis.md +4 -4
  822. package/pipeline/skills/shared/external/swiftui-expert-skill/references/layout-best-practices.md +2 -2
  823. package/pipeline/skills/shared/external/swiftui-expert-skill/references/list-patterns.md +1 -1
  824. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-scenes.md +16 -16
  825. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-views.md +11 -11
  826. package/pipeline/skills/shared/external/swiftui-expert-skill/references/macos-window-styling.md +7 -7
  827. package/pipeline/skills/shared/external/swiftui-expert-skill/references/state-management.md +5 -5
  828. package/pipeline/skills/shared/external/swiftui-expert-skill/references/view-structure.md +6 -6
  829. package/pipeline/skills/shared/external/swiftui-gestures/SKILL.md +38 -16
  830. package/pipeline/skills/shared/external/swiftui-gestures/references/gesture-patterns.md +13 -3
  831. package/pipeline/skills/shared/external/swiftui-layout-components/SKILL.md +32 -28
  832. package/pipeline/skills/shared/external/swiftui-layout-components/references/form.md +1 -1
  833. package/pipeline/skills/shared/external/swiftui-layout-components/references/grids.md +202 -41
  834. package/pipeline/skills/shared/external/swiftui-layout-components/references/list.md +16 -25
  835. package/pipeline/skills/shared/external/swiftui-layout-components/references/scrollview.md +71 -26
  836. package/pipeline/skills/shared/external/swiftui-liquid-glass/SKILL.md +284 -65
  837. package/pipeline/skills/shared/external/swiftui-liquid-glass/references/liquid-glass.md +387 -0
  838. package/pipeline/skills/shared/external/swiftui-navigation/SKILL.md +10 -10
  839. package/pipeline/skills/shared/external/swiftui-navigation/references/deeplinks.md +15 -3
  840. package/pipeline/skills/shared/external/swiftui-navigation/references/navigationstack.md +2 -2
  841. package/pipeline/skills/shared/external/swiftui-navigation/references/tabview.md +1 -1
  842. package/pipeline/skills/shared/external/swiftui-patterns/SKILL.md +51 -25
  843. package/pipeline/skills/shared/external/swiftui-patterns/references/architecture-patterns.md +78 -6
  844. package/pipeline/skills/shared/external/swiftui-patterns/references/deprecated-migration.md +161 -16
  845. package/pipeline/skills/shared/external/swiftui-patterns/references/design-polish.md +85 -27
  846. package/pipeline/skills/shared/external/swiftui-patterns/references/platform-and-sharing.md +37 -33
  847. package/pipeline/skills/shared/external/swiftui-performance/SKILL.md +39 -51
  848. package/pipeline/skills/shared/external/swiftui-performance/references/demystify-swiftui-performance-wwdc23.md +204 -30
  849. package/pipeline/skills/shared/external/swiftui-performance/references/optimizing-swiftui-performance-instruments.md +226 -21
  850. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-hangs-in-your-app.md +220 -20
  851. package/pipeline/skills/shared/external/swiftui-performance/references/understanding-improving-swiftui-performance.md +159 -34
  852. package/pipeline/skills/shared/external/swiftui-performance/references/wwdc-session-sources.md +27 -0
  853. package/pipeline/skills/shared/external/swiftui-pro/SKILL.md +2 -2
  854. package/pipeline/skills/shared/external/swiftui-pro/references/accessibility.md +4 -4
  855. package/pipeline/skills/shared/external/swiftui-pro/references/api.md +1 -1
  856. package/pipeline/skills/shared/external/swiftui-pro/references/data.md +2 -2
  857. package/pipeline/skills/shared/external/swiftui-pro/references/design.md +4 -4
  858. package/pipeline/skills/shared/external/swiftui-pro/references/hygiene.md +2 -2
  859. package/pipeline/skills/shared/external/swiftui-pro/references/navigation.md +1 -1
  860. package/pipeline/skills/shared/external/swiftui-pro/references/performance.md +1 -1
  861. package/pipeline/skills/shared/external/swiftui-pro/references/swift.md +2 -2
  862. package/pipeline/skills/shared/external/swiftui-pro/references/views.md +2 -2
  863. package/pipeline/skills/shared/external/swiftui-ui-patterns/SKILL.md +1 -1
  864. package/pipeline/skills/shared/external/swiftui-uikit-interop/SKILL.md +12 -12
  865. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/hosting-migration.md +3 -3
  866. package/pipeline/skills/shared/external/swiftui-uikit-interop/references/representable-recipes.md +1 -1
  867. package/pipeline/skills/shared/external/swiftui-webkit/SKILL.md +11 -11
  868. package/pipeline/skills/shared/external/swiftui-webkit/references/migration-and-fallbacks.md +124 -10
  869. package/pipeline/skills/shared/external/tailwind-css/SKILL.md +3 -2
  870. package/pipeline/skills/shared/external/testing-backend/SKILL.md +2 -1
  871. package/pipeline/skills/shared/external/tipkit/SKILL.md +3 -3
  872. package/pipeline/skills/shared/external/tipkit/references/tipkit-patterns.md +9 -9
  873. package/pipeline/skills/shared/external/typescript-patterns/SKILL.md +17 -16
  874. package/pipeline/skills/shared/external/vision-framework/SKILL.md +11 -11
  875. package/pipeline/skills/shared/external/vision-framework/references/vision-requests.md +1 -1
  876. package/pipeline/skills/shared/external/vision-framework/references/visionkit-scanner.md +5 -5
  877. package/pipeline/skills/shared/external/vue-composition/SKILL.md +7 -6
  878. package/pipeline/skills/shared/external/weatherkit/SKILL.md +3 -3
  879. package/pipeline/skills/shared/external/weatherkit/references/weatherkit-patterns.md +9 -9
  880. package/pipeline/skills/shared/external/web-accessibility/SKILL.md +1 -0
  881. package/pipeline/skills/shared/external/web-performance/SKILL.md +8 -7
  882. package/pipeline/skills/shared/external/web-testing/SKILL.md +7 -6
  883. package/pipeline/skills/shared/external/widgetkit/SKILL.md +23 -17
  884. package/pipeline/skills/shared/external/widgetkit/references/widgetkit-advanced.md +99 -0
  885. package/pipeline/skills/shared/external/xcode-build-benchmark/SKILL.md +89 -0
  886. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmark-artifacts.md +94 -0
  887. package/pipeline/skills/shared/external/xcode-build-benchmark/references/benchmarking-workflow.md +67 -0
  888. package/pipeline/skills/shared/external/xcode-build-benchmark/schemas/build-benchmark.schema.json +230 -0
  889. package/pipeline/skills/shared/external/xcode-build-benchmark/scripts/benchmark_builds.py +308 -0
  890. package/pipeline/skills/shared/external/xcode-build-fixer/SKILL.md +219 -0
  891. package/pipeline/skills/shared/external/xcode-build-fixer/references/build-settings-best-practices.md +216 -0
  892. package/pipeline/skills/shared/external/xcode-build-fixer/references/fix-patterns.md +290 -0
  893. package/pipeline/skills/shared/external/xcode-build-fixer/references/recommendation-format.md +85 -0
  894. package/pipeline/skills/shared/external/xcode-build-fixer/scripts/benchmark_builds.py +308 -0
  895. package/pipeline/skills/shared/external/xcode-build-orchestrator/SKILL.md +157 -0
  896. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/benchmark-artifacts.md +94 -0
  897. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/build-settings-best-practices.md +216 -0
  898. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/orchestration-report-template.md +143 -0
  899. package/pipeline/skills/shared/external/xcode-build-orchestrator/references/recommendation-format.md +85 -0
  900. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/benchmark_builds.py +308 -0
  901. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/diagnose_compilation.py +273 -0
  902. package/pipeline/skills/shared/external/xcode-build-orchestrator/scripts/generate_optimization_report.py +533 -0
  903. package/pipeline/skills/shared/external/xcode-compilation-analyzer/SKILL.md +90 -0
  904. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/build-optimization-sources.md +155 -0
  905. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/code-compilation-checks.md +106 -0
  906. package/pipeline/skills/shared/external/xcode-compilation-analyzer/references/recommendation-format.md +85 -0
  907. package/pipeline/skills/shared/external/xcode-compilation-analyzer/scripts/diagnose_compilation.py +273 -0
  908. package/pipeline/skills/shared/external/xcode-project-analyzer/SKILL.md +77 -0
  909. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-optimization-sources.md +155 -0
  910. package/pipeline/skills/shared/external/xcode-project-analyzer/references/build-settings-best-practices.md +216 -0
  911. package/pipeline/skills/shared/external/xcode-project-analyzer/references/project-audit-checks.md +101 -0
  912. package/pipeline/skills/shared/external/xcode-project-analyzer/references/recommendation-format.md +85 -0
  913. package/pipeline/skills/skills-index.md +213 -192
  914. package/docs/GENERICITY-REVIEW.md +0 -277
  915. package/docs/STABILITY-FIX-PLAN.md +0 -168
  916. package/pipeline/scripts/.last-figma-sync-plan.json +0 -23
  917. package/pipeline/scripts/README-figma-smokes.md +0 -34
  918. package/pipeline/scripts/figma-placeholder-map.json +0 -191
  919. package/pipeline/scripts/import-figma-skills.sh +0 -253
  920. package/pipeline/scripts/smoke-figma-config-schema.sh +0 -144
  921. package/pipeline/scripts/smoke-figma-skill-import.sh +0 -174
  922. package/pipeline/scripts/smoke-install-leak-gate.sh +0 -125
  923. package/pipeline/scripts/smoke-personal-data.sh +0 -82
  924. package/pipeline/scripts/sync-figma-source.sh +0 -228
  925. package/pipeline/skills/figma-ios/figma-to-component/scripts/confluence-page-ids.json +0 -94
  926. package/pipeline/skills/shared/external/app-store-review/references/code-signing.md +0 -259
  927. package/pipeline/skills/shared/external/app-store-review/references/rejection-patterns.md +0 -152
  928. package/pipeline/skills/shared/external/pencilkit-drawing/references/paperkit-integration.md +0 -376
@@ -0,0 +1,1062 @@
1
+ ---
2
+ description: "v3 canonical template for /multi-agent:analysis. 23 main sections + 3 footer sections. Platform-agnostic concept layer (Pass A) projected per-platform with repo-driven naming (Pass B). Includes Lite mode for small features."
3
+ ---
4
+
5
+ # Analysis Template v3 - 23 Main Sections + 3 Footer
6
+
7
+ `/multi-agent:analysis` renders every output against this template. Document language follows `prefs.global.outputLanguage` (`tr` or `en`). Tables use pipe-syntax markdown; the Confluence channel (`md2confluence-v3.py`) converts them to storage XML at emit time, embeds attachment images, and runs the humanizer punctuation gate before write.
8
+
9
+ > **Heading style**: plain Arabic numeral numbering: `## 1. Geliştirme Özeti`, `## 2. Hedefler ve Karşı Hedefler`. No special section characters. The section sign codepoint (U+00A7) is banned by `feedback_no-section-sign`.
10
+
11
+ > **Language**: This file is read as a system prompt. Prose stays English. Example tables and headings carry bilingual TR / EN scaffolds; the runtime renderer picks the right column per `outputLanguage`.
12
+
13
+ > **Locked decisions that govern this template**: 1 (one feature per run), 2 (omission rule), 3 (citation discipline), 4 (forward-looking spec), 7 (humanizer punctuation policy), 8 (standards binding), 9 (per-platform output split), 11 (repo-evidence reuse-first), 12 (Gherkin), 13 (Goals + Non-Goals), 14 (SVG default), 15 (Files-to-Add tag), 16 (API response variants), 17 (screenshots embedded), 18 (all Figma variants), 19 (8-locale full coverage), 20 (References at bottom), 21 (platform-agnostic + Pass B), 22 (convention extraction), 23 (fallback risk), 24 (Pass B footnote mandatory), 28 (SwiftUI Preview block iOS), 29 (variant usage explicit), 30 (analysis self-contained pipeline-wide MCP forbidden outside analysis phase).
14
+
15
+ ## Mode selection - Full vs Lite
16
+
17
+ The renderer picks Full or Lite mode automatically based on signals captured in Phase 1, or honours an explicit `--lite` flag from the user.
18
+
19
+ | Mode | Sections | When |
20
+ |---|---|---|
21
+ | Full | 23 main + 3 footer | Default. Used when feature has multi-screen flow, external service contracts, or complex business rules. |
22
+ | Lite | 7 main + 1 footer: 1, 2, 4, 9, 13, 14, 21, 23 | Used when (a) Confluence spec < 100 lines AND (b) Figma frames <= 1 AND (c) repo evidence direct-match >= 8. Manual override: user passes `--lite`. |
23
+
24
+ Lite mode sections retain the same scaffold as Full mode; only the section set is reduced.
25
+
26
+ ## Section duplication mode per platform (A3 hybrid)
27
+
28
+ Locked 9 - one file per selected platform under `analysis/<feature>-<platform>.md`. Sections fall into three duplication categories:
29
+
30
+ | Category | Sections | Behaviour |
31
+ |---|---|---|
32
+ | Shared verbatim | 1, 2, 3, 4, 9, 21 | Identical content in every per-platform file. Pass A renders once, Pass B copies verbatim. |
33
+ | Per-platform projection | 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 | Logical content shared; expressions (class names, paths, code snippets, test framework, identifier patterns) projected per platform from Phase 1c conventions. |
34
+ | Footer | 22, 23 | Optional in Lite mode. In Full mode, identical across platforms. |
35
+
36
+ Backend-only run drops Sections 5 (Design), 6 (Components), 7 (Tokens), 8 (Assets), 10 (Localization keys can omit if no server-rendered text), 11 (Analytics if no backend telemetry), 12 (Deeplink/Push if no outgoing contracts), 16 (Accessibility N/A), 17 (subset: server-side input validation only).
37
+
38
+ ## Front-matter header (per-platform file)
39
+
40
+ Every per-platform file starts with this YAML block:
41
+
42
+ ```yaml
43
+ ---
44
+ feature: <FeatureName>
45
+ platform: ios | android | backend | frontend
46
+ language: tr | en
47
+ mode: full | lite
48
+ generated: <ISO 8601 UTC timestamp>
49
+ jira: <JIRA_KEY>-<id>
50
+ branch: <branch-name>
51
+ base_branch: <base-branch>
52
+ siblings:
53
+ - analysis/<FeatureName>-<other-platform>.md
54
+ standards:
55
+ - <absolute path or confluence:title or github-wiki:slug>
56
+ evidence_digest: sha256:<digest>
57
+ template_version: v3
58
+ ---
59
+ ```
60
+
61
+ The dev pipeline (`/multi-agent:dev`) reads `platform` to verify file match, `evidence_digest` to detect stale specs, and `mode` to know which section set to expect.
62
+
63
+ ## Omission rules
64
+
65
+ Locked 2 - no `TBD` / `Not applicable` placeholder. Sections with zero evidence are omitted entirely. Numbering remains sequential `1..N` over the rendered set; numbers re-flow when sections drop. The dispatch report logs the omission list.
66
+
67
+ | Section | Omission condition |
68
+ |---|---|
69
+ | 3 Flow Chart | Single screen AND single service AND simple business rule (no state transitions) |
70
+ | 5 Design Reference | No Figma URL AND no Code Connect mapping in any selected repo |
71
+ | 6 Component Inventory | No Figma URL AND no UI primitive evidence in repo |
72
+ | 7 Design Tokens | Sections 5 and 6 both omitted |
73
+ | 8 Asset Inventory | No new visual asset planned AND no existing asset modified |
74
+ | 10 Localization | No Figma text layer AND no localization key file in repo |
75
+ | 11 Analytics | No Firebase input AND no analytics call site in repo |
76
+ | 12 Deeplink/Push | No deeplink handler in repo AND no push payload binding AND spec silent |
77
+ | 15 Test Plan | Backend-only run with no contract testing planned (rare) |
78
+ | 16 Accessibility | Backend-only (no UI surface) |
79
+ | 17 Security | No PII / auth / health data touched (rare, document explicit decision) |
80
+ | 18 Rollout | Lite mode |
81
+ | 19 Alternatives | Lite mode AND zero significant architectural decision points |
82
+ | 22 Glossary | Lite mode |
83
+ | 23 Changelog | Lite mode (optional even in Full for small revisions) |
84
+
85
+ Sections 1, 2, 4, 9, 13, 14, 20, 21 are never omitted.
86
+
87
+ ## Pass B footnote format (Locked 24)
88
+
89
+ Every Pass B-rendered cell carries a footnote pointing to its evidence source:
90
+
91
+ ```
92
+ | Cell label | Cell value ^[<convention-key> <confidence>: <evidence-source>] |
93
+ ```
94
+
95
+ Examples:
96
+
97
+ ```
98
+ | State holder | `PassengerFlightViewModel` ^[C2 high: 8 örnek; en yakın StandaloneLoginViewModel.swift] |
99
+ | Test naming | `@Test func fetch_validInput_returnsIdle()` ^[C4 medium: 4 mevcut örnek, çoğunluk Swift Testing] |
100
+ | Identifier | `passengerFlight.continueButton` ^[C5 high: ui-testing-identifiers.json dot notation] |
101
+ | State model | sealed enum `PassengerFlightUIState` ^[C3 fallback: conventions-defaults.md:C3-iOS, repo evidence none] |
102
+ ```
103
+
104
+ Footnote-less cells fail the dispatch gate.
105
+
106
+ ---
107
+
108
+ # Section scaffolds
109
+
110
+ ## 1. Geliştirme Özeti / Summary
111
+
112
+ Never omitted. 2-3 paragraphs. Reader-friendly explanation of what the feature does and why it exists.
113
+
114
+ ```markdown
115
+ ## 1. Geliştirme Özeti <!-- TR -->
116
+ ## 1. Summary <!-- EN -->
117
+
118
+ <one-sentence definition citing the primary spec source>
119
+
120
+ <paragraph: what the user gains from the feature>
121
+
122
+ <paragraph: which platforms and which app versions ship this>
123
+ ```
124
+
125
+ Citation: feature definition cites the primary Confluence spec page (`[Confluence:<pageId>:<heading>]`).
126
+
127
+ ## 2. Hedefler ve Karşı Hedefler / Goals and Non-Goals
128
+
129
+ Never omitted. Locked 13 - both columns mandatory. A row in only one column is not accepted.
130
+
131
+ ```markdown
132
+ ## 2. Hedefler ve Karşı Hedefler <!-- TR -->
133
+ ## 2. Goals and Non-Goals <!-- EN -->
134
+
135
+ | Hedef / Goal | Karşı Hedef / Non-Goal |
136
+ |---|---|
137
+ | <goal 1 citing source> | <non-goal 1 citing source> |
138
+ | <goal 2> | <non-goal 2> |
139
+ ```
140
+
141
+ Each non-goal must say what it does NOT cover, not a vague "out of scope".
142
+
143
+ ## 3. Akış Diyagramı / Flow Chart
144
+
145
+ Mermaid diagram(s). At least one is mandatory unless omission conditions hold (single screen + single service + simple rule).
146
+
147
+ ```markdown
148
+ ## 3. Akış Diyagramı <!-- TR -->
149
+ ## 3. Flow Chart <!-- EN -->
150
+
151
+ ### 3.1 Navigasyon Akışı / Navigation Flow
152
+
153
+ \`\`\`mermaid
154
+ flowchart TD
155
+ A[Entry] --> B{Validation}
156
+ B -->|valid| C[POST endpoint]
157
+ B -->|invalid| A
158
+ C --> D{Server response}
159
+ D -->|case A| E[Next screen]
160
+ D -->|case B| F[Modal]
161
+ \`\`\`
162
+
163
+ ### 3.2 Servis Sırası / Sequence Diagram
164
+
165
+ \`\`\`mermaid
166
+ sequenceDiagram
167
+ actor U as User
168
+ participant A as App
169
+ participant B as BFF
170
+ participant S as Service
171
+
172
+ U->>A: action
173
+ A->>B: request
174
+ B->>S: downstream
175
+ S-->>B: response
176
+ B-->>A: aggregated
177
+ A->>U: rendered
178
+ \`\`\`
179
+
180
+ ### 3.3 Durum Makinesi / State Machine (optional)
181
+
182
+ \`\`\`mermaid
183
+ stateDiagram-v2
184
+ [*] --> Loading
185
+ Loading --> Idle: success
186
+ Loading --> Error: failure
187
+ Idle --> Submitting: action
188
+ Submitting --> [*]: success
189
+ Submitting --> Error: validation
190
+ Error --> Idle: retry
191
+ \`\`\`
192
+ ```
193
+
194
+ Confluence dispatch wraps each mermaid block in `<ac:structured-macro ac:name="mermaid">`. If the macro is unavailable, `md2confluence-v3.py --mermaid-fallback` converts to a numbered list. The dispatch report carries `mermaid_macro_fallback_used: true/false`.
195
+
196
+ ## 4. Kullanıcı Hikayeleri / User Stories
197
+
198
+ Never omitted. Locked 12 - Gherkin format mandatory. **Source-story completeness gate**: Gherkin scenarios cover the key happy/error/edge paths, but a `### 4.0 Kaynak Hikaye Izlenebilirligi / Source Story Traceability` table MUST list EVERY source-spec user-story ID (US-1..US-N) verbatim, each mapped to where it is covered (a Gherkin scenario or another section). Condensing into a few Gherkin scenarios is allowed ONLY if this table preserves the full source ID set; no source user story may be silently dropped. A missing source ID is a blocker and emits a Section 20 Risk row.
199
+
200
+ ```markdown
201
+ ## 4. Kullanıcı Hikayeleri <!-- TR -->
202
+ ## 4. User Stories <!-- EN -->
203
+
204
+ ### 4.1 Mutlu yol / Happy path
205
+
206
+ \`\`\`gherkin
207
+ Given <precondition>
208
+ And <additional context>
209
+ When <action>
210
+ Then <expected outcome>
211
+ And <secondary outcome>
212
+ \`\`\`
213
+
214
+ ### 4.2 <Hata adı> / <Error name>
215
+
216
+ \`\`\`gherkin
217
+ Given <precondition>
218
+ But <conflicting state>
219
+ When <action>
220
+ Then <prevention code shown, e.g. PP-211>
221
+ And <user guidance>
222
+ \`\`\`
223
+
224
+ ### 4.3 <Edge case>
225
+
226
+ \`\`\`gherkin
227
+ Given <precondition>
228
+ When <action>
229
+ Then <expected outcome>
230
+ \`\`\`
231
+ ```
232
+
233
+ Each scenario cites the matching prevention code (Section 9) when applicable. Plain-prose user stories without Given/When/Then are rejected by the renderer.
234
+
235
+ ## 5. Tasarım Referansı / Design Reference
236
+
237
+ Per-platform projection. Omitted if no Figma URL AND no Code Connect mapping. Locked 17 + 18.
238
+
239
+ ```markdown
240
+ ## 5. Tasarım Referansı <!-- TR -->
241
+ ## 5. Design Reference <!-- EN -->
242
+
243
+ ### 5.1 Frame galerisi / Frame gallery
244
+
245
+ Drill into every Figma variant (Locked 18). When a section URL is given, list all of its child frames.
246
+
247
+ | Frame ID | Varyant / Variant | Boyut / Dimensions | Görüntü / Screenshot | Ayırt edici / Distinctive | Code Connect |
248
+ |---|---|---|---|---|---|
249
+ | <nodeId 1> | <name> (canonical) | <w>x<h> | ![](frame-<prefix>-<id>.png) | <list> | <component name> ^[Figma <nodeId>] |
250
+ | <nodeId 2> | <name> | <w>x<h> | ![](...) | <list> | <component name> |
251
+ | <nodeId 3> | Error state | <w>x<h> | ![](...) | <list> | <component name> |
252
+
253
+ The `Code Connect` column is filled from `evidence.codeConnect[]` (Phase 1b.1): the component bound to that frame's `nodeId` (matched by `fileKey` + `nodeId`), or blank when the frame has no existing binding.
254
+
255
+ ### 5.2 Padding ve hizalama / Padding and alignment
256
+
257
+ Token references for each variant (no raw numbers).
258
+
259
+ | Varyant | Outer padding | Card gap | Section top | CTA stack |
260
+ |---|---|---|---|---|
261
+ | Canonical | Spacing.spacing16 | Spacing.spacing12 | Spacing.spacing24 | Spacing.spacing16 / 20 |
262
+ | Error | same | same | Spacing.spacing48 | same |
263
+
264
+ ### 5.3 Tier durumu / Tier status
265
+
266
+ Tier in use: <1 (MCP) | 2 (REST) | 3 (user screenshot)>
267
+ Screenshots attached: <count>
268
+ Auth retries used: <count>
269
+ ```
270
+
271
+ Frame gallery images are uploaded to Confluence as multipart attachments and referenced via `<ac:image><ri:attachment ri:filename="..." /></ac:image>` (Locked 17). Section URL drilling enumerates all child frames automatically via `mcp__claude_ai_Figma__get_metadata` or `figma-screenshot.sh --section`.
272
+
273
+ ## 6. Bileşen Envanteri / Component Inventory
274
+
275
+ Per-platform projection.
276
+
277
+ ```markdown
278
+ ## 6. Bileşen Envanteri <!-- TR -->
279
+ ## 6. Component Inventory <!-- EN -->
280
+
281
+ | Bileşen / Component | Mevcut / Existing | Konum / Location | Kullanım / Usage | Notlar / Notes |
282
+ |---|---|---|---|---|
283
+ | <Name> | yes | <path> | <where used> | reuse ^[direct-match] |
284
+ | <Name> | yes | <path> | <where used> | modify: <variant property to add> |
285
+ | <Name> | no | new | <where used> | added to Section 14 ^[Figma <nodeId>] |
286
+ ```
287
+
288
+ Locked 11 - existence is resolved against `evidence.codeConnect[]` (the Code Connect index from Phase 1b.1) first: a design `nodeId` (or its `fileKey`) that matches an index entry emits a `reuse` row (`Mevcut/Existing = yes`, pointing at the bound component + path), because figma-to-swiftui already built and bound it. A `nodeId` with no Code Connect match falls back to the Phase 1b `uiComponents` heuristic; only when neither finds a candidate does the row become a new component (`Existing = no`, added to Section 14).
289
+
290
+ ## 7. Tasarım Token'ları / Design Tokens
291
+
292
+ Per-platform projection. No magic numbers, no raw hex, no raw `.font()`.
293
+
294
+ ```markdown
295
+ ## 7. Tasarım Token'ları <!-- TR -->
296
+ ## 7. Design Tokens <!-- EN -->
297
+
298
+ ### 7.1 Spacing
299
+
300
+ | Token | Değer / Value | Kullanım / Usage |
301
+ |---|---|---|
302
+ | Spacing.spacing12 | 12 pt | <where> |
303
+ | Spacing.spacing16 | 16 pt | <where> |
304
+
305
+ ### 7.2 Renkler / Colors
306
+
307
+ | Token | Hex (reference) | Kullanım / Usage |
308
+ |---|---|---|
309
+ | Color.Primary.primary | #E31837 | <where> |
310
+ | Color.Status.error | #D32F2F | <where> |
311
+
312
+ ### 7.3 Tipografi / Typography
313
+
314
+ | Token | Kullanım / Usage |
315
+ |---|---|
316
+ | .h6 | <where> |
317
+ | .body1 | <where> |
318
+ ```
319
+
320
+ Per-platform projection translates token names: iOS uses `.Spacing.spacingN` enum; Android uses `MaterialTheme.spacing.medium` or design system equivalent; Frontend uses CSS variables `--spacing-md` or Tailwind classes; Backend section omitted.
321
+
322
+ ## 8. Asset Envanteri / Asset Inventory
323
+
324
+ ```markdown
325
+ ## 8. Asset Envanteri <!-- TR -->
326
+ ## 8. Asset Inventory <!-- EN -->
327
+
328
+ | Asset adı / Name | Format | Mevcut / Existing | Kaynak / Source | Notlar / Notes |
329
+ |---|---|---|---|---|
330
+ | <name> | SVG | yes | xcassets | reuse |
331
+ | <name> | SVG | no | Figma frame <nodeId> | new ^[Figma <nodeId>] |
332
+ | <name> | Lottie | no | Figma + motion spec | new, istisna gerekçesi / exception rationale: <reason> |
333
+ ```
334
+
335
+ Locked 14 - SVG default for new assets. Lottie or optimized PNG accepted with explicit rationale in the Notes column.
336
+
337
+ ## 9. API Kontratları / API Contracts
338
+
339
+ Never omitted (if any service is consumed). Locked 16 - response variants exhaustive. **Service-completeness gate**: do NOT rely solely on the supplied Swagger/Confluence inputs - reconcile against the canonical Api Contract page(s) for this screen. Every endpoint listed on the screen's Api Contract page MUST appear in 9.1 (or be explicitly tagged out-of-scope with a reason). An uncovered contract endpoint is a blocker and emits a Section 20 Risk row.
340
+
341
+ ```markdown
342
+ ## 9. API Kontratları <!-- TR -->
343
+ ## 9. API Contracts <!-- EN -->
344
+
345
+ **Swagger / OpenAPI**: <url-or-omit>
346
+ **Confluence kontrat sayfası / Confluence contract page**: <url-or-omit>
347
+
348
+ ### 9.1 Endpoint
349
+
350
+ \`\`\`
351
+ POST /v1/<endpoint>
352
+ Content-Type: application/json
353
+ Authorization: Bearer <token>
354
+ \`\`\`
355
+
356
+ ### 9.2 Request body
357
+
358
+ \`\`\`json
359
+ {
360
+ "field1": "value",
361
+ "field2": 0
362
+ }
363
+ \`\`\`
364
+
365
+ | Alan / Field | Tip / Type | Zorunlu / Required | Validation |
366
+ |---|---|---|---|
367
+ | field1 | string | yes | <rule> |
368
+ | field2 | integer | no | <rule> |
369
+
370
+ ### 9.3 Response varyantları / Response variants
371
+
372
+ List every HTTP status code one by one.
373
+
374
+ | HTTP | Senaryo / Scenario | Body | UI sonucu / UI outcome |
375
+ |---|---|---|---|
376
+ | 200 | success | <body> | <UI> |
377
+ | 200 | redirect type A | <body> | <UI> |
378
+ | 400 | invalid input | `{"code":"FP-011"}` | <UI> |
379
+ | 422 | business rule violated | `{"code":"FP-031"}` | <UI> |
380
+ | 500 | server error | `{"code":"GEN-500"}` | <UI> |
381
+
382
+ ### 9.4 Prevention catalog (when applicable)
383
+
384
+ | Kod / Code | Anlam / Meaning | UI konumu / UI location |
385
+ |---|---|---|
386
+ | FP-011 | Invalid format | <screen> |
387
+ | PP-211 | Empty result set | <screen> |
388
+ ```
389
+
390
+ ## 10. Lokalizasyon Anahtarları / Localization Keys
391
+
392
+ Per-platform projection. Locked 19 - 8-locale full coverage mandatory for new keys.
393
+
394
+ ```markdown
395
+ ## 10. Lokalizasyon Anahtarları <!-- TR -->
396
+ ## 10. Localization Keys <!-- EN -->
397
+
398
+ Desteklenen diller: TR, EN, AR, DE, ES, FR, RU, ZH
399
+
400
+ | Key | TR | EN | AR | DE | ES | FR | RU | ZH | Source | Status |
401
+ |---|---|---|---|---|---|---|---|---|---|---|
402
+ | <key 1> | <tr> | <en> | <ar> | <de> | <es> | <fr> | <ru> | <zh> | Figma <nodeId> | new |
403
+ | <key 2> | <tr> | <en> | <ar> | <de> | <es> | <fr> | <ru> | <zh> | repo:Localizable.xcstrings | reuse |
404
+ | <key 3> | <tr> | <en> | [bekleniyor: çeviri ekibi] | [bekleniyor: çeviri ekibi] | ... | ... | ... | ... | Figma | partial |
405
+ ```
406
+
407
+ Status values:
408
+
409
+ | Status | Meaning |
410
+ |---|---|
411
+ | reuse | Existing namespace, no new translation needed |
412
+ | new | New key, all 8 locales must be filled |
413
+ | partial | TR + EN filled, remaining 6 locales pending translation team. Dispatch report flags `i18n_pending: <count>` as blocker. |
414
+
415
+ Per-platform projection:
416
+
417
+ | Platform | File format | Key convention | Example |
418
+ |---|---|---|---|
419
+ | iOS | `Localizable.xcstrings` | hierarchical dot PascalCase | `Feature.Element` ^[C6 high] |
420
+ | Android | `strings.xml` | flat snake_case | `feature_element` ^[C6 high] |
421
+ | Backend | error code table | per server convention | uppercase enum |
422
+ | Frontend | `i18n/*.json` | hierarchical dot camelCase | `feature.element` ^[C6 high] |
423
+
424
+ ## 11. Analytics
425
+
426
+ ```markdown
427
+ ## 11. Analytics
428
+
429
+ | Event | Parametreler / Params | Tetiklenme / Trigger | Source | Status |
430
+ |---|---|---|---|---|
431
+ | <event_name> | <param1, param2> | <when> | <Firebase schema / repo / Confluence> | new |
432
+ | <event_name> | <params> | <when> | <source> | reuse |
433
+
434
+ PII redaction: <list of fields hashed before telemetry>
435
+ ```
436
+
437
+ Locked 11 - direct-match events emit reuse rows. Locked 17 - PII fields (PNR, surname, ffp number) hashed before emit.
438
+
439
+ ## 12. Deeplink ve Push Notification / Deeplink and Push
440
+
441
+ Conditional. Included when: repo grep hits deeplink/push handler, OR Confluence spec mentions deeplink/push routing, OR feature has push payload binding.
442
+
443
+ ```markdown
444
+ ## 12. Deeplink ve Push Notification <!-- TR -->
445
+ ## 12. Deeplink and Push Notification <!-- EN -->
446
+
447
+ ### 12.1 Deeplink tablosu / Deeplink table
448
+
449
+ | URL Pattern | Parametreler / Params | Hedef route / Target route | Handler | autoSubmit |
450
+ |---|---|---|---|---|
451
+ | `<scheme>://<feature>?<params>` | <params> | <screen> | <handler:line> | yes/no |
452
+ | `https://<domain>/<feature>?<params>` | <params> | <screen> | <handler:line> | yes/no |
453
+
454
+ ### 12.2 Push payload
455
+
456
+ | Event | Payload | Hedef route / Target route | Handler | Foreground davranışı / Foreground behaviour |
457
+ |---|---|---|---|---|
458
+ | <event> | `{...}` | <screen> | <handler> | banner + tap or full screen |
459
+
460
+ ### 12.3 Universal Links / Associated domains
461
+
462
+ apple-app-site-association: `<path>`
463
+ Android intent-filter: `<host>` / `<scheme>`
464
+
465
+ ### 12.4 Routing sequence
466
+
467
+ \`\`\`mermaid
468
+ sequenceDiagram
469
+ participant N as Notification
470
+ participant AD as AppDelegate / FirebaseMessagingService
471
+ participant DR as DeeplinkRouter
472
+ participant C as Coordinator / Navigator
473
+ participant V as View
474
+
475
+ N->>AD: payload
476
+ AD->>DR: resolve
477
+ DR->>C: start(route, params)
478
+ C->>V: attach
479
+ \`\`\`
480
+ ```
481
+
482
+ ## 13. Mimari Plan / Architecture Plan
483
+
484
+ Never omitted. Per-platform projection from Phase 1c conventions.
485
+
486
+ ```markdown
487
+ ## 13. Mimari Plan <!-- TR -->
488
+ ## 13. Architecture Plan <!-- EN -->
489
+
490
+ ### 13.1 Kavram tablosu / Concept table
491
+
492
+ Locked 21 - platform-agnostic concept layer rendered with repo conventions.
493
+
494
+ | Kavram / Concept | Karşılığı / Realization | Confidence | Evidence |
495
+ |---|---|---|---|
496
+ | Module folder | <repo path> | high | C1 |
497
+ | State holder | `<class name>` | high | C2 |
498
+ | View / Screen | `<class name>` | high | C2 |
499
+ | Navigator | `<class name>` | high | C2 |
500
+ | Use case | `<class names>` | high | C2 |
501
+ | Repository | `<class name>` | high | C2 |
502
+ | DTO | `<class names>` | high | C2 |
503
+ | UI state model | <sealed enum / data class / discriminated union> | high | C3 |
504
+ | DI registration | <configurator / module / Depends / hook factory> | high | C7 |
505
+ | Localization key | `<example>` | high | C6 |
506
+ | Accessibility id | `<example>` | high | C5 |
507
+ | Test method | `<example>` | high | C4 |
508
+
509
+ ### 13.2 State holder snippet
510
+
511
+ \`\`\`<lang>
512
+ <rendered class skeleton per Pass B>
513
+ \`\`\`
514
+
515
+ ### 13.3 State model
516
+
517
+ \`\`\`<lang>
518
+ <rendered state type per Pass B>
519
+ \`\`\`
520
+
521
+ ### 13.4 Validation kuralları / Validation rules
522
+
523
+ | Kural / Rule | Konum / Location | Davranış / Behaviour |
524
+ |---|---|---|
525
+ | <rule> | <use case class> | <effect> |
526
+
527
+ ### 13.5 Navigator / Coordinator
528
+
529
+ \`\`\`<lang>
530
+ <rendered navigator interface per Pass B>
531
+ \`\`\`
532
+
533
+ ### 13.6 DI registration
534
+
535
+ \`\`\`<lang>
536
+ <rendered DI register line per Pass B>
537
+ \`\`\`
538
+
539
+ ### 13.6 SwiftUI Preview block (iOS projection, SwiftUI views only)
540
+
541
+ Per Locked 29 - SwiftUI views ship with `#Preview` macro (Swift 5.9+) or `PreviewProvider` (legacy). UIKit view controllers are exempt from this section. Pass B detects the view kind via `import SwiftUI` + `: View` protocol conformance against `evidence.repoEvidence[<repo>].buckets.uiComponents`; if a feature has only UIKit `UIViewController` artefacts, this subsection is omitted with note `(N/A: UIKit-only feature)`.
542
+
543
+ One preview entry per variant matters for Xcode Canvas and snapshot test alignment. Preview macro convention is read from `conventions[<repo>].previewMacro` (Phase 1c) - the renderer picks `#Preview` for Swift 5.9+ repos and `PreviewProvider` for legacy ones.
544
+
545
+ | Varyant / Variant | Mode / Trait | Notes |
546
+ |---|---|---|
547
+ | Default (canonical) | LTR Light | basic happy path |
548
+ | Default | LTR Dark | dark mode regression check |
549
+ | Default | RTL Light | RTL layout regression |
550
+ | Default | Dynamic Type accessibilityLarge | scaling regression |
551
+ | Error state | LTR Light | empty state, prevention message |
552
+ | Loading state | LTR Light | skeleton or spinner |
553
+ | Edge case (e.g. long copy, single passenger) | LTR Light | optional, when distinct from canonical |
554
+
555
+ Preview snippet (Pass B fills variant list per Phase 1c convention):
556
+
557
+ \`\`\`swift
558
+ #Preview("Default") {
559
+ PassengerFlightView(viewModel: .preview(.idle))
560
+ }
561
+
562
+ #Preview("Error - PP-211") {
563
+ PassengerFlightView(viewModel: .preview(.error(.PP_211)))
564
+ }
565
+
566
+ #Preview("Dark") {
567
+ PassengerFlightView(viewModel: .preview(.idle))
568
+ .preferredColorScheme(.dark)
569
+ }
570
+
571
+ #Preview("RTL") {
572
+ PassengerFlightView(viewModel: .preview(.idle))
573
+ .environment(\.layoutDirection, .rightToLeft)
574
+ }
575
+ \`\`\`
576
+
577
+ Reuse rule (Locked 11 + 24): if `evidence.repoEvidence[<repo>].buckets.uiComponents` shows that the view already has a `#Preview` block, the table cell carries `Reuse existing block at <file:line>` instead of `Add new preview`. Conventions footnote example: `^[C8 high: 6 örnek, #Preview macro convention, en yakın StandaloneLoginView.swift:120]`.
578
+
579
+ Snapshot test linkage: Section 15.2 Snapshot Tests must enumerate each preview variant listed here so Canvas previews and CI snapshots stay aligned. A preview without a matching snapshot row triggers a Section 20 Risk.
580
+
581
+ ### 13.7 Standards binding
582
+
583
+ Decisions cite their binding source (Locked 8):
584
+
585
+ | Decision | Source |
586
+ |---|---|
587
+ | <decision> | <standards file or wiki page> |
588
+ ```
589
+
590
+ ## 14. Eklenecek Dosyalar / Files to Add
591
+
592
+ Never omitted. Locked 15 - every row carries Reuse / Add new / Modify tag.
593
+
594
+ ```markdown
595
+ ## 14. Eklenecek Dosyalar <!-- TR -->
596
+ ## 14. Files to Add <!-- EN -->
597
+
598
+ | Dosya / File | Etiket / Tag | Notlar / Notes |
599
+ |---|---|---|
600
+ | <path> | Add new | <purpose> |
601
+ | <path> | Reuse | <where it lives, why no change> ^[direct-match] |
602
+ | <path> | Modify | <what changes> |
603
+ ```
604
+
605
+ ## 15. Test Planı / Test Plan
606
+
607
+ Per-platform projection.
608
+
609
+ ```markdown
610
+ ## 15. Test Planı <!-- TR -->
611
+ ## 15. Test Plan <!-- EN -->
612
+
613
+ ### 15.1 Birim testleri / Unit tests
614
+
615
+ | Test | Hedef / Target |
616
+ |---|---|
617
+ | <test name per C4 convention> | <what it verifies> |
618
+
619
+ ### 15.2 Görsel regresyon / Snapshot tests
620
+
621
+ | Senaryo / Scenario | Mod / Mode |
622
+ |---|---|
623
+ | Canonical | LTR Light |
624
+ | Canonical | LTR Dark |
625
+ | Canonical | RTL Light |
626
+ | Error state | LTR Light |
627
+ | Empty state | LTR Light |
628
+
629
+ Cihaz boyutları / Device sizes: <list>
630
+
631
+ ### 15.3 Sahte servisler / Mock services
632
+
633
+ | Service | Mock class / file | Use case |
634
+ |---|---|---|
635
+ | <service> | <mock> | <UC> |
636
+
637
+ ### 15.4 Kabul senaryoları / Acceptance scenarios
638
+
639
+ Gherkin scenarios from Section 4 mapped to UI test names.
640
+
641
+ | Senaryo | UI test |
642
+ |---|---|
643
+ | 4.1 happy path | <XCUITest / Espresso / Playwright name> |
644
+
645
+ ### 15.5 Performans bütçesi / Performance budget
646
+
647
+ | Metrik / Metric | Hedef / Target |
648
+ |---|---|
649
+ | Cold start to ready | <ms> |
650
+ | Scroll FPS | 60 |
651
+ | Memory peak | <MB> |
652
+ ```
653
+
654
+ ## 16. Erişilebilirlik / Accessibility
655
+
656
+ Per-platform projection. WCAG 2.2 AA + Apple HIG + Material A11y.
657
+
658
+ ```markdown
659
+ ## 16. Erişilebilirlik <!-- TR -->
660
+ ## 16. Accessibility <!-- EN -->
661
+
662
+ | Madde / Item | Durum / Status | Notlar / Notes |
663
+ |---|---|---|
664
+ | Unique identifier on every interactive element | required | <per C5 convention> |
665
+ | Minimum tap target (iOS 44x44 pt / Android 48x48 dp / Web 44x44 px) | required | |
666
+ | Screen reader label (accessibilityLabel / contentDescription / aria-label) | required | |
667
+ | Hint text (accessibilityHint / stateDescription / aria-description) | optional | |
668
+ | Dynamic Type / font scaling support | required | |
669
+ | Contrast ratio >= 4.5:1 | required | |
670
+ | State expressed beyond colour | required | |
671
+ | Keyboard navigation (web only) | required | tabindex + focus order |
672
+ | Voice Over / TalkBack reading order | required | |
673
+ ```
674
+
675
+ ## 17. Güvenlik ve Gizlilik / Security and Privacy
676
+
677
+ Per-platform projection. Locked decisions: no PII in logs, HTTPS only, Keychain for secrets, hashing for telemetry, ATT before tracking, KVKK/GDPR compliance.
678
+
679
+ ```markdown
680
+ ## 17. Güvenlik ve Gizlilik <!-- TR -->
681
+ ## 17. Security and Privacy <!-- EN -->
682
+
683
+ | Kural / Rule | Uygulama / Implementation |
684
+ |---|---|
685
+ | Secrets in secure storage (Keychain / KeyStore / encrypted env) | required |
686
+ | Sensitive fields hashed before telemetry | required, SHA-256 |
687
+ | HTTPS only, no ATS exception | required |
688
+ | Certificate pinning (where applicable) | required |
689
+ | ATT consent before tracking (iOS) | required if tracking enabled |
690
+ | KVKK / GDPR data lifecycle disclosed | required |
691
+
692
+ OWASP MASVS quick check:
693
+
694
+ | MSTG | Status |
695
+ |---|---|
696
+ | AUTH-1 | <status> |
697
+ | NETWORK-1 | <status> |
698
+ | STORAGE-1 | <status> |
699
+ ```
700
+
701
+ ## 18. Yayılım Planı / Rollout Plan
702
+
703
+ ```markdown
704
+ ## 18. Yayılım Planı <!-- TR -->
705
+ ## 18. Rollout Plan <!-- EN -->
706
+
707
+ | Aşama / Stage | Aksiyon / Action |
708
+ |---|---|
709
+ | Development | feature branch <name> |
710
+ | Code review | <number of approvals, who> |
711
+ | QA test | <devices and versions> |
712
+ | Staged rollout | <internal -> beta -> production %> |
713
+ | Rollback | <remote flag name> |
714
+ ```
715
+
716
+ ## 19. Değerlendirilen Alternatifler / Alternatives Considered
717
+
718
+ ADR format.
719
+
720
+ ```markdown
721
+ ## 19. Değerlendirilen Alternatifler <!-- TR -->
722
+ ## 19. Alternatives Considered <!-- EN -->
723
+
724
+ ### Alternatif <n> / Alternative <n>
725
+
726
+ | Seçenek / Option | Artı / Pro | Eksi / Con |
727
+ |---|---|---|
728
+ | <chosen> | <pro list> | <con list> |
729
+ | <alternative> | <pro list> | <con list> |
730
+
731
+ Karar / Decision: <chosen>. Gerekçe / Rationale: <reason>.
732
+ ```
733
+
734
+ ## 20. Riskler ve Açık Sorular / Risks and Open Questions
735
+
736
+ Never omitted.
737
+
738
+ ```markdown
739
+ ## 20. Riskler ve Açık Sorular <!-- TR -->
740
+ ## 20. Risks and Open Questions <!-- EN -->
741
+
742
+ | Risk / Soru / Risk / Question | Sahibi / Owner | Durum / Status |
743
+ |---|---|---|
744
+ | <risk or question> | <name or role> | Açık / Open |
745
+ | <convention fallback applied> | Pass B (auto) | Açık / Open |
746
+ | <existing X candidate found; reuse or document why a new one is needed> | <name> | Açık / Open |
747
+ ```
748
+
749
+ Auto-populated rows (Locked 11, 23): repo-evidence direct-match candidates that conflict with planned new-write; convention fallbacks where Phase 1c confidence was none.
750
+
751
+ ## 21. Referanslar / References
752
+
753
+ Never omitted. Locked 20 - at the bottom, not at the top.
754
+
755
+ ```markdown
756
+ ## 21. Referanslar <!-- TR -->
757
+ ## 21. References <!-- EN -->
758
+
759
+ | Tür / Type | Kaynak / Source | URL or Path | Rol / Role | Notlar / Notes |
760
+ |---|---|---|---|---|
761
+ | Standards | <name> | <url or path> | binding | <version> |
762
+ | Wiki | <name> | <url> | binding | <pattern referenced> |
763
+ | Figma | <design name> | <url> | UI design | <n variants, all screenshots embedded> |
764
+ | Confluence | <spec name> | <url> | feature spec | <v<n>> |
765
+ | Confluence | <api contract> | <url> | API contract | <endpoint summary> |
766
+ | Jira | <ticket id> | <url> | ticket | <description> |
767
+ | Firebase | events | <console url> | reference only | auth-gated |
768
+ | OpenAPI | generated | <repo path> | DTO source | <regen plugin name> |
769
+ | Repo | <module> | <repo path> | existing implementation | <reuse summary> |
770
+ ```
771
+
772
+ ## 22. Sözlük / Glossary
773
+
774
+ Footer. Optional in Lite mode. Alphabetical.
775
+
776
+ ```markdown
777
+ ## 22. Sözlük <!-- TR -->
778
+ ## 22. Glossary <!-- EN -->
779
+
780
+ | Kısaltma / Abbreviation | Açıklama / Description |
781
+ |---|---|
782
+ | APIS | Advance Passenger Information System |
783
+ | ATS | App Transport Security |
784
+ | BFF | Backend For Frontend |
785
+ | CTA | Call To Action |
786
+ | FFP | Frequent Flyer Programme |
787
+ | KVKK | Kişisel Verilerin Korunması Kanunu |
788
+ | PNR | Passenger Name Record |
789
+ | WCAG | Web Content Accessibility Guidelines |
790
+ ```
791
+
792
+ Only terms used in this document are listed. Generic IT terms (HTTP, JSON, REST) are excluded.
793
+
794
+ ## 23. Değişiklik Geçmişi / Changelog
795
+
796
+ Footer.
797
+
798
+ ```markdown
799
+ ## 23. Değişiklik Geçmişi <!-- TR -->
800
+ ## 23. Changelog <!-- EN -->
801
+
802
+ | Sürüm / Version | Tarih / Date | Yazar / Author | Değişiklik / Change |
803
+ |---|---|---|---|
804
+ | v1 | <date> | <author> | İlk taslak / Initial draft |
805
+ | v2 | <date> | <author> | <change summary> |
806
+ ```
807
+
808
+ ---
809
+
810
+ # Pass B render examples (per platform)
811
+
812
+ The following examples show how Pass B fills the same Pass A concept layer (state holder + use case + view + state model) for each platform when repo conventions are extracted with `high` confidence.
813
+
814
+ ## iOS render example
815
+
816
+ Conventions extracted: feature-first + clean arch, `<Feature>ViewModel`, sealed enum state, Swift Testing, dot-notation accessibility identifiers, hierarchical dot PascalCase localization, manual configurator DI.
817
+
818
+ ```swift
819
+ @MainActor
820
+ final class PassengerFlightViewModel: ObservableObject {
821
+ @Published private(set) var state: PassengerFlightUIState = .loading
822
+ private let fetchUseCase: FetchPassengerFlightUseCaseProtocol
823
+
824
+ init(fetchUseCase: FetchPassengerFlightUseCaseProtocol) {
825
+ self.fetchUseCase = fetchUseCase
826
+ }
827
+
828
+ func onAppear() async {
829
+ do {
830
+ let result = try await fetchUseCase.execute()
831
+ state = .idle(passengers: result.passengers, flights: result.flights)
832
+ } catch let error as PreventionError {
833
+ state = .error(error.code)
834
+ } catch {
835
+ state = .error(.generic)
836
+ }
837
+ }
838
+ }
839
+
840
+ enum PassengerFlightUIState {
841
+ case loading
842
+ case idle(passengers: [PassengerEntity], flights: [FlightEntity])
843
+ case error(PreventionCode)
844
+ }
845
+ ```
846
+
847
+ Folder: `Domains/Checkin/Sources/Checkin/Screens/PassengerAndFlightSelection/Presentation/ViewModel/`
848
+ Test name: `@Test func fetch_validInput_returnsIdle()`
849
+ Identifier: `passengerFlight.continueButton`
850
+ Localization key: `PassengerFlight.ContinueButton`
851
+
852
+ ## Android render example
853
+
854
+ Conventions extracted: feature module + clean arch, `<Feature>ViewModel`, sealed interface state, JUnit5 + Turbine, camelCase testTag, snake_case strings.xml, Hilt module DI.
855
+
856
+ ```kotlin
857
+ @HiltViewModel
858
+ class PassengerFlightViewModel @Inject constructor(
859
+ private val fetchUseCase: FetchPassengerFlightUseCase
860
+ ) : ViewModel() {
861
+ private val _state = MutableStateFlow<PassengerFlightUiState>(PassengerFlightUiState.Loading)
862
+ val state: StateFlow<PassengerFlightUiState> = _state.asStateFlow()
863
+
864
+ fun onAppear() {
865
+ viewModelScope.launch {
866
+ try {
867
+ val result = fetchUseCase.execute()
868
+ _state.value = PassengerFlightUiState.Idle(result.passengers, result.flights)
869
+ } catch (e: PreventionException) {
870
+ _state.value = PassengerFlightUiState.Error(e.code)
871
+ }
872
+ }
873
+ }
874
+ }
875
+
876
+ sealed interface PassengerFlightUiState {
877
+ data object Loading : PassengerFlightUiState
878
+ data class Idle(val passengers: List<Passenger>, val flights: List<Flight>) : PassengerFlightUiState
879
+ data class Error(val code: PreventionCode) : PassengerFlightUiState
880
+ }
881
+ ```
882
+
883
+ Folder: `feature/checkin/src/main/java/<package>/passengerflight/ui/`
884
+ Test name: `fun fetch_validInput_returnsIdle()`
885
+ testTag: `passengerFlightContinueButton`
886
+ strings.xml: `passenger_flight_continue_button`
887
+
888
+ ## Backend render example
889
+
890
+ Conventions extracted: layered Python FastAPI, router + service + repository, Pydantic DTO, pytest snake_case, FastAPI Depends.
891
+
892
+ ```python
893
+ class PassengerFlightService:
894
+ def __init__(
895
+ self,
896
+ repository: PassengerFlightRepository,
897
+ validator: PassengerSelectionValidator,
898
+ ):
899
+ self.repository = repository
900
+ self.validator = validator
901
+
902
+ async def fetch(self, request: PassengerFlightIn) -> PassengerFlightOut:
903
+ passengers = await self.repository.search_passengers(request.pnr, request.surname)
904
+ flights = await self.repository.get_flight_details(request.pnr)
905
+ return PassengerFlightOut(passengers=passengers, flights=flights)
906
+
907
+
908
+ @router.post("/start-checkin", response_model=PassengerFlightOut)
909
+ async def start_checkin(
910
+ request: PassengerFlightIn,
911
+ service: PassengerFlightService = Depends(get_passenger_flight_service),
912
+ ) -> PassengerFlightOut:
913
+ return await service.fetch(request)
914
+ ```
915
+
916
+ Folder: `app/api/checkin/`, `app/services/checkin/`, `app/schemas/checkin/`
917
+ Test name: `def test_fetch_valid_input_returns_passenger_list():`
918
+ OpenAPI operationId: `startCheckin`
919
+
920
+ ## Frontend render example
921
+
922
+ Conventions extracted: Next.js App Router, feature folder, React Query hooks, Zustand stores, Vitest, kebab data-testid, hierarchical dot camelCase i18n.
923
+
924
+ ```tsx
925
+ type PassengerFlightState =
926
+ | { kind: "loading" }
927
+ | { kind: "idle"; passengers: Passenger[]; flights: Flight[] }
928
+ | { kind: "error"; code: PreventionCode };
929
+
930
+ export function usePassengerFlight(pnr: string, surname: string) {
931
+ return useQuery<PassengerFlightDto, PreventionError>({
932
+ queryKey: ["passenger-flight", pnr, surname],
933
+ queryFn: () => passengerFlightApi.fetch({ pnr, surname }),
934
+ });
935
+ }
936
+
937
+ export function PassengerFlightPage({ pnr, surname }: Props) {
938
+ const query = usePassengerFlight(pnr, surname);
939
+ if (query.isLoading) return <LoadingState />;
940
+ if (query.isError) return <ErrorState code={query.error.code} />;
941
+ return <PassengerFlightContent data={query.data} />;
942
+ }
943
+ ```
944
+
945
+ Folder: `src/features/checkin/passenger-flight/{components,hooks,api,types}/`
946
+ Test name: `it('returns idle state for valid input', ...)`
947
+ data-testid: `passenger-flight-continue-button`
948
+ i18n key: `passengerFlight.continueButton`
949
+
950
+ ---
951
+
952
+ # Output language matrix
953
+
954
+ Canonical TR / EN pairs for headings and system strings. The dispatcher reads `outputLanguage` at render time.
955
+
956
+ | TR | EN |
957
+ |---|---|
958
+ | Geliştirme Özeti | Summary |
959
+ | Hedefler ve Karşı Hedefler | Goals and Non-Goals |
960
+ | Hedef | Goal |
961
+ | Karşı Hedef | Non-Goal |
962
+ | Akış Diyagramı | Flow Chart |
963
+ | Navigasyon Akışı | Navigation Flow |
964
+ | Servis Sırası | Sequence Diagram |
965
+ | Durum Makinesi | State Machine |
966
+ | Kullanıcı Hikayeleri | User Stories |
967
+ | Mutlu yol | Happy path |
968
+ | Tasarım Referansı | Design Reference |
969
+ | Frame galerisi | Frame gallery |
970
+ | Varyant | Variant |
971
+ | Boyut | Dimensions |
972
+ | Görüntü | Screenshot |
973
+ | Ayırt edici | Distinctive |
974
+ | Padding ve hizalama | Padding and alignment |
975
+ | Tier durumu | Tier status |
976
+ | Bileşen Envanteri | Component Inventory |
977
+ | Bileşen | Component |
978
+ | Mevcut | Existing |
979
+ | Konum | Location |
980
+ | Kullanım | Usage |
981
+ | Notlar | Notes |
982
+ | Tasarım Token'ları | Design Tokens |
983
+ | Renkler | Colors |
984
+ | Tipografi | Typography |
985
+ | Asset Envanteri | Asset Inventory |
986
+ | Asset adı | Asset name |
987
+ | Format | Format |
988
+ | Kaynak | Source |
989
+ | API Kontratları | API Contracts |
990
+ | Alan | Field |
991
+ | Tip | Type |
992
+ | Zorunlu | Required |
993
+ | Response varyantları | Response variants |
994
+ | Senaryo | Scenario |
995
+ | UI sonucu | UI outcome |
996
+ | Kod | Code |
997
+ | Anlam | Meaning |
998
+ | UI konumu | UI location |
999
+ | Lokalizasyon Anahtarları | Localization Keys |
1000
+ | Anahtar | Key |
1001
+ | Yeni | New |
1002
+ | Kısmi | Partial |
1003
+ | Tetiklenme | Trigger |
1004
+ | Parametreler | Params |
1005
+ | Deeplink ve Push Notification | Deeplink and Push Notification |
1006
+ | Deeplink tablosu | Deeplink table |
1007
+ | URL deseni | URL pattern |
1008
+ | Hedef route | Target route |
1009
+ | Foreground davranışı | Foreground behaviour |
1010
+ | Yönlendirme sırası | Routing sequence |
1011
+ | Mimari Plan | Architecture Plan |
1012
+ | Kavram tablosu | Concept table |
1013
+ | Karşılığı | Realization |
1014
+ | Validation kuralları | Validation rules |
1015
+ | Kural | Rule |
1016
+ | Davranış | Behaviour |
1017
+ | Standards binding | Standards binding |
1018
+ | Eklenecek Dosyalar | Files to Add |
1019
+ | Dosya | File |
1020
+ | Etiket | Tag |
1021
+ | Test Planı | Test Plan |
1022
+ | Birim testleri | Unit tests |
1023
+ | Hedef | Target |
1024
+ | Görsel regresyon | Snapshot tests |
1025
+ | Mod | Mode |
1026
+ | Sahte servisler | Mock services |
1027
+ | Kabul senaryoları | Acceptance scenarios |
1028
+ | Performans bütçesi | Performance budget |
1029
+ | Metrik | Metric |
1030
+ | Erişilebilirlik | Accessibility |
1031
+ | Madde | Item |
1032
+ | Durum | Status |
1033
+ | Güvenlik ve Gizlilik | Security and Privacy |
1034
+ | Uygulama | Implementation |
1035
+ | Yayılım Planı | Rollout Plan |
1036
+ | Aşama | Stage |
1037
+ | Aksiyon | Action |
1038
+ | Değerlendirilen Alternatifler | Alternatives Considered |
1039
+ | Seçenek | Option |
1040
+ | Artı | Pro |
1041
+ | Eksi | Con |
1042
+ | Karar | Decision |
1043
+ | Gerekçe | Rationale |
1044
+ | Riskler ve Açık Sorular | Risks and Open Questions |
1045
+ | Sahibi | Owner |
1046
+ | Açık | Open |
1047
+ | Referanslar | References |
1048
+ | Tür | Type |
1049
+ | Rol | Role |
1050
+ | Sözlük | Glossary |
1051
+ | Kısaltma | Abbreviation |
1052
+ | Açıklama | Description |
1053
+ | Değişiklik Geçmişi | Changelog |
1054
+ | Sürüm | Version |
1055
+ | Tarih | Date |
1056
+ | Yazar | Author |
1057
+ | Değişiklik | Change |
1058
+ | İlk taslak | Initial draft |
1059
+ | bekleniyor: çeviri ekibi | pending: translation team |
1060
+ | Pass B (auto) | Pass B (auto) |
1061
+ | convention fallback applied | convention fallback applied |
1062
+ | existing X candidate found | existing X candidate found |