@xgent-ai/skills 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (618) hide show
  1. package/README.md +38 -2
  2. package/bin/xgent-skills.js +515 -4
  3. package/package.json +7 -3
  4. package/skills/dev-plan/SKILL.md +113 -93
  5. package/skills/dev-plan/references/architecture-quality.md +141 -0
  6. package/skills/dev-plan/references/execution-workflow.md +78 -0
  7. package/skills/dev-plan/references/plan-skeleton.md +238 -78
  8. package/skills/dev-plan/scripts/check_progress.sh +158 -0
  9. package/skills/elintp/SKILL.md +129 -0
  10. package/skills/grafton-view-dev/SKILL.md +195 -0
  11. package/skills/grafton-view-dev/references/bindings.md +120 -0
  12. package/skills/grafton-view-dev/references/components.md +168 -0
  13. package/skills/grafton-view-dev/references/recipes.md +208 -0
  14. package/skills/grafton-view-dev/references/schema.md +86 -0
  15. package/skills/grafton-view-dev/references/stores.md +310 -0
  16. package/skills/pardon/SKILL.md +30 -0
  17. package/skills/portal-app-exchange/SKILL.md +106 -0
  18. package/skills/portal-backend-app/SKILL.md +56 -0
  19. package/skills/portal-backend-app/references/gate-and-tokens.md +93 -0
  20. package/skills/portal-backend-app/references/wiring-and-conventions.md +71 -0
  21. package/skills/portal-dev-setup/SKILL.md +519 -0
  22. package/skills/portal-dev-setup/puller.env.example +74 -0
  23. package/skills/portal-dev-setup/references/troubleshooting.md +167 -0
  24. package/skills/portal-dev-setup/scripts/onebox.sh +966 -0
  25. package/skills/portal-external-app/SKILL.md +273 -0
  26. package/skills/portal-external-app/references/contract-doc-template.md +96 -0
  27. package/skills/portal-external-app/references/health-contract.md +80 -0
  28. package/skills/portal-external-app/references/integration-contract.md +130 -0
  29. package/skills/portal-external-app/references/quota-and-seats.md +213 -0
  30. package/skills/portal-external-app/references/registration-and-onebox.md +259 -0
  31. package/skills/portal-external-app/scripts/health-verdict.ts +22 -0
  32. package/skills/portal-external-app/scripts/verify-health.ts +27 -0
  33. package/skills/portal-logging/SKILL.md +139 -0
  34. package/skills/portal-logging/references/collectors.md +285 -0
  35. package/skills/portal-logging/references/contract.md +95 -0
  36. package/skills/portal-logging/scripts/smoke-ingest.sh +72 -0
  37. package/skills/portal-micro-app/SKILL.md +83 -0
  38. package/skills/portal-micro-app/references/manifest-and-acl.md +79 -0
  39. package/skills/portal-micro-app/references/open-api-and-extensions.md +86 -0
  40. package/skills/portal-micro-app/references/sdk-reference.md +208 -0
  41. package/skills/prd/SKILL.md +212 -0
  42. package/skills/prd/references/prd-skeleton.md +244 -0
  43. package/skills/prd/references/spms-mapping.md +148 -0
  44. package/skills/react/SKILL.md +103 -0
  45. package/skills/react/references/component-patterns.md +275 -0
  46. package/skills/react/references/data-fetching.md +255 -0
  47. package/skills/react/references/effect-patterns.md +407 -0
  48. package/skills/react/references/js-performance.md +432 -0
  49. package/skills/react/references/rendering-performance.md +351 -0
  50. package/skills/react/references/rerender-optimization.md +578 -0
  51. package/skills/rust/SKILL.md +103 -0
  52. package/skills/rust/references/chapter_01.md +564 -0
  53. package/skills/rust/references/chapter_02.md +117 -0
  54. package/skills/rust/references/chapter_03.md +209 -0
  55. package/skills/rust/references/chapter_04.md +183 -0
  56. package/skills/rust/references/chapter_05.md +390 -0
  57. package/skills/rust/references/chapter_06.md +142 -0
  58. package/skills/rust/references/chapter_07.md +226 -0
  59. package/skills/rust/references/chapter_08.md +257 -0
  60. package/skills/rust/references/chapter_09.md +261 -0
  61. package/skills/rust/references/chapter_10.md +554 -0
  62. package/skills/story-points/SKILL.md +219 -0
  63. package/skills/story-points/references/factors.md +367 -0
  64. package/skills/summarize/SKILL.md +79 -0
  65. package/skills/swarm/SKILL.md +263 -0
  66. package/skills/swarm/evals/evals.json +55 -0
  67. package/skills/swarm/references/agent-types.md +260 -0
  68. package/skills/swarm/references/teams/code-audit.md +81 -0
  69. package/skills/swarm/references/teams/debug-race.md +70 -0
  70. package/skills/swarm/references/teams/feature-dev.md +71 -0
  71. package/skills/swarm/references/teams/product.md +114 -0
  72. package/skills/swarm/references/teams/refactor-migration.md +73 -0
  73. package/skills/swarm/references/teams/research-debate.md +73 -0
  74. package/skills/test-plan/SKILL.md +136 -0
  75. package/skills/test-plan/references/case-taxonomy.md +141 -0
  76. package/skills/working-with-mbx/SKILL.md +343 -0
  77. package/skills/working-with-mbx/references/acknowledgements.md +37 -0
  78. package/skills/working-with-mbx/references/benchmarks.md +140 -0
  79. package/skills/working-with-mbx/references/cache-results.md +153 -0
  80. package/skills/working-with-mbx/references/cache-server.md +151 -0
  81. package/skills/working-with-mbx/references/cli/adopt.md +29 -0
  82. package/skills/working-with-mbx/references/cli/cache/dir.md +24 -0
  83. package/skills/working-with-mbx/references/cli/cache/export.md +31 -0
  84. package/skills/working-with-mbx/references/cli/cache/import.md +27 -0
  85. package/skills/working-with-mbx/references/cli/cache/largest.md +26 -0
  86. package/skills/working-with-mbx/references/cli/cache/projects.md +23 -0
  87. package/skills/working-with-mbx/references/cli/cache/remove.md +30 -0
  88. package/skills/working-with-mbx/references/cli/cache/stats.md +24 -0
  89. package/skills/working-with-mbx/references/cli/cache/trace.md +27 -0
  90. package/skills/working-with-mbx/references/cli/cache/verify.md +23 -0
  91. package/skills/working-with-mbx/references/cli/cache.md +35 -0
  92. package/skills/working-with-mbx/references/cli/clean.md +27 -0
  93. package/skills/working-with-mbx/references/cli/completion.md +27 -0
  94. package/skills/working-with-mbx/references/cli/doctor.md +24 -0
  95. package/skills/working-with-mbx/references/cli/exec.md +28 -0
  96. package/skills/working-with-mbx/references/cli/explain.md +29 -0
  97. package/skills/working-with-mbx/references/cli/gc.md +28 -0
  98. package/skills/working-with-mbx/references/cli/prefetch.md +27 -0
  99. package/skills/working-with-mbx/references/cli/setup.md +28 -0
  100. package/skills/working-with-mbx/references/cli/stats.md +24 -0
  101. package/skills/working-with-mbx/references/cli/tui.md +24 -0
  102. package/skills/working-with-mbx/references/cli.md +58 -0
  103. package/skills/working-with-mbx/references/compared.md +67 -0
  104. package/skills/working-with-mbx/references/configuration.md +724 -0
  105. package/skills/working-with-mbx/references/cookbook/fork-prs.md +82 -0
  106. package/skills/working-with-mbx/references/cookbook/local-development.md +127 -0
  107. package/skills/working-with-mbx/references/cookbook/migrate.md +67 -0
  108. package/skills/working-with-mbx/references/dashboard.md +89 -0
  109. package/skills/working-with-mbx/references/faq.md +75 -0
  110. package/skills/working-with-mbx/references/getting-started.md +147 -0
  111. package/skills/working-with-mbx/references/github-action.md +254 -0
  112. package/skills/working-with-mbx/references/guide.md +59 -0
  113. package/skills/working-with-mbx/references/how-it-works.md +86 -0
  114. package/skills/working-with-mbx/references/incremental.md +78 -0
  115. package/skills/working-with-mbx/references/index.md +57 -0
  116. package/skills/working-with-mbx/references/installation.md +101 -0
  117. package/skills/working-with-mbx/references/limits.md +182 -0
  118. package/skills/working-with-mbx/references/linkers.md +75 -0
  119. package/skills/working-with-mbx/references/managed-targets.md +197 -0
  120. package/skills/working-with-mbx/references/protocol-compatibility.md +103 -0
  121. package/skills/working-with-mbx/references/remote-cache.md +190 -0
  122. package/skills/working-with-mbx/references/scheduling.md +65 -0
  123. package/skills/working-with-mbx/references/setup.md +157 -0
  124. package/skills/working-with-mbx/references/stability.md +43 -0
  125. package/skills/working-with-mbx/references/standalone-builds.md +102 -0
  126. package/skills/working-with-mbx/references/stats.md +49 -0
  127. package/skills/working-with-mbx/references/troubleshooting.md +136 -0
  128. package/skills/working-with-mbx/references/tui.md +163 -0
  129. package/skills/working-with-mbx/update-docs.sh +49 -0
  130. package/skills/working-with-mise/SKILL.md +297 -0
  131. package/skills/working-with-mise/references/cli/activate-html.md +90 -0
  132. package/skills/working-with-mise/references/cli/alias-html.md +30 -0
  133. package/skills/working-with-mise/references/cli/backends-html.md +40 -0
  134. package/skills/working-with-mise/references/cli/bin-paths-html.md +37 -0
  135. package/skills/working-with-mise/references/cli/bootstrap-html.md +109 -0
  136. package/skills/working-with-mise/references/cli/cache-html.md +40 -0
  137. package/skills/working-with-mise/references/cli/completion-html.md +76 -0
  138. package/skills/working-with-mise/references/cli/config-html.md +44 -0
  139. package/skills/working-with-mise/references/cli/daemons-html.md +48 -0
  140. package/skills/working-with-mise/references/cli/deactivate-html.md +47 -0
  141. package/skills/working-with-mise/references/cli/deps-html.md +89 -0
  142. package/skills/working-with-mise/references/cli/doctor-html.md +46 -0
  143. package/skills/working-with-mise/references/cli/dotfiles-html.md +57 -0
  144. package/skills/working-with-mise/references/cli/edit-html.md +48 -0
  145. package/skills/working-with-mise/references/cli/en-html.md +62 -0
  146. package/skills/working-with-mise/references/cli/env-html.md +57 -0
  147. package/skills/working-with-mise/references/cli/exec-html.md +79 -0
  148. package/skills/working-with-mise/references/cli/exec.md +79 -0
  149. package/skills/working-with-mise/references/cli/fmt-html.md +44 -0
  150. package/skills/working-with-mise/references/cli/generate-html.md +43 -0
  151. package/skills/working-with-mise/references/cli/implode-html.md +35 -0
  152. package/skills/working-with-mise/references/cli/install-html.md +83 -0
  153. package/skills/working-with-mise/references/cli/install-into-html.md +47 -0
  154. package/skills/working-with-mise/references/cli/latest-html.md +62 -0
  155. package/skills/working-with-mise/references/cli/link-html.md +57 -0
  156. package/skills/working-with-mise/references/cli/lock-html.md +114 -0
  157. package/skills/working-with-mise/references/cli/ls-html.md +95 -0
  158. package/skills/working-with-mise/references/cli/ls-remote-html.md +61 -0
  159. package/skills/working-with-mise/references/cli/mcp-html.md +57 -0
  160. package/skills/working-with-mise/references/cli/oci-html.md +41 -0
  161. package/skills/working-with-mise/references/cli/outdated-html.md +79 -0
  162. package/skills/working-with-mise/references/cli/packslip-html.md +38 -0
  163. package/skills/working-with-mise/references/cli/patrons-html.md +45 -0
  164. package/skills/working-with-mise/references/cli/plugins-html.md +46 -0
  165. package/skills/working-with-mise/references/cli/prune-html.md +56 -0
  166. package/skills/working-with-mise/references/cli/registry-html.md +59 -0
  167. package/skills/working-with-mise/references/cli/reshim-html.md +46 -0
  168. package/skills/working-with-mise/references/cli/run-html.md +152 -0
  169. package/skills/working-with-mise/references/cli/search-html.md +69 -0
  170. package/skills/working-with-mise/references/cli/self-update-html.md +42 -0
  171. package/skills/working-with-mise/references/cli/set-html.md +116 -0
  172. package/skills/working-with-mise/references/cli/settings-html.md +78 -0
  173. package/skills/working-with-mise/references/cli/shell-alias-html.md +39 -0
  174. package/skills/working-with-mise/references/cli/shell-html.md +53 -0
  175. package/skills/working-with-mise/references/cli/skills-html.md +39 -0
  176. package/skills/working-with-mise/references/cli/sponsors-html.md +31 -0
  177. package/skills/working-with-mise/references/cli/ssh-html.md +45 -0
  178. package/skills/working-with-mise/references/cli/sync-html.md +37 -0
  179. package/skills/working-with-mise/references/cli/tasks-html.md +61 -0
  180. package/skills/working-with-mise/references/cli/test-tool-html.md +49 -0
  181. package/skills/working-with-mise/references/cli/token-html.md +37 -0
  182. package/skills/working-with-mise/references/cli/tool-alias-html.md +41 -0
  183. package/skills/working-with-mise/references/cli/tool-html.md +55 -0
  184. package/skills/working-with-mise/references/cli/tool-stub-html.md +60 -0
  185. package/skills/working-with-mise/references/cli/trust-html.md +63 -0
  186. package/skills/working-with-mise/references/cli/uninstall-html.md +62 -0
  187. package/skills/working-with-mise/references/cli/unset-html.md +59 -0
  188. package/skills/working-with-mise/references/cli/untrust-html.md +35 -0
  189. package/skills/working-with-mise/references/cli/unuse-html.md +74 -0
  190. package/skills/working-with-mise/references/cli/upgrade-html.md +133 -0
  191. package/skills/working-with-mise/references/cli/use-html.md +130 -0
  192. package/skills/working-with-mise/references/cli/use.md +130 -0
  193. package/skills/working-with-mise/references/cli/version-html.md +46 -0
  194. package/skills/working-with-mise/references/cli/watch-html.md +465 -0
  195. package/skills/working-with-mise/references/cli/where-html.md +53 -0
  196. package/skills/working-with-mise/references/cli/which-html.md +55 -0
  197. package/skills/working-with-mise/references/configuration/environments-html.md +171 -0
  198. package/skills/working-with-mise/references/configuration/project-diagnostics-html.md +93 -0
  199. package/skills/working-with-mise/references/configuration/settings-html.md +3062 -0
  200. package/skills/working-with-mise/references/configuration/vars-html.md +167 -0
  201. package/skills/working-with-mise/references/dev-tools/aliases-html.md +97 -0
  202. package/skills/working-with-mise/references/dev-tools/backend_architecture-html.md +198 -0
  203. package/skills/working-with-mise/references/dev-tools/backends/aqua-html.md +274 -0
  204. package/skills/working-with-mise/references/dev-tools/backends/aqua.md +274 -0
  205. package/skills/working-with-mise/references/dev-tools/backends/asdf-html.md +98 -0
  206. package/skills/working-with-mise/references/dev-tools/backends/asdf.md +98 -0
  207. package/skills/working-with-mise/references/dev-tools/backends/cargo-html.md +240 -0
  208. package/skills/working-with-mise/references/dev-tools/backends/cargo.md +240 -0
  209. package/skills/working-with-mise/references/dev-tools/backends/conda-html.md +125 -0
  210. package/skills/working-with-mise/references/dev-tools/backends/dotnet-html.md +142 -0
  211. package/skills/working-with-mise/references/dev-tools/backends/forgejo-html.md +533 -0
  212. package/skills/working-with-mise/references/dev-tools/backends/gem-html.md +77 -0
  213. package/skills/working-with-mise/references/dev-tools/backends/gem.md +77 -0
  214. package/skills/working-with-mise/references/dev-tools/backends/github-html.md +622 -0
  215. package/skills/working-with-mise/references/dev-tools/backends/github.md +622 -0
  216. package/skills/working-with-mise/references/dev-tools/backends/gitlab-html.md +546 -0
  217. package/skills/working-with-mise/references/dev-tools/backends/go-html.md +115 -0
  218. package/skills/working-with-mise/references/dev-tools/backends/go.md +115 -0
  219. package/skills/working-with-mise/references/dev-tools/backends/http-html.md +644 -0
  220. package/skills/working-with-mise/references/dev-tools/backends/http.md +644 -0
  221. package/skills/working-with-mise/references/dev-tools/backends/npm-html.md +436 -0
  222. package/skills/working-with-mise/references/dev-tools/backends/npm.md +436 -0
  223. package/skills/working-with-mise/references/dev-tools/backends/packslip-html.md +310 -0
  224. package/skills/working-with-mise/references/dev-tools/backends/pipx-html.md +329 -0
  225. package/skills/working-with-mise/references/dev-tools/backends/pipx.md +329 -0
  226. package/skills/working-with-mise/references/dev-tools/backends/pkgx-html.md +73 -0
  227. package/skills/working-with-mise/references/dev-tools/backends/pypi-html.md +331 -0
  228. package/skills/working-with-mise/references/dev-tools/backends/s3-html.md +346 -0
  229. package/skills/working-with-mise/references/dev-tools/backends/spm-html.md +201 -0
  230. package/skills/working-with-mise/references/dev-tools/backends/ubi-html.md +232 -0
  231. package/skills/working-with-mise/references/dev-tools/backends/vfox-html.md +173 -0
  232. package/skills/working-with-mise/references/dev-tools/backends/vfox.md +173 -0
  233. package/skills/working-with-mise/references/dev-tools/backends.md +32 -0
  234. package/skills/working-with-mise/references/dev-tools/comparison-to-asdf-html.md +112 -0
  235. package/skills/working-with-mise/references/dev-tools/deps-html.md +390 -0
  236. package/skills/working-with-mise/references/dev-tools/github-tokens-html.md +390 -0
  237. package/skills/working-with-mise/references/dev-tools/index-html.md +420 -0
  238. package/skills/working-with-mise/references/dev-tools/mise-lock-html.md +660 -0
  239. package/skills/working-with-mise/references/dev-tools/mise-oci-html.md +418 -0
  240. package/skills/working-with-mise/references/dev-tools/packslip-resources-html.md +203 -0
  241. package/skills/working-with-mise/references/dev-tools/packslip-verification-html.md +178 -0
  242. package/skills/working-with-mise/references/dev-tools/shims-html.md +397 -0
  243. package/skills/working-with-mise/references/dev-tools/tool-stubs-html.md +416 -0
  244. package/skills/working-with-mise/references/guides/getting-started.md +268 -0
  245. package/skills/working-with-mise/references/index.md +37 -0
  246. package/skills/working-with-mise/update-docs.sh +111 -0
  247. package/skills/xgent-app-release/SKILL.md +438 -0
  248. package/skills/xgent-app-release/references/build-and-package.md +65 -0
  249. package/skills/xgent-app-release/references/publish-api.md +315 -0
  250. package/skills/xgent-app-release/references/troubleshooting.md +108 -0
  251. package/skills/xgent-app-release/scripts/npm-token.mjs +94 -0
  252. package/skills/xgent-app-release/scripts/preflight.mjs +340 -0
  253. package/skills/xgent-app-release/scripts/registry-config.mjs +88 -0
  254. package/skills/xgent-image-push/SKILL.md +239 -0
  255. package/skills/xgent-image-push/registry.env.example +51 -0
  256. package/skills/xgent-image-push/scripts/push-image.sh +576 -0
  257. package/skills/xgent-init/SKILL.md +96 -0
  258. package/skills/xgent-init/references/external-app-CLAUDE.template.md +249 -0
  259. package/skills/xgent-init/references/external-app-DESIGN.template.md +317 -0
  260. package/skills/xgent-init/references/external-app-PRODUCT.template.md +87 -0
  261. package/skills/xgent-init/references/fill-guide.md +78 -0
  262. package/skills/xgent-init/scripts/check-docs.mjs +304 -0
  263. package/vendor/impeccable/LICENSE +191 -0
  264. package/vendor/impeccable/NOTICE.md +11 -0
  265. package/vendor/impeccable/VERSION.json +28 -0
  266. package/vendor/impeccable/bundle/blobs/00023f9e7f2e27604fde978b56510a8f837b76eeadd93221d11adcf4c98f1a10 +88 -0
  267. package/vendor/impeccable/bundle/blobs/00f053b877a92a9847d69eec2403e40c757152f30a5ca807c5033c58d7c297f1 +33 -0
  268. package/vendor/impeccable/bundle/blobs/012f548547fae48ebdd22a3c3af8a01032641fddd530e3783bd73b7358ab2c49 +80 -0
  269. package/vendor/impeccable/bundle/blobs/015725eeca94f52bffd2132d4cb49bc3eb1ee76e6ac7378c065e629d59f56613 +84 -0
  270. package/vendor/impeccable/bundle/blobs/03b30331c176a248a3b3bd17abdff1a1fd658f09ffb2a412b36ae9627dd3f33b +105 -0
  271. package/vendor/impeccable/bundle/blobs/041535231366047a0beeb5daa64ea9c23d5a566580f7dafdb8c0623cb4a7e76b +24 -0
  272. package/vendor/impeccable/bundle/blobs/04af9f2d6883fe76f9539d310d9c369052822a24886d2c330ab1e3fe5981c8a1 +24 -0
  273. package/vendor/impeccable/bundle/blobs/058f81f256134841875fd3183e06b37a023de0c877fd2b9eecd97011640791fe +46 -0
  274. package/vendor/impeccable/bundle/blobs/05aa836a190f4ff62e5d4619738bdb891d83d85e35d81c2e6e322d1dc084d802 +80 -0
  275. package/vendor/impeccable/bundle/blobs/05e86f37d7fa381c5e8a04b6212490a27904d3be3e9384862a0764d3daba6d78 +54 -0
  276. package/vendor/impeccable/bundle/blobs/0617b37a905f0486c1ab4e91a287c8ef8292e253095c340f452d591206272f73 +104 -0
  277. package/vendor/impeccable/bundle/blobs/074575671f24cf4298d06f0019f76e94f62e9a6ed205fce05b8e507341e64266 +111 -0
  278. package/vendor/impeccable/bundle/blobs/076a31941acbaa81013c8c511e146ed4138128eb5e9895dae3e9a27a25ac4f04 +13 -0
  279. package/vendor/impeccable/bundle/blobs/08812a8618de7bd2f63a51298e9c2558031237e8efba280062ccb636101e25e1 +80 -0
  280. package/vendor/impeccable/bundle/blobs/08a2980eae0bfea1f00229899defc28ec92c7ecb875bf5fb02e4ba80dad6c394 +806 -0
  281. package/vendor/impeccable/bundle/blobs/08d78eb31c561256f83baa0afa742a660f1467aa2c81be2f60c2b7f9c770d66e +54 -0
  282. package/vendor/impeccable/bundle/blobs/098a891028ce59c212b747d3c70468dd750aff7053a703d1336045ed31e0da7c +70 -0
  283. package/vendor/impeccable/bundle/blobs/0a151a54959a15eb32fa338890d5d64ac48a9d54d2d5442c3c7708a4c27c1858 +104 -0
  284. package/vendor/impeccable/bundle/blobs/0bb4085f6dda702846e0e56bd4f797aa1b046ab48eca02644448e368f3820f88 +104 -0
  285. package/vendor/impeccable/bundle/blobs/0bc7d7971b3edf2acd0580e847458dc6d84129d90715b452799ace3bed815c7c +84 -0
  286. package/vendor/impeccable/bundle/blobs/0bf6f08bf34d24cd88a78d544add9e4d71478bcf939926cde32f4e164882c775 +105 -0
  287. package/vendor/impeccable/bundle/blobs/0dbbef70048cc3ae44e6710ff09992ce14ad049ce8ed519b0ff8a1ddb4633f4e +111 -0
  288. package/vendor/impeccable/bundle/blobs/0e081d496eba4bd77aca81723d59120c10177a71c9551a60ab923c356fb3cf38 +104 -0
  289. package/vendor/impeccable/bundle/blobs/0e1819750e5448311a051d35ab6d0be0830418f78ca872ef10469fafebb27d4f +46 -0
  290. package/vendor/impeccable/bundle/blobs/0e18ac33b7e6a247b658fcaf926d9eac028399597dbaba366f1d2f2b884a383b +325 -0
  291. package/vendor/impeccable/bundle/blobs/0f83648f6b425225290305bced51eacebacf9bf9bc05e21cdbad46863fbc89ce +24 -0
  292. package/vendor/impeccable/bundle/blobs/115e1c3f1b58b5129910ed925dbf65d61d5ac4c2036618847555ce40098aae97 +145 -0
  293. package/vendor/impeccable/bundle/blobs/11f75834c26ecd8a5b0afdf696e838953b235dc4835b7293bbc6b1bc27dd3106 +84 -0
  294. package/vendor/impeccable/bundle/blobs/12c1afcd15e86d840b89a78c6d17ce6d1b5609bac713d59271c6ab5932975dac +111 -0
  295. package/vendor/impeccable/bundle/blobs/12d2a8043ae8668ad29c32bfa92995849fc49cb016e6ebd4f7e59539d96e7b03 +46 -0
  296. package/vendor/impeccable/bundle/blobs/12fefe52d80d25014e5f7e2f9b278275a675653d3d99ae8f0ecf344cdb9abbe6 +111 -0
  297. package/vendor/impeccable/bundle/blobs/13bd27aa8573e6d45d8bbf9f3fc991e4719d28a7e8f709009a4a5a49a227fff3 +37 -0
  298. package/vendor/impeccable/bundle/blobs/1484a7ae206ab4f0e6262b21afe0f6307a629ed27d28fb7de69536a6800a4883 +37 -0
  299. package/vendor/impeccable/bundle/blobs/15b4837dccb27d7382e2f134ef050b244c4488b1906e0308f288112183cc09ac +145 -0
  300. package/vendor/impeccable/bundle/blobs/1640c70b984a43e729d72d046109f87243ae84ecd64d2600a007d140558123cc +80 -0
  301. package/vendor/impeccable/bundle/blobs/1652d639d91889a08bda7f351456c43ee30e5677aa4866a90f375e1e4be15deb +80 -0
  302. package/vendor/impeccable/bundle/blobs/16d99e9fe8e75d69042bc4fda12e93daa7e10f9fa6c00b12b0f0580b119a4cfd +105 -0
  303. package/vendor/impeccable/bundle/blobs/171777f8a8596d2ffdb43f4b935a7c6c12859ace233967f868a566390a59708e +325 -0
  304. package/vendor/impeccable/bundle/blobs/173dd66abe65633910dcb04a51f40d6ff2a793f87088f022a02fc4cad24dd133 +94 -0
  305. package/vendor/impeccable/bundle/blobs/17c583cf8ad41266ea1e787b666b9d91fe13469d3d0f6af57c08e0146f9b17ac +58 -0
  306. package/vendor/impeccable/bundle/blobs/181e814c1b9317098b2300c1b02ad0d137b6d82bd1e7e8cc64de4d00b4c50c25 +111 -0
  307. package/vendor/impeccable/bundle/blobs/190a4e642ca362d7499f3c3ab123e21f18f75457d11f072b545a183f296e6495 +99 -0
  308. package/vendor/impeccable/bundle/blobs/1971edc3784273bd8da7b1980779c6159471e857992faa6637178109cb130503 +806 -0
  309. package/vendor/impeccable/bundle/blobs/199d5d3db1197e053a2eb9c3cb927d44cbaaaeb57745c1ada3fd775ba50d9291 +104 -0
  310. package/vendor/impeccable/bundle/blobs/19c5bfce570a0e2bddd4d9c788936ff9070c90299363c4853ba77bfd37306e20 +416 -0
  311. package/vendor/impeccable/bundle/blobs/1a9180cec754f8afd354e7cb759750247e97c5bd26d3242ad4c45e315069e8c0 +37 -0
  312. package/vendor/impeccable/bundle/blobs/1c804990fd8ac23a4b19c42972b5ae591d17f620d0006f0f32927c8db5d5bf50 +145 -0
  313. package/vendor/impeccable/bundle/blobs/1d72b494f46a60e6c9c06e89bab79789dd85e11f62fb4286a03abf26d352dc1f +80 -0
  314. package/vendor/impeccable/bundle/blobs/21bc91f6e07691e82b7bba99f9e1d956f9d7a6810dcdc18d231fe73b53a13b23 +37 -0
  315. package/vendor/impeccable/bundle/blobs/238e1967d933ca5739db708f7ad9f72ca8b34bc4c9b9e1c07b0a06dcf9d00681 +806 -0
  316. package/vendor/impeccable/bundle/blobs/244e5b7bca6d22a51b4e22104a52a36e477056b03d257b56d1d4e319cd6167a8 +80 -0
  317. package/vendor/impeccable/bundle/blobs/249f0437a52ab3eb4bc4d4a9f38e085334c0fbb7795e88dd419e32b5f58c924d +42 -0
  318. package/vendor/impeccable/bundle/blobs/27c4b6c90ad12a186136f9ece9cb1830d4a6e36b11382ab334efc4543f8082de +145 -0
  319. package/vendor/impeccable/bundle/blobs/29f741b71e75fd39c65ca6df4b01b5f6c4f3c4c7adf23b47a3220ce2c0251f24 +104 -0
  320. package/vendor/impeccable/bundle/blobs/2b21f0142ee88a11dbe2593362f5a910718a61062e3a64e7ff936ef1e74fd394 +46 -0
  321. package/vendor/impeccable/bundle/blobs/2b58041cd82d819d12762b10becb95f8253c661bf6a9de40f61fc01c1204b743 +806 -0
  322. package/vendor/impeccable/bundle/blobs/2b5b2fbf5f658f34ea1997fb1aeebe01604d05187f75c6a4f1f55a5bc78520a4 +104 -0
  323. package/vendor/impeccable/bundle/blobs/2c2ed6286bd74adef4f24ef442e2e1bc0780d44bc060aa2a4c03a03988dbafd5 +325 -0
  324. package/vendor/impeccable/bundle/blobs/2d7086992c07df1fc734cdf9c420c4bd8ad409ab7909e07c8b486c303d420732 +83 -0
  325. package/vendor/impeccable/bundle/blobs/2e4846117a2fcdc1e4bc9570a5333da839649cb8ccdac6a30a87591ca05b4bb0 +54 -0
  326. package/vendor/impeccable/bundle/blobs/2f02f96f889e0c8e0e90806af1ef17e0c162a6cc402068f434d3f7608d9deda3 +54 -0
  327. package/vendor/impeccable/bundle/blobs/2fd096823e4a93f19edd421a69e10f90ebb630a014c673d1802a927c6f47b7d2 +111 -0
  328. package/vendor/impeccable/bundle/blobs/2feb3768125ba6469c92a50d516727e6d42f44579165ddfd33409948e2a3803d +27 -0
  329. package/vendor/impeccable/bundle/blobs/30e006fdee873bac23edaeadce0371161625e021e3cf442dff4b05bb82297ba1 +24 -0
  330. package/vendor/impeccable/bundle/blobs/31b90048c0b540daec46762a10c2b6b6434737a89af005054d8b848d829d003b +69 -0
  331. package/vendor/impeccable/bundle/blobs/33b6b32c0c3c0c4a2b22bd2275176b1c88a006dd94592a854f629911a0b21cdc +111 -0
  332. package/vendor/impeccable/bundle/blobs/3565d038a2eeab88a8b18ff52e6630008ab30f867f9df922a38ce8980440b2e3 +80 -0
  333. package/vendor/impeccable/bundle/blobs/356cfa0ebf61589cf5d52691d101a69d69256062fe1d11d71d95d41a78289cbd +111 -0
  334. package/vendor/impeccable/bundle/blobs/3673248740bcdd1122ccc610093ba2fe52f3943a61ce0b7170b74dc49e5b6098 +416 -0
  335. package/vendor/impeccable/bundle/blobs/37080ea5e5b381adb7eae7a427231b0ad0dee0f0916fc1d6b673b7101a5b425b +42 -0
  336. package/vendor/impeccable/bundle/blobs/3753448bca49da76dd8b12d5a8b4264414673f26e49028d37616faa8beb210b7 +127 -0
  337. package/vendor/impeccable/bundle/blobs/37565671b09d983ea1ad83a9e9190bc37255d93c68445958c6facecc7e0f7c4f +33 -0
  338. package/vendor/impeccable/bundle/blobs/37aeddc0f2031fa89d72519ae2e7542c267872f81786fb8288fca0a49118be11 +27 -0
  339. package/vendor/impeccable/bundle/blobs/37c9a2122efa64dc8789eb47d196150b0bc635e0ba95042fd381ff157002ed50 +111 -0
  340. package/vendor/impeccable/bundle/blobs/381ff89aa76e82a0d98456ec31cb117555ae045539fba47c45056daa50f611ca +46 -0
  341. package/vendor/impeccable/bundle/blobs/3895765e9434400dfc1b30e364be002cf499c1718fb2431e65b907c14ae2cb27 +86 -0
  342. package/vendor/impeccable/bundle/blobs/38c2e839e130008b6da814ab9c16f3fcbbedfdf721a9638eebd31a9e65341a7a +84 -0
  343. package/vendor/impeccable/bundle/blobs/38d4d404030c6ea935d3223db1eeb22c45d04a94f41f98e02a43cdc5af7ff2e3 +24 -0
  344. package/vendor/impeccable/bundle/blobs/3970c8e24615610b0246585e49146f6762d5082b3c8fddc08a00940d6e72d394 +80 -0
  345. package/vendor/impeccable/bundle/blobs/39ac044f2e45a9e7eed8eb68fe91d32938160eb7f8fa93d2afc42fc80a0c3c10 +54 -0
  346. package/vendor/impeccable/bundle/blobs/39d9600489073e227e4f4d55c451ce4252a6632ed7ae37923efbbcbc91f16d07 +206 -0
  347. package/vendor/impeccable/bundle/blobs/3aa908c18db91d5f31d6bba6402eab6afc4e0b75137f841a86bd012386e0d8e2 +145 -0
  348. package/vendor/impeccable/bundle/blobs/3af7c46309f748ff3845f16455a431ec0e9e807e5e3a965e96e9ee75a1198eb8 +95 -0
  349. package/vendor/impeccable/bundle/blobs/3ba92d4aa840ec1b6c2fda224339489d6dd65eedf43bb45836af02584d1faa88 +42 -0
  350. package/vendor/impeccable/bundle/blobs/3bcf81b938a0f0309e9ed6616f4bd18d82f07e2801411ee4cce51220d417eb95 +80 -0
  351. package/vendor/impeccable/bundle/blobs/3bf5d8661351831dbb2195e3b677fea1f128ca319c0589d538b66d9c9d7dddbc +111 -0
  352. package/vendor/impeccable/bundle/blobs/3dd45e1c32db3d3163a96ef198954905807b25cb9a1d206a7d77986f21d27652 +39 -0
  353. package/vendor/impeccable/bundle/blobs/3e3b6fdc6afbc2c2a734d08d6a18b393b7139c56f28f91f82e13e5555b98018a +84 -0
  354. package/vendor/impeccable/bundle/blobs/3f2c351303b74e217907006fb9c55ada2ef596e9710c13d631e20506d17b9ee8 +325 -0
  355. package/vendor/impeccable/bundle/blobs/402373ef95962ecb81dd3d7cf70ecb3bd3e22a2bd2aabb4c0d76f7f4f9447870 +105 -0
  356. package/vendor/impeccable/bundle/blobs/402656ca6df17bad1cd55ede0a966a7bb5b187cf4f89c517851f9efe7f14c0fd +87 -0
  357. package/vendor/impeccable/bundle/blobs/40c87038b5f75147a5952a96237acf312a327bf70c1bcd8e0a5f064625ae9668 +51 -0
  358. package/vendor/impeccable/bundle/blobs/420d82fe41884b7aa8c28750520146d8160c91396ac332a96b2d82a90b017fb2 +80 -0
  359. package/vendor/impeccable/bundle/blobs/420e2fdee2b7f555d9a37ce348cf62610ddd98f96b1a0a511796ba600881588c +111 -0
  360. package/vendor/impeccable/bundle/blobs/424b2e75cb204e2dca7db4a40dfe5a81f78dc0fc58ac4790e8b7bbf2f330bba4 +37 -0
  361. package/vendor/impeccable/bundle/blobs/424ff273e7ab283d6695d127bb502675627193f5b752d7b43b7524bcfc42f43f +84 -0
  362. package/vendor/impeccable/bundle/blobs/426c7f5437dd3c23a4cfaef6964dc7f1e038480f92238499b85f3ce7e4472bf4 +111 -0
  363. package/vendor/impeccable/bundle/blobs/42a71df98075f66e6eb396b69ef3d6b1c3db46d1c1d24b4edc9d15f53d193ecb +111 -0
  364. package/vendor/impeccable/bundle/blobs/433a79eee3ce4c99e79a7aebe3a6d8ec9ff70216772e0c2ff9dce3a01d672963 +46 -0
  365. package/vendor/impeccable/bundle/blobs/43852ca5917de66704f73f9019d15482bb1efd92f2eefaeeeae23610b4c0c6a0 +38 -0
  366. package/vendor/impeccable/bundle/blobs/442749aed338f51c1a3ccfb182c6ade9b74b90590b67984062ac94a5b100e914 +80 -0
  367. package/vendor/impeccable/bundle/blobs/44a91b3f0810f43829d8584e912812444d15614e4b57ca8070aee7ab899f7c1e +46 -0
  368. package/vendor/impeccable/bundle/blobs/46250caaec1bd69619a5b28a73cb3c845b319d029b0af9228aaa7001e7e0104a +37 -0
  369. package/vendor/impeccable/bundle/blobs/464c0c2b33d278375aec66caf95518f5e7ccd0aad1bea3f9dd553ed47815daa1 +325 -0
  370. package/vendor/impeccable/bundle/blobs/47b3461f6f76db80fdc49fc7542552d65fed24edc8d30d903cb76aefbad0ed05 +84 -0
  371. package/vendor/impeccable/bundle/blobs/47edbdfaf27073c47033d1ac7dfee881be49e2dcbda7671d1157300481dde6da +1 -0
  372. package/vendor/impeccable/bundle/blobs/4879f38b23d0a251a63cbb0327e660296194cd2e71eb4da3236c6ebfe5807746 +33 -0
  373. package/vendor/impeccable/bundle/blobs/48bb7c3b738f57fa4f3f714d7e3e919879036f3e751135a9acc1c5ede1850ea6 +54 -0
  374. package/vendor/impeccable/bundle/blobs/494d6fcb4701c437597c2ed16a9595af92f3d9ad53c944c96a2fb563bd766af5 +99 -0
  375. package/vendor/impeccable/bundle/blobs/49a7b37b98fb6e3ef68154174677ff4b9f1715efcffdbf6b30c3535b3e4e302c +54 -0
  376. package/vendor/impeccable/bundle/blobs/4a7d8695741e2cd354baada215b06798c050aa7a8e1ca6814f0e395e054d1ab1 +145 -0
  377. package/vendor/impeccable/bundle/blobs/4a8a45a46b79948a64b484edf389aa0b00fc80de855470cbabe3c7c71268f345 +828 -0
  378. package/vendor/impeccable/bundle/blobs/4acfb9e38f6e09f7484e36fc19704d69eab159436ee9329168be74c493042f22 +111 -0
  379. package/vendor/impeccable/bundle/blobs/4ad7c5d5821f85c2311ff91746d9b9cf272dbe0a9a5b61687f77681f5a13f812 +69 -0
  380. package/vendor/impeccable/bundle/blobs/4b0e2eea17f297daa06b17578131775be099ef43addf91007f4b7e295454f64f +105 -0
  381. package/vendor/impeccable/bundle/blobs/4bceaf3346b6f5100b5a54deaae49a38b975dd134df2836675848f06ff1e7e11 +806 -0
  382. package/vendor/impeccable/bundle/blobs/4ce929b8cafd37247ea4c148bbe39a9afe15908d1abf4a8248c5122275d16499 +85 -0
  383. package/vendor/impeccable/bundle/blobs/4df48b7a86d525ad12e7889a1fd16b06ed4b25a9470c359c7193a6d82649262f +54 -0
  384. package/vendor/impeccable/bundle/blobs/4fb6d2fcc8afaf827a7377ddd604725264fd83be871e2d35062e9d1939144404 +25 -0
  385. package/vendor/impeccable/bundle/blobs/51e2f8963377f142ebdc9864e0ecc5aa1e5b7d344ed72d0e9d748d2d3d8c71b3 +46 -0
  386. package/vendor/impeccable/bundle/blobs/521391d55814fdef6cd648ed62154a14d77b324004a0fc2d06c0a4e97857eab2 +806 -0
  387. package/vendor/impeccable/bundle/blobs/52e861ac390a62c4473ae0cf87ff18dd6d721afa6557910492dd8ed28bd9970d +84 -0
  388. package/vendor/impeccable/bundle/blobs/532d6387db6f5da1a59dc7d29ce4d8ba6ca044626c367dc16e1cb8b981eb2d9a +104 -0
  389. package/vendor/impeccable/bundle/blobs/54cb270e8826380caefc8c40642a5d973f27df46bfdb762d822541a0c72a9877 +145 -0
  390. package/vendor/impeccable/bundle/blobs/54e71283cbd5646021fcd8eaa28d85852ec5288109c306aca9db9e2e4832338e +69 -0
  391. package/vendor/impeccable/bundle/blobs/5515d5210fbe2ef64e611ef2827a7204b7cea2f9df059f3ea499931f45065d93 +104 -0
  392. package/vendor/impeccable/bundle/blobs/55e95137b3f9198c1d4dfc425366b82f1ef5f77d602682b2edf91f2ce9296289 +24 -0
  393. package/vendor/impeccable/bundle/blobs/56500b1f9d2fcec8324d7f448d813048b5831a46d3feeb1055bd3eb17ec3660f +70 -0
  394. package/vendor/impeccable/bundle/blobs/571526fd5c60a586ff65bdb3f8333f26c36ae227f5f5ece826f4a43b4d4aee0f +325 -0
  395. package/vendor/impeccable/bundle/blobs/5738bcf9ac21dbb2113fd0c5cc7e4bbfc8174778916ab5843644332b3dbbc36e +46 -0
  396. package/vendor/impeccable/bundle/blobs/57402ef6fd9d0745f8c60d778f77da83a8b16edf751fa1013598a0f6e5f0f541 +136 -0
  397. package/vendor/impeccable/bundle/blobs/57e28934208e3eac653ab59c5c6a5e4eace44906d8ac86472988242d777ca5a1 +54 -0
  398. package/vendor/impeccable/bundle/blobs/581409ace104a81744b7d08f5398a2c207cf76d9e50751f807b4382eaf66454f +46 -0
  399. package/vendor/impeccable/bundle/blobs/598bfed550954471ba4d257d46b4d608cd82e4cdbf36d07bf93c5f4a563f7727 +89 -0
  400. package/vendor/impeccable/bundle/blobs/599afc25c1d6d083e4d4e60e1617ab05f6c5ecd52be75473f3788063219aa174 +31 -0
  401. package/vendor/impeccable/bundle/blobs/5b30a06646ad5e453d6b5ed1b8d446f69fca3cd13b8aeda28f0d0b2cbe8f62d1 +111 -0
  402. package/vendor/impeccable/bundle/blobs/5b5dcf7029376ee6fbcf13e5975eb828dd1dbf41736c1bd5017dcda8173b1ebc +325 -0
  403. package/vendor/impeccable/bundle/blobs/5be952da521a2d5fb799c834d14ce5388284374bc23c5efcec737a05aa65d878 +84 -0
  404. package/vendor/impeccable/bundle/blobs/5c036648951d555e73be63161e5c9edcba146d8e9f64b1604ffdea765cde5d9d +131 -0
  405. package/vendor/impeccable/bundle/blobs/5c4cd151c97dae824a039211d7ccfba4c572b76d8f079c6186ba1dd5dae7732b +54 -0
  406. package/vendor/impeccable/bundle/blobs/5ce02fc8f353d7f659535fb80e453963dc047a07c4396adf098fe010b479e7c0 +84 -0
  407. package/vendor/impeccable/bundle/blobs/5ce0631eacaae6d9fbb23ade26a774a20142cb40d3a8d5608a3fb9dbc4116b60 +806 -0
  408. package/vendor/impeccable/bundle/blobs/5db17cd013c10dca0012bc18aee7276280941579aa50757682e9ce60c4f7a006 +104 -0
  409. package/vendor/impeccable/bundle/blobs/5e3616ac45568f239fda3a4764f7d3bf3473b8b5eefd91e402dd9208a4b851d1 +24 -0
  410. package/vendor/impeccable/bundle/blobs/5f24c5a97b4ffcabc7c432b064cfdd04c7a2ad52f52e765be648dc0aadab8f38 +38 -0
  411. package/vendor/impeccable/bundle/blobs/5fae7f8a2fc3ddd49ad0a413446dc44daedef5b6b7de5eb935bd2fbfad646d58 +92 -0
  412. package/vendor/impeccable/bundle/blobs/61c72fdde649bf7f2e0668e48f9d222666c81672100b5f2265940e7aa13c8767 +111 -0
  413. package/vendor/impeccable/bundle/blobs/633903ba7cb38ed502448a66691fbf655805786a2f06be67043f12294ad08e86 +37 -0
  414. package/vendor/impeccable/bundle/blobs/64802d14087fc96b38ef3881fef8098b36068d07f3b942031637b18eef3dd2af +84 -0
  415. package/vendor/impeccable/bundle/blobs/64807d8f43267f4ed879e997834bbf793bd4605ba1dc65f4b545324b660a7063 +80 -0
  416. package/vendor/impeccable/bundle/blobs/68bc52a604731ca024610051fc763f4d78a53eb2a45d35b40a8c0383043baa63 +86 -0
  417. package/vendor/impeccable/bundle/blobs/68c5636a7858dd0b5137a9229c15e25fdc2ee40a0f8a4e9d809f78e809256262 +327 -0
  418. package/vendor/impeccable/bundle/blobs/696c15f96d49a03091b71a408151a3297521f7a8231b98ca9b1103667a0b5f89 +80 -0
  419. package/vendor/impeccable/bundle/blobs/6989120346e87907d59cc6d4708dd9dee29227ad583fbefee28935395b68ce34 +24 -0
  420. package/vendor/impeccable/bundle/blobs/69be9bb887f4d8ba4ead24928f9b97d122c796e731652fc0c08f195ab8ec2815 +105 -0
  421. package/vendor/impeccable/bundle/blobs/6abbf5979db5cb1d7965bf5f91d589e984843069c587f4d1e63aab135bbace0f +37 -0
  422. package/vendor/impeccable/bundle/blobs/6acc0bf221a4ddc6e5c6438348920b2ca2393b29c4314dbde2cdc23f2b1a9639 +58 -0
  423. package/vendor/impeccable/bundle/blobs/6bc62a59f6fef0b749927c8d10e9849ab2411199d86d70772a86f8e83ac309f5 +29 -0
  424. package/vendor/impeccable/bundle/blobs/6bdbc3f745ceee15e10b050f109ce42bbeb53ab3c3b5239257de1d596654dee7 +94 -0
  425. package/vendor/impeccable/bundle/blobs/6c382f8283756e8a693d832b750f7e4cbff1ca5bdcc3825b2b4ef4da9f21876a +94 -0
  426. package/vendor/impeccable/bundle/blobs/6c9ce3e27ec4520ead001da3aad2a2ebba481c4e5cd22873db8890259ee579fe +95 -0
  427. package/vendor/impeccable/bundle/blobs/6d368b679a0ed1815812815de65863b5840d419589dfbda06224c01149240287 +258 -0
  428. package/vendor/impeccable/bundle/blobs/6d47503587ad6da17ac529f44a96123bbb96a9c91a7a9350b7690fc467561a5d +46 -0
  429. package/vendor/impeccable/bundle/blobs/6e20041e209e8705d14aa9c4fb8cca3f0d743791de633785e5b46e2dd1ff1a6b +24 -0
  430. package/vendor/impeccable/bundle/blobs/6e7e3b7c4cf331cdb43f4546c164acd6c45a267ce3289dcfa87e13202d98c747 +104 -0
  431. package/vendor/impeccable/bundle/blobs/6f1d52863482fa0f6fff877f0cc8f6dd0b4230d28050b0d267e082776e61a332 +37 -0
  432. package/vendor/impeccable/bundle/blobs/706c68612a7c6b899a0abf0b407eca7cabcd371deae60f830aa38aa86947694e +84 -0
  433. package/vendor/impeccable/bundle/blobs/713cac92a71ef45e8b700180d881f830096cfe2b0615e79b276ccc4a12c051e0 +80 -0
  434. package/vendor/impeccable/bundle/blobs/733504a70ed20bcfca9c26c353f7b88f8491d24f3f2fe124dc1e73b28eefa296 +145 -0
  435. package/vendor/impeccable/bundle/blobs/73549b5536699c915156339976192fb38534bb43158cf9262ff5b89090388c64 +806 -0
  436. package/vendor/impeccable/bundle/blobs/73bd60faec1d8360753595f1ee9e970b44933448202767d7b0e87c275d399396 +6 -0
  437. package/vendor/impeccable/bundle/blobs/745b1f74877f6b3445da48af65dc45c66c3daa7738cb9a928aaa900889c2a204 +104 -0
  438. package/vendor/impeccable/bundle/blobs/74e20b26c29242bbebf79760315f7f0788e001566695618cfc70805484c6f92a +111 -0
  439. package/vendor/impeccable/bundle/blobs/759bab1d8adc071fdde2efcf6e2157aa4026f3c2b4f3c342a8070bf328011616 +214 -0
  440. package/vendor/impeccable/bundle/blobs/7848f40e224cf520bd8554943c9816a1ff8c97b1db57af0844e3b1ebb223d91f +416 -0
  441. package/vendor/impeccable/bundle/blobs/78ac93689928a580c2f90242cbaa96dda3fa4e55ff1f1d00e412b2a62ad85232 +145 -0
  442. package/vendor/impeccable/bundle/blobs/78c236dadb7e70337dc9dfa67e65fc15b7abed137ad320c16410ddfa7aec34f9 +131 -0
  443. package/vendor/impeccable/bundle/blobs/79114c6bf78b5a1838fe19bf033f3be85b232560eebf190ff8586aaec34ea170 +105 -0
  444. package/vendor/impeccable/bundle/blobs/79f85e381d1d6fdc8d39f54e1c8753fccf19b4ba3abb9827b6a7cc61eb376d1f +416 -0
  445. package/vendor/impeccable/bundle/blobs/7ad26830c7399a118cdbd4465a5426bc1919015aba99fd15959dc6deb8edc8d6 +80 -0
  446. package/vendor/impeccable/bundle/blobs/7af0a8665057c83b39bca2c8c7427ef2343734f70d4128c377113a6726a1e3b1 +12990 -0
  447. package/vendor/impeccable/bundle/blobs/7fd1617d5a86b7a1a0bf9d6e291b334ac41a3efce31031eeaef11de7cd7e75b4 +325 -0
  448. package/vendor/impeccable/bundle/blobs/800cf1c0392b24de7c0a1c6ea6778ecb433dec71c49a150bce96a98477527b2f +1 -0
  449. package/vendor/impeccable/bundle/blobs/808291e15746c9a64d9ede3ad3f06664b0a72970aa95052e064a96f1bfbed361 +54 -0
  450. package/vendor/impeccable/bundle/blobs/81666fc7f783b4e3514db6554e713dc0479bd9cdedb06e93d15f8b579aae869a +105 -0
  451. package/vendor/impeccable/bundle/blobs/824b994782a1fe68a244bbdff7218a2e0854655d90cc0fb5ade7ef9259ba6305 +46 -0
  452. package/vendor/impeccable/bundle/blobs/82a5e564563333aabb7ab4d2f8c26c785dfe2c2416ac6e9f30cba31440676194 +46 -0
  453. package/vendor/impeccable/bundle/blobs/835f19a0a3812f3652dd6979a2ce5597f654fd01f26e1b420b92d5f42b997ce4 +121 -0
  454. package/vendor/impeccable/bundle/blobs/84a06415956986cb215139b3efda7b3c7a5bb6f502a3b3d9300f0744a970e620 +99 -0
  455. package/vendor/impeccable/bundle/blobs/84df879a0332a56ece4bff1922ecf4f50635951b3c67e67eb46f31bc5d30fa9a +111 -0
  456. package/vendor/impeccable/bundle/blobs/85b9c2d051de94ee9129c58be111946f73035ca62bbd2a3936f4fa48768fe5cf +145 -0
  457. package/vendor/impeccable/bundle/blobs/869fa5390b84bfd00d072f5280a9002ea3e3936edf5985241be641a87f03ff7b +41 -0
  458. package/vendor/impeccable/bundle/blobs/86d10faab62da852aa1f4304157871545c853da708b6fe61c80aefb552c1f300 +84 -0
  459. package/vendor/impeccable/bundle/blobs/87b3db688c7963898bda8096f7868fed05ec5a0a80d14298e8b906b70cdf9c42 +416 -0
  460. package/vendor/impeccable/bundle/blobs/88749ebbe9bc87250765a07c2b959508262bd0e276ad60baa53e6e48c3579143 +806 -0
  461. package/vendor/impeccable/bundle/blobs/896da399bafcffb0623bdd81bb18709d6eab25c9d5917e739c8798f31ff0d076 +46 -0
  462. package/vendor/impeccable/bundle/blobs/89eb0206a0d9308c6c6a7cc01bc4fd8812d2bd34bb9a831988c5d86fac2c60de +42 -0
  463. package/vendor/impeccable/bundle/blobs/8a1c872773996dfa1c1eb765ac7ed8e8d41f99d4f12f090b4725b694e85eaa62 +336 -0
  464. package/vendor/impeccable/bundle/blobs/8a2d316593a631579bbb2f3fcb90d4488f85e97f69698dd2dd4fb50766f537d3 +325 -0
  465. package/vendor/impeccable/bundle/blobs/8b23562ccc3e41609ce6e67fdad6cc57b6c961964c329eff6975a1b4c5471c0d +111 -0
  466. package/vendor/impeccable/bundle/blobs/8c06daf096984cf71cf4133ea284dd6eaf503208da828816836ea41dfb69a234 +80 -0
  467. package/vendor/impeccable/bundle/blobs/8c34f78d71ac02c99303c7e0ca9ef30341aa9ecdeb75804dcba7e36a127914c1 +84 -0
  468. package/vendor/impeccable/bundle/blobs/8e7bb79db7331b93f99de314dd5599de8587ec0b6c25e26cf1efab25c0777fcb +86 -0
  469. package/vendor/impeccable/bundle/blobs/8eb39a13e3d3650d4261f8fb06e91d6c0b888ca12ddbd3a5610cd8f0b05ad176 +69 -0
  470. package/vendor/impeccable/bundle/blobs/8eb466778023fccea641654d662157b123eeb360f4a0875bf6fbe3d93680851c +24 -0
  471. package/vendor/impeccable/bundle/blobs/8f0867db7c6f6a54348a0d951f198a1bd852cd12505d821e6e1ac6bd42e7fcea +87 -0
  472. package/vendor/impeccable/bundle/blobs/8f651cb1f8cde0acc5cc511b77fddd98558a527f54974698a1650b0fd7e849a7 +43 -0
  473. package/vendor/impeccable/bundle/blobs/8ff60b8b5369d364f732f8de10479a39294e65341b3e0b6497b21de5c8e34b2d +806 -0
  474. package/vendor/impeccable/bundle/blobs/904859c8160b02330b04db23a8eeeb4ef55bcaa10f5208b8d73a1718334633e7 +84 -0
  475. package/vendor/impeccable/bundle/blobs/910461b1c1f8216155165955c860a884a1e2f557cb38f21ef512ea90ef6503c2 +136 -0
  476. package/vendor/impeccable/bundle/blobs/9205e222bc6565b37fb504ceec93233c2d2a456802b69d16e6b1c44723907c4c +5 -0
  477. package/vendor/impeccable/bundle/blobs/93eda27117930692a20f668f1cb0a80b7e14ab865998faba567cd721116081d4 +84 -0
  478. package/vendor/impeccable/bundle/blobs/943b0d7c9ce4f6802d8440a07b2ad3c61cbd1cc00ab63962bab7eea9ca584d20 +46 -0
  479. package/vendor/impeccable/bundle/blobs/948326fab89f0d5c07355a06b9b9c30d08bba2e3a673a0151ebbf5a39dff7b9a +40 -0
  480. package/vendor/impeccable/bundle/blobs/94b4ce6299fea93d9f256b2d25705961a76bc5ea940c56db4145686ebc99df1b +89 -0
  481. package/vendor/impeccable/bundle/blobs/95b07450ad1ea0b7adc369587b06e52404945bbaa5d87f7491fac7ffd0e6e2ae +11 -0
  482. package/vendor/impeccable/bundle/blobs/960cb922bc934adbf9192e9428ff6bec1f382038166f02a785939c93b7391067 +139 -0
  483. package/vendor/impeccable/bundle/blobs/96e2e6bd4fcf9a2c6da65fb029f96d9176308fae2efd9d8653d3b8d838960e07 +44 -0
  484. package/vendor/impeccable/bundle/blobs/96e508039c719c0815701c36b8418b18baee1967f915fa29b23b84861ae8ea94 +127 -0
  485. package/vendor/impeccable/bundle/blobs/98afc4c6da252e90c6b783079b6f157bf94a13dd4351392e881edd2a100edf6a +105 -0
  486. package/vendor/impeccable/bundle/blobs/9a2c08ee2516d2ee87129e7ebe6a0895f9990c9852d1f6fa7e70be9a6a88a659 +234 -0
  487. package/vendor/impeccable/bundle/blobs/9b2fc50c5062073d097140cde85602bba181e325ec6b9eea1bd3da74582acb9d +46 -0
  488. package/vendor/impeccable/bundle/blobs/9b85b85443aec09918befb83208c72f475457db8261a8fc5e83ef7eec474c869 +145 -0
  489. package/vendor/impeccable/bundle/blobs/9deb14303b421b5a9232755b5b9f317716f33e1e211557a98a00a9c409775c4d +145 -0
  490. package/vendor/impeccable/bundle/blobs/9e161532dc6731581d7a5f35bda5a2865e5248df7aff90e6dfc9221409893e35 +54 -0
  491. package/vendor/impeccable/bundle/blobs/9eb03b319ce7a2b281bc85ed1b0a437eb05ab2f765fc267354f9f9e6cbfadc25 +806 -0
  492. package/vendor/impeccable/bundle/blobs/9f1151faffbaadba0ddf5c09a4b2a82c9a12c900a2c1a9dac9863ba9ba0f420e +54 -0
  493. package/vendor/impeccable/bundle/blobs/a1a56df5fd51be403ca85a2f8054bb6f2bfeee443556c7798c2482e412fb6a09 +54 -0
  494. package/vendor/impeccable/bundle/blobs/a1dbde501ffabb50f30f28f2de6755b5e91b3d4028292c5a3abd3358106eb457 +37 -0
  495. package/vendor/impeccable/bundle/blobs/a1e4febca3455787d7c753fe177a150dccde6e742957de400b0307247802d200 +145 -0
  496. package/vendor/impeccable/bundle/blobs/a423108e7e31a54564e2e0794186394f842625fd9f7d7ce6e6615362511503a2 +93 -0
  497. package/vendor/impeccable/bundle/blobs/a4cfd2330c8cca94b62986679b3f9e3bb9ada0cb30c2c63c5d19c6039f5a45ae +104 -0
  498. package/vendor/impeccable/bundle/blobs/a5371492582dbeb69b24a1a2947b256a2da8a4d55917af709bbab6e452d9d23c +145 -0
  499. package/vendor/impeccable/bundle/blobs/a55f016c046cb6a27c55bd7f346375aeb506a755c4fbca19a5f92dbd42309c23 +59 -0
  500. package/vendor/impeccable/bundle/blobs/a7045711a1f0dd2cd5bd98e57ff615f638d7e29738bdd618cf15e83fea5993b9 +325 -0
  501. package/vendor/impeccable/bundle/blobs/a7f036f4217933db8a96cf2f0ba251b15f388839d62bcf95720ce0b7152dd185 +806 -0
  502. package/vendor/impeccable/bundle/blobs/a8547c8565979894f0c07f92a96ac2a38e681a31fbf155ffeefc7566e185d9c2 +39 -0
  503. package/vendor/impeccable/bundle/blobs/a8f4056a85706c0c8f80ec48e9b437e198464100aa42786f9252051f4b931c19 +111 -0
  504. package/vendor/impeccable/bundle/blobs/a9515f6f084d8f51c378eb3cdc6db1f12e06dba2d32fc61b7ee7950fa2586f2e +24 -0
  505. package/vendor/impeccable/bundle/blobs/a9856cb40da6519b1334bcfc75a4fbe83bef39ca86ee6f3effcb2a96794c627c +127 -0
  506. package/vendor/impeccable/bundle/blobs/a98b397cedeeaa1da57f3395b3d9b6c1fc477f4247fb9dc13e4da3da588283ff +54 -0
  507. package/vendor/impeccable/bundle/blobs/a9d2203acd45ca33a13d5c68b02b23ed512425ac15f0e8438318ed124b43729d +61 -0
  508. package/vendor/impeccable/bundle/blobs/ac695dd89d5f1261004cfa966526f5d5e913c92fa0640d4d71cb42493effad08 +131 -0
  509. package/vendor/impeccable/bundle/blobs/ad389ab12800738b0e5c97618278b7a824654b25990166ec9f389caa5c3386ca +37 -0
  510. package/vendor/impeccable/bundle/blobs/add1bee76f897f989166a5b9ad1b38d9173248e29d668d5c885ae9a0eff73861 +105 -0
  511. package/vendor/impeccable/bundle/blobs/af34b8af89edb10e228c0482754423f48238fce816eceb8703b8781c130da54e +24 -0
  512. package/vendor/impeccable/bundle/blobs/b0e1a0721a1e47675a8750cfb608138743dd9fa9c047146e5cc8f82b9041be7a +806 -0
  513. package/vendor/impeccable/bundle/blobs/b14dc725606717be881a058bb691c0af1860cc8ad98d48e5a4789fe1a7de5458 +806 -0
  514. package/vendor/impeccable/bundle/blobs/b161198874e4e77599bc31691e78790be14bacc2eb03be168c8a7543ece9fbe1 +145 -0
  515. package/vendor/impeccable/bundle/blobs/b29e10f4506af2277739ad2373bc91c9fff41dbe76c9907f45152b4178cc6b6c +105 -0
  516. package/vendor/impeccable/bundle/blobs/b2d71ff0df7ed49e06dfc4acfce3d3f7eb48afa68be04763ee8c08354df50a07 +97 -0
  517. package/vendor/impeccable/bundle/blobs/b2f60e0154bf0e687badc46d8c8420e2118a9a6e21162050722be779dc02cb6d +111 -0
  518. package/vendor/impeccable/bundle/blobs/b314a0c5bd844f6471ea3031aeb9299674d972fbdd1615d99d16478de437d26d +84 -0
  519. package/vendor/impeccable/bundle/blobs/b31ff29c7a1ea979c6d039f7e8d17007410697ab49536690dca109f0af3f20f8 +336 -0
  520. package/vendor/impeccable/bundle/blobs/b3782f2d9215eb0f5df4fe3c0e0bec07cef011e1836d4d0e45ef02bc48d3adde +24 -0
  521. package/vendor/impeccable/bundle/blobs/b4def5b57733b6ba233570bd5691a536901f8b15479fc0111a2cde56224d0e1a +325 -0
  522. package/vendor/impeccable/bundle/blobs/b5f4fbb4a044c3f5ec14adc847222488f00fccabbf79ecd0b21084c8d319d616 +105 -0
  523. package/vendor/impeccable/bundle/blobs/b6022a8c7200e96b0b55c2ff599a01d64123a2f5fe01557d4ca5192a6e0f0b0c +145 -0
  524. package/vendor/impeccable/bundle/blobs/b6a2ef031313d3848ab2928875298550836f0f9ff7bdf5772e918c5c610ea448 +806 -0
  525. package/vendor/impeccable/bundle/blobs/b6dfd3df9a371e7d179d365cc1d72c11d4ed91b6507c0e1dbec0843419542f66 +84 -0
  526. package/vendor/impeccable/bundle/blobs/b7fcd2b03539d1029c8774fa806e6f4c677448e9e97e15f69b066022536c5491 +80 -0
  527. package/vendor/impeccable/bundle/blobs/b824bb76a657d3edd65e89807dcb21a3679eab39292423066e11368b35afba79 +325 -0
  528. package/vendor/impeccable/bundle/blobs/b8d49a3cab3428d9f351502e9c2c5802cef187e0d2af626ef3e1cd1837fd06bf +105 -0
  529. package/vendor/impeccable/bundle/blobs/bad9250670c18d89722563fd747bae4c4bec64d1db0ee09d12d4fea04fe271b8 +84 -0
  530. package/vendor/impeccable/bundle/blobs/bb069b43c09109d7031b0374e31955749fec657b252d39782f11e8985aca2b51 +131 -0
  531. package/vendor/impeccable/bundle/blobs/bb36665889124a0b6e15f16045265737449c3bdcf2712cdb08af3cfa01563e2b +14 -0
  532. package/vendor/impeccable/bundle/blobs/bb59a1f78f3d2aa78e4b024fe203117155f50946a9e4bbe65c1b3b3abdcee356 +104 -0
  533. package/vendor/impeccable/bundle/blobs/bb9d4bb369216e892eea25adeaefc5a3e09bb4abd31e3475b79e47b3aee2a6af +806 -0
  534. package/vendor/impeccable/bundle/blobs/bc5f71f1129d0f2c310d913d07c8dc609a1d25644121bd78c308f42d52a0b9e9 +86 -0
  535. package/vendor/impeccable/bundle/blobs/bc7a5128cfed46148396c08798b6b9429406fbe477e84e331a36ee2840b6b776 +111 -0
  536. package/vendor/impeccable/bundle/blobs/bcc05ea92faebb5c74037a9d4263a5ce9a56f5ab07c8ab3c59ee704d8cade745 +24 -0
  537. package/vendor/impeccable/bundle/blobs/bdf9a59beea111ac6f98f5624854feb5a5a1d60b1989edbbfabf3dc6f357a7e6 +105 -0
  538. package/vendor/impeccable/bundle/blobs/bdfd2a879ca65e437481eac5309f2283da225121630935d89ed902cfdf470c8e +105 -0
  539. package/vendor/impeccable/bundle/blobs/bea6ebfda78c51b9cf372097a1d77431d0f6bcd96eadec13a2ac95afbb87fb6d +104 -0
  540. package/vendor/impeccable/bundle/blobs/bead87679caad7c537dd7c04c3bb78be56ac7eec279ad6aad7322f48ff2df2d9 +312 -0
  541. package/vendor/impeccable/bundle/blobs/bf3b8883f8550744e08754af82a78939ab8b1237e5fad6f38d819e2f17e8a389 +104 -0
  542. package/vendor/impeccable/bundle/blobs/bf92a4a51b29de9661c5fa82f3d79244718a67d385ef661990f0c4a5b367e843 +104 -0
  543. package/vendor/impeccable/bundle/blobs/bfc51972fbf387566dc9e29c8b1af479a66ab401fdbce659fae9e6a5a9d85316 +69 -0
  544. package/vendor/impeccable/bundle/blobs/c02feba25a961a72647ad317aba2d65baeeed53c4cdcc072f25bb37f4d867d43 +84 -0
  545. package/vendor/impeccable/bundle/blobs/c1cb6877ca99a0c1b38ba0c7d59f32702d3022f6821d8045f7133f7c40b6362f +242 -0
  546. package/vendor/impeccable/bundle/blobs/c1f3766091019b6f9183bc1d11b1e0fe03d44c168dc05a682c55df32f904dcfd +33 -0
  547. package/vendor/impeccable/bundle/blobs/c327bf17f2af186f87164dee5fb5468746a9b137f0b604365d531ac9387f3712 +325 -0
  548. package/vendor/impeccable/bundle/blobs/c36f6aac0ddf52eabbb21df09fd3310540dca6b09e7a4017d18e94c06c469405 +46 -0
  549. package/vendor/impeccable/bundle/blobs/c3ad2a5fa570876af6645c48d246c664859e19f253d2dc9e0ead34e785d5b40a +84 -0
  550. package/vendor/impeccable/bundle/blobs/c6a0ec6c28ae55fe539f0f41a507b1638495afd285d6eb15c00245fc8cc7e7fe +42 -0
  551. package/vendor/impeccable/bundle/blobs/c6f15d20d8d8748c4c475ff70cdb0ee426f2e6c9e7eab6169311f4dffd279ea1 +54 -0
  552. package/vendor/impeccable/bundle/blobs/c83d6a13fdfb58835c845f61aed3fc6dca17b5569d33387ced840bc13424f354 +84 -0
  553. package/vendor/impeccable/bundle/blobs/c9284892cb1f21aaeaf93fdf2e9e7a679d05e0baa8ddf309a79a9790d262ad38 +806 -0
  554. package/vendor/impeccable/bundle/blobs/cb8caddbb3919e5bf7f252143b519fb16db28a244642d937b186cb89962d9201 +828 -0
  555. package/vendor/impeccable/bundle/blobs/cbd8bd68fa00935dd0f179adb169252629cf7ee443ea9dc7db77e7ef2cf77446 +4 -0
  556. package/vendor/impeccable/bundle/blobs/cf3ae16765e7b5bc333ef76e24ab37f080e3d62e931c4986158e3cbcda6b9f7a +46 -0
  557. package/vendor/impeccable/bundle/blobs/d07e3131cdf3e392e59eaa3e2f59fcb0799d9494df4adfee12a21067fb8365ce +37 -0
  558. package/vendor/impeccable/bundle/blobs/d1366aa4802b364893c2a14b16fe95c3b7fab79f9f69eb272fd1538f7cb1ce2c +105 -0
  559. package/vendor/impeccable/bundle/blobs/d15a2914d93e07a4956acd5c8b8211af17380f527acd10d8acf4f4920badaaaf +89 -0
  560. package/vendor/impeccable/bundle/blobs/d1faa55eb956033d28e9f27fd2bc2a9f62c5da0f0abd6534819cc0a04db54d9d +37 -0
  561. package/vendor/impeccable/bundle/blobs/d1fbd55074abb2251bdaa03749d34acc42c38e46e47549f18f5848df57d43c42 +86 -0
  562. package/vendor/impeccable/bundle/blobs/d2455359baf5f9e75360c7094e28a16937c8674619e07d58f30d2b5abfd31e53 +105 -0
  563. package/vendor/impeccable/bundle/blobs/d658c48ffbe0031e8e3b318996cad6ceafe29e40aa50d5bb25e4bf1d6839dc7c +89 -0
  564. package/vendor/impeccable/bundle/blobs/d6a1fa1689642a6db9027493747d7ed54f9e0cae660472022c0a0a8dfdead3f4 +54 -0
  565. package/vendor/impeccable/bundle/blobs/d7211a816aa8ca1111701930f7cdab82b4c8caa94c9a37522c1d7945209b01c2 +84 -0
  566. package/vendor/impeccable/bundle/blobs/d87879329982d608866e4babd31c61438ec34c68483e529761fbf420203eeebd +104 -0
  567. package/vendor/impeccable/bundle/blobs/daa2a8ecd874f9f940dfd72aaa329318b06bb9be25515be85fea84c871b637a6 +145 -0
  568. package/vendor/impeccable/bundle/blobs/dcf7340da023e64144af5768b8bf44ecf45b1bfdec12d3b1c9e6618f17f8c60a +131 -0
  569. package/vendor/impeccable/bundle/blobs/dde1b74aeab3d90320e134f0ed0422bef99917dcab4c1749aa1720a2c94f725f +37 -0
  570. package/vendor/impeccable/bundle/blobs/de1b7404f4cdfd7b515196afb17b74b1980f0bc88cb8681ae93a76ca48ec7bdb +167 -0
  571. package/vendor/impeccable/bundle/blobs/df0eb9e9a484fc7b8a0f3e50573a7d7f81e0f17598ac30d9f3fe5a6c6aa5fefa +37 -0
  572. package/vendor/impeccable/bundle/blobs/df23e9ee5b689a05ed88f42e9a36aaffa2e6e28b1d56e2832acaa1d3603fd363 +105 -0
  573. package/vendor/impeccable/bundle/blobs/df4f14df1daaad1606b682995f649da19a85debf264092447b3b7ddb8b4bc1ce +147 -0
  574. package/vendor/impeccable/bundle/blobs/dfd6f341b156bc604e7556b27cba437d5870fbc82d4c673d0127cf18151b2226 +99 -0
  575. package/vendor/impeccable/bundle/blobs/e02ba7f4417e84b3bd5ec65287c4a14cf163ca3ac6f8ee37d8f709d0c8b0b6d2 +84 -0
  576. package/vendor/impeccable/bundle/blobs/e21af575fcc0f1df54ae422bea4dfa1e5211422606908919f6a86e19e0d5c20c +89 -0
  577. package/vendor/impeccable/bundle/blobs/e26ddd48211aae08fe6debf2a7a4308aa081ed224668cde528e451888db0e3e3 +325 -0
  578. package/vendor/impeccable/bundle/blobs/e2e275495354eeccb7e59af7d74e2ff1f371839bd6aaec1266428760995fb24c +104 -0
  579. package/vendor/impeccable/bundle/blobs/e2f98c4136d0ab70ec32fcdef58edb20ed8ec4f6cc067e0dae952b22cfd6a471 +24 -0
  580. package/vendor/impeccable/bundle/blobs/e3c331cc21d9a216e25e08628610ea99c97e150893c3d26e5c0cecc532f26d7b +24 -0
  581. package/vendor/impeccable/bundle/blobs/e44ca51f24c4736f9aee6024182b0409aa12ec94812b7ec94745e0999ed06a70 +29 -0
  582. package/vendor/impeccable/bundle/blobs/e49d2b0110c55751da3c965b4ae4d294aa676c961a09f8efbbbf22c1ec7c4fa0 +24 -0
  583. package/vendor/impeccable/bundle/blobs/e68467ba99684d8c975a8a2725145d29db41d70659c7544ea54cc6632660cea3 +127 -0
  584. package/vendor/impeccable/bundle/blobs/e71524578eb2bda3b8d2da3d8b8371239a2179c5fa866f9f7e48bcac45a8cd6f +84 -0
  585. package/vendor/impeccable/bundle/blobs/e71d6b97680084a7ccec01844e658cbd2042aec00da0c91bec62a240ad7dcf6a +145 -0
  586. package/vendor/impeccable/bundle/blobs/e7dd10af2c3c18c60dc20734d55ff870c323a10dadd337600f7bb980fc6b53c8 +327 -0
  587. package/vendor/impeccable/bundle/blobs/e802e4f7bdc89050a9c0f2ca506e1d493a2316e6e810c0336c57aa073717ef3e +50 -0
  588. package/vendor/impeccable/bundle/blobs/e8ee6c08e94b80324173d89d6f4cdc5b4829ea6858b3a11fc186588a490cada4 +46 -0
  589. package/vendor/impeccable/bundle/blobs/e9da72a13eb3411d6bbb316953022f62abc4434f505e5345907b216eda9f793b +39 -0
  590. package/vendor/impeccable/bundle/blobs/ea8432c90c30ecb0426662a681ead5c0941113079704e1a766cda09e85b15b4f +111 -0
  591. package/vendor/impeccable/bundle/blobs/eaa50e8cd95e00a94a257db2bff4eafd820696ba75a08a384a00517c3402924e +325 -0
  592. package/vendor/impeccable/bundle/blobs/eb3213b9c9f4d6b2f153e7b457f13aa131bcf633695229dad4eac39a920bdf38 +46 -0
  593. package/vendor/impeccable/bundle/blobs/ec58806f16fc7ba29bccef08f2e158cd00be077ce05d45e943a59bd26dc6dc55 +312 -0
  594. package/vendor/impeccable/bundle/blobs/ec6338b20047099601e4bac8b2efcd597f800d5e437259f6c15d23090400621b +325 -0
  595. package/vendor/impeccable/bundle/blobs/edddeb3fad88adec9a055b1bf9d5c75418cbe97a13b1a7f6765e73249e482563 +144 -0
  596. package/vendor/impeccable/bundle/blobs/ee0a15fcfc244b76b896a2650a17b35e444d4311166b69a3cfa32d11f8f44851 +30 -0
  597. package/vendor/impeccable/bundle/blobs/ee6d6d127c1c2ab3526d529a8e3698be2185b5e346ac617f37501de2c0698b97 +99 -0
  598. package/vendor/impeccable/bundle/blobs/ef0b8eca20e1321cf7216fd0bda41ce54b0cca197cfd1b075eb51f3436f59059 +24 -0
  599. package/vendor/impeccable/bundle/blobs/ef2dde00030580ed2765cbf7be9b2ea4a6f64cb915b804fd6f6abcf38051c7b9 +234 -0
  600. package/vendor/impeccable/bundle/blobs/f0c4d0615c7d520dfc2536c01cc7f1f3aab9b60ddc399ba01289fe62edb12370 +24 -0
  601. package/vendor/impeccable/bundle/blobs/f1601095679d7d8cf6fef6845598c70d8734190709c1404fa0026e28fef2faaa +325 -0
  602. package/vendor/impeccable/bundle/blobs/f173ff03f989f162cee815feb2d8ca72daf00019c48694d89db16d52171a79c0 +24 -0
  603. package/vendor/impeccable/bundle/blobs/f424dafa190533cd32c0bc3e4131d0c472d58e16bb191eab14f0ae73c2cea917 +37 -0
  604. package/vendor/impeccable/bundle/blobs/f597742c8e5562263d3bce725cb55e920d8c2c60223f41a632d523ca30cdd12b +111 -0
  605. package/vendor/impeccable/bundle/blobs/f672ef8251a3ed4051a053d30819664951b17540b2899acd27d20e500c234abc +258 -0
  606. package/vendor/impeccable/bundle/blobs/f7916d0113da7a19d4e03c113d5563d181457e44f1646ecab9191cfee5ae776d +89 -0
  607. package/vendor/impeccable/bundle/blobs/f7a9e3f30fe07b0d98351730e9895d50bba96dd42fe91c0d9b9a76ef62e53322 +80 -0
  608. package/vendor/impeccable/bundle/blobs/f7b854effc55c8f07e40a415e0d6b5c333f4042fbc849fac73d52619c8d053a1 +54 -0
  609. package/vendor/impeccable/bundle/blobs/f964506c0fae87b3c2c1db7016ddc9be9ef970bbcf5548d684b997b5d5991586 +33 -0
  610. package/vendor/impeccable/bundle/blobs/f97a6891c80bbbc728edefcf4b638d1a823b38f3cb16ecd0fbb717734cc5c0c8 +46 -0
  611. package/vendor/impeccable/bundle/blobs/f9cbbad0cc08fb9bd69d4d3046067c6cf820b89cdaf7af8c81c671fb0a62b6ae +54 -0
  612. package/vendor/impeccable/bundle/blobs/fce6688138d2ceb1e3d2cde5231f54b1d8dc8748b4c95a7919aa83b6f924cf96 +127 -0
  613. package/vendor/impeccable/bundle/blobs/fd5579dbae1fc2495b7dddde48df9673acebd27953bbb56d506d3b470375c9e9 +37 -0
  614. package/vendor/impeccable/bundle/blobs/fe91fcf28638f95577af481a50edaf339d6c9a3ad3b9fa477bc81c116b8bc392 +139 -0
  615. package/vendor/impeccable/bundle/blobs/ff0ab1361f52d70d3ff0d23090d78794a75afdfa2f8c1cee5491dee69215faaa +105 -0
  616. package/vendor/impeccable/bundle/blobs/ff882c59c9aced92338aa194cc99a521ea2f083fd22eef3b1c1225e06bc72f66 +86 -0
  617. package/vendor/impeccable/bundle/manifest.json +1139 -0
  618. package/skills/dev-plan/evals/evals.json +0 -72
@@ -0,0 +1,105 @@
1
+ > **Additional context needed**: quality bar and shipping constraints.
2
+
3
+ Polish is refinement, never concealed redesign. Preserve the incumbent visual world, content, behavior, and everything outside scope. If the concept itself is wrong, say so and recommend redesign or `bolder` instead of smuggling in a replacement.
4
+
5
+ A detector result is defect evidence, not proof of quality. Inspect the rendered experience and real interaction path.
6
+
7
+ ## 1. Establish the system
8
+
9
+ Read DESIGN.md and representative tokens, shared components, patterns, and neighboring flows. If no formal system exists, use coherent project conventions.
10
+
11
+ Classify each drift before fixing it:
12
+
13
+ - **missing token:** the system needs a reusable value;
14
+ - **one-off implementation:** an existing shared component or pattern should replace it;
15
+ - **conceptual mismatch:** the flow, information architecture, or hierarchy differs from comparable product areas;
16
+ - **local defect:** the implementation is simply incomplete or inconsistent.
17
+
18
+ Fix the cause at the narrowest correct level. Ask when a binding system principle cannot be inferred.
19
+
20
+ ## 2. Gather the evidence
21
+
22
+ Use the feature yourself at the surface's representative sizes: desktop and mobile on the web; on a native platform (`ios` / `android` / `adaptive`), the shipped device classes on the simulator, emulator, or hardware, captured per the platform reference's Verifying the build section. Determine:
23
+
24
+ - whether the path is functionally complete;
25
+ - the intended quality bar and time available;
26
+ - known constraints or deliberately unfinished work;
27
+ - the states, content lengths, roles, and input methods users will actually encounter.
28
+
29
+ If a prior critique exists, use it as one input:
30
+
31
+ ```bash
32
+ .trae/skills/impeccable/scripts/impeccable critique-storage latest "<resolved target>" --json
33
+ ```
34
+
35
+ Exit 0 returns JSON with the latest snapshot's `body` and an exact `snapshot_file` identity. Retain `snapshot_file` until the end of the pass. For a local file target, the helper compares the file's exact current content fingerprint with the fingerprint captured by critique. Unchanged staged, unstaged, or untracked content remains current; any byte change, deletion, or replacement with a non-file closes the backlog it identified while preserving its trend history and exits 2. A URL target has no local fingerprint and remains current until explicitly closed. When current, incorporate relevant P0/P1 findings from `body` and name the snapshot read. Exit 2 means none exists or the target changed. Perform an independent pass either way.
36
+
37
+ ## 3. Triage
38
+
39
+ Separate functional defects from cosmetic ones and fix in this order:
40
+
41
+ 1. broken or blocked tasks, data loss, misleading state, and inaccessible paths;
42
+ 2. missing loading, empty, error, success, disabled, and permission states;
43
+ 3. flow, hierarchy, responsive, and design-system drift;
44
+ 4. visual and motion inconsistencies;
45
+ 5. code and asset cleanup.
46
+
47
+ Do not perfect one corner while leaving the rest below the same quality bar.
48
+
49
+ ## 4. Polish the whole path
50
+
51
+ ### Flow and hierarchy
52
+
53
+ - Match neighboring mental models, terminology, disclosure, routing, save behavior, and optimistic or pessimistic patterns.
54
+ - Make the primary task and current state obvious without flattening every element to equal weight.
55
+ - Ensure arrival, transition, empty, and recovery paths connect instead of behaving as isolated screens.
56
+
57
+ ### Layout and type
58
+
59
+ - Align to the project's grid and spacing scale; fix optical as well as mathematical alignment.
60
+ - Group related content tightly and separate distinct groups generously.
61
+ - Keep same-role typography consistent; test measure, wrapping, localization expansion, zoom, and font loading.
62
+ - Verify every supported viewport rather than correcting only the current screenshot.
63
+
64
+ ### Color, imagery, and icons
65
+
66
+ - Use semantic tokens and stable color meanings across themes.
67
+ - Verify text, control, and focus contrast in every state.
68
+ - Keep icon families, stroke/weight, sizing, and optical alignment coherent.
69
+ - Prevent image layout shift; use correct aspect ratios, responsive sources, and useful alt text.
70
+
71
+ ### Interaction and state
72
+
73
+ - Every control needs appropriate default, hover, focus, active, disabled, loading, error, and success behavior.
74
+ - Preserve visible keyboard focus, logical tab order, labels, and platform-appropriate touch targets.
75
+ - Keep motion coherent, interruptible, and performant. Do not add animation merely to make polish visible.
76
+ - Validate long, missing, localized, offline, slow, and permission-limited content where the product can encounter it.
77
+
78
+ ### Content and code
79
+
80
+ - Keep terminology, capitalization, punctuation, and factual copy consistent. Ask before changing claims.
81
+ - Remove debug output, dead code, unused imports, obsolete styles, and polish-created duplication.
82
+ - Replace custom implementations with shared components where the system owns the pattern.
83
+ - Promote genuinely reusable values to tokens; do not create a system abstraction for one local exception.
84
+
85
+ ## 5. Verify and finish
86
+
87
+ Walk the complete path again with mouse, keyboard, and touch where applicable. Check:
88
+
89
+ - mobile, intermediate, and wide layouts on the web; phone and tablet size classes in both supported orientations on native;
90
+ - loading, empty, error, success, disabled, long-content, and missing-content states;
91
+ - zoom, contrast, focus, semantics, and screen-reader names;
92
+ - console errors, layout shift, interaction latency, and image loading everywhere; supported browsers on the web; supported OS versions, runtime warnings, and dropped frames on native;
93
+ - agreement with DESIGN.md, neighboring features, and the user's scope.
94
+
95
+ Follow the quality guidance supplied by `impeccable context` and hooks, then run any other relevant QA commands. Context requests a manual scan only when no automatic detector is active; never add another detector pass. Fix real defects and document only narrow intentional exceptions. A clean scan does not replace visual judgment.
96
+
97
+ Finish with a source diff: remove accidental churn, orphaned code, redundant values, and temporary artifacts. Ship only when the feature is functionally complete and consistently finished across the path.
98
+
99
+ When this pass clears every Priority Issue it took from a snapshot, close that snapshot:
100
+
101
+ ```bash
102
+ .trae/skills/impeccable/scripts/impeccable critique-storage close "<resolved target>" "<snapshot_file returned by latest>"
103
+ ```
104
+
105
+ This closes only the snapshot this pass actually processed; if a newer critique landed meanwhile, its backlog stays live. Do not close when no snapshot was read, when `snapshot_file` was not retained, or when Priority Issues remain.
@@ -0,0 +1,325 @@
1
+ Interactive live variant mode: select elements in the browser, pick a design action, and get AI-generated HTML+CSS variants hot-swapped via the dev server's HMR.
2
+
3
+ ## Prerequisites
4
+
5
+ A running dev server with HMR (Vite, Next.js, Bun, etc.), OR a static HTML file open in the browser. If the dev server's default port is busy, the app is very likely ALREADY running; probe the default URL before spawning a second server.
6
+
7
+ Live editing requires a local checkout; injection into deployed production sites (including HTTPS) is unsupported. For production inspection, use `.grok/skills/impeccable/scripts/impeccable detect <url>` or the browser extension, not the live helper. Do not disable browser security or weaken production CSP to enable live mode.
8
+
9
+ ## The contract (read once)
10
+
11
+ Execute in order. No step skipped, no step reordered. Every tool output in live mode may carry an `_instructions` field: it is the authoritative next step for that exact situation, with real ids and paths substituted; when it conflicts with your recollection of this document, `_instructions` wins.
12
+
13
+ 1. `impeccable live`: boot. If the request names or implies a file, route, or app inside a monorepo, infer the concrete path and run `.grok/skills/impeccable/scripts/impeccable live --target <path>` instead; then run the rest of this live session from the returned `projectRoot`. The boot resolves the app root from dev-server config files and persists it in `.impeccable/live/roots.json`; every helper re-anchors to that manifest at startup (a wrong cwd cannot fork session state), PRODUCT.md / DESIGN.md are discovered upward to the git root, and relative helper args like `--file` resolve against the app root.
14
+ 2. Open the app URL that serves `pageFile` (infer from `package.json`, docs, terminal output, or an open tab). Never use `serverPort`; it's the helper, not the app. **Cursor:** `browser_navigate` to that URL before polling; do not skip. **Other harnesses:** use the available browser tool; if the URL is uncertain, ask the user once.
15
+ 3. Poll loop with the default long timeout (600000 ms). Run `impeccable live-poll` again immediately after every event or `--reply`; Codex runs this one-shot poll in the foreground. Never pass a short `--timeout=`. The global bar's **Impeccable mark** dims with a pulsing amber dot when nothing is polling `/poll`; restart `impeccable live-poll` to reconnect.
16
+ 4. On `generate`: reuse `event.scaffold` when present; read the screenshot if present; load the action's reference; deliver variants; `--reply done`; poll again. Generate in this thread: you already hold the project's tokens and layout. The overlay preview IS the verification channel; do not screenshot, re-render, or QA variants between generate and accept. Apply craft-floor's contrast, spacing, and type floors by construction as you write; full verification runs once at accept on the chosen variant.
17
+ 5. On `steer`: read the message and `pageUrl`; do the work; `--reply steer_done`; poll again. No pickup ack.
18
+ 6. On `accept` / `discard`: the poll script runs `impeccable live-accept`, acknowledges delivery, and prints `_completionAck`. Plain accepts/discards are terminal immediately; carbonize accepts stay recoverable until `impeccable live-complete --id EVENT_ID` runs. Finish that cleanup before polling again.
19
+ 7. If interrupted, run `impeccable live-status` or `impeccable live-resume` before guessing. The journal under `.impeccable/live/sessions/` is canonical and replays unacknowledged work after a helper restart; the injected `live.js` re-attaches when the page reopens. Fall back to the direct-edit loop only when `impeccable live-resume` reports no active session, never because disconnects felt frequent.
20
+ 8. On `exit`: run the cleanup at the bottom.
21
+
22
+ Harness policy:
23
+ - **Claude Code**: run the poll as a **background task** (no short timeout); the harness notifies you on completion. Do not block the shell.
24
+ - **Cursor**: **one-shot** poll in a **background terminal** with notify on `"type":"(steer|generate|accept|discard|manual_edit_apply|variant_mount_failed|prefetch|exit)"`; handle, `--reply`, restart the poll. Do **not** use `--stream` on Cursor (measured ~5s pickup vs sub-second one-shot).
25
+ - **Codex**: default one-shot poll in a **yielded foreground exec session**. No `&`, no `--stream`, never leave Live without an active foreground poll. Starting the poll is not enough: SERVICE it (keep reading the exec session until it returns an event). Never announce "waiting for the user" and idle; a yielded poll nobody reads is a dead session, and the user's Go sits unanswered.
26
+ - **Other harnesses**: one-shot foreground unless you know stdout reliably returns when a shell exits.
27
+
28
+ Delivery policy: atomic single-edit delivery everywhere; do not switch a harness to progressive publishing unless its poll loop is known not to block on the extra calls.
29
+
30
+ Chat is overhead. No recap, no tutorial output, no pasting PRODUCT / DESIGN bodies. Spend tokens on tools and edits; on failure, one or two short sentences.
31
+
32
+ ## Poll loop
33
+
34
+ ```
35
+ LOOP:
36
+ .grok/skills/impeccable/scripts/impeccable live-poll # default long timeout; no --timeout=
37
+ Read JSON; dispatch on "type"
38
+
39
+ "generate" → Handle Generate; reply done; LOOP
40
+ "steer" → Handle Steer; reply steer_done; LOOP
41
+ "accept" → Handle Accept; complete carbonize cleanup if required; LOOP
42
+ "discard" → Handle Discard; LOOP
43
+ "prefetch" → Handle Prefetch; LOOP
44
+ "manual_edit_apply" → Handle Manual Edit Apply; reply done|partial|error; LOOP
45
+ "variant_mount_failed" → Fix the variant files; reply done --file <path>; LOOP
46
+ "timeout" → LOOP
47
+ "exit" → break → Cleanup
48
+ ```
49
+
50
+ `variant_mount_failed` means the browser could not render what you published (`variant`, module `url`, `error`). The user sees a persistent error card, not variants. Fix the variant files, then `--reply EVENT_ID done --file <manifest or source path>`; the browser retries on its own.
51
+
52
+ **Stream mode** (`--stream`, experimental, never on Cursor): one long-lived process, one JSON line per event, `--reply` from a separate command. Only for harnesses that read incremental stdout reliably.
53
+
54
+ ## Start
55
+
56
+ ```bash
57
+ .grok/skills/impeccable/scripts/impeccable live
58
+ ```
59
+
60
+ Output JSON: `{ ok, serverPort, serverToken, pageFiles, roots, hasProduct, product, productPath, hasDesign, design, designPath, hasSurfaceBrief, surfaceBrief }`. `roots` is the resolved root manifest; `projectRoot` mirrors `roots.appRoot`. The surface brief rides along; do not shell out to `impeccable surface-brief` separately. Precedence for generation: **DESIGN.md wins on visual decisions; PRODUCT.md wins on durable product and voice decisions; the surface brief wins on this surface's strategy.** When DESIGN.md is missing, identity is **not** absent; extract it from CSS variables, computed styles, and sibling components (Step 4 Phase A). Identity preservation is the default; departure requires the user's explicit redesign intent.
61
+
62
+ `serverPort`/`serverToken` belong to the small helper HTTP server (`/live.js`, SSE, `/poll`), not your dev server; the page URL is whatever origin serves a `pageFiles` entry.
63
+
64
+ If output is `{ ok: false, error: "config_missing" | "config_invalid", path }`, this project needs one-time configuration: read [live-setup.md](live-setup.md) and follow it. If the output carries a non-null `configDrift`, tell the user once which HTML files are uncovered and suggest adding them or switching `files` to a glob; never auto-edit the config.
65
+
66
+ ## Recovery commands
67
+
68
+ The append-only journal under `.impeccable/live/sessions/` is canonical durable state (not project source). When the chat was interrupted, polling was missed, the helper restarted, or the browser reloaded:
69
+
70
+ ```bash
71
+ .grok/skills/impeccable/scripts/impeccable live-status # helper state, active sessions, queued events; works with the helper down
72
+ .grok/skills/impeccable/scripts/impeccable live-resume --id SESSION_ID # active snapshot, pending event, next safe action
73
+ .grok/skills/impeccable/scripts/impeccable live-complete --id SESSION_ID # canonical manual final acknowledgement after verified cleanup
74
+ ```
75
+
76
+ Server restart rule: start `impeccable live-server` again, then poll; startup requeues unacknowledged events, so never ask the user to click Go again unless `impeccable live-resume` says no active session exists.
77
+
78
+ ## Handle `generate`
79
+
80
+ **Replace mode** (default): `{id, action, freeformPrompt?, count, pageUrl, element, screenshotPath?, comments?, strokes?}`.
81
+
82
+ **Insert mode** (`event.mode === "insert"`): `{id, mode: "insert", count, pageUrl, insert: { position, anchor }, placeholder: { width, height }, freeformPrompt?, screenshotPath?, comments?, strokes?}`. No `action`; requires a non-empty `freeformPrompt` **or** annotations. `placeholder` is a soft size hint.
83
+
84
+ Speed matters; the user is watching the selected element. Reuse preflight metadata, minimize discovery calls.
85
+
86
+ ### Insert mode branch
87
+
88
+ 1. Read the screenshot if present (annotations only).
89
+ 2. If `event.scaffold` is present, use it and do **not** run the helper again. Otherwise:
90
+
91
+ ```bash
92
+ .grok/skills/impeccable/scripts/impeccable live-insert --id EVENT_ID --count EVENT_COUNT --position after \
93
+ --element-id "ANCHOR_ID" --classes "class1,class2" --tag "section" --text "ANCHOR_TEXT"
94
+ ```
95
+
96
+ `--position` ← `event.insert.position`; anchor flags map exactly like wrap's. The scaffold has **no** `data-impeccable-variant="original"`; variants are net-new HTML+CSS at `insertLine`. On source-preview targets the scaffold carries `sourceWritten: false` with `wrapperBlock` and `replaceEndLine < replaceStartLine` (an insertion): splice variants into `wrapperBlock` at the marker and insert at `replaceStartLine` in ONE edit, exactly as the wrap section describes. Decide the visitor mode from the surface and load [craft-floor.md](craft-floor.md) before writing net-new markup. Svelte targets follow the same component flow as wrap below (`mode: "insert"` in the manifest): each variant is a real single-root component under `componentDir` with no `data-impeccable-*` attributes; never edit the route during generation; accept splices the chosen markup into `sourceFile` mechanically. For non-Svelte targets, accept/discard removes the wrapper; the anchor is untouched.
97
+
98
+ ### Replace mode (default)
99
+
100
+ ### 1. Read the screenshot (if present)
101
+
102
+ `event.screenshotPath` is sent **only when the user annotated before Go**; it is a PNG of the element with annotations baked in. Read it before planning. When absent, do not ask for one or screenshot the page yourself: without annotations a screenshot anchors you on the existing design and fights the three-distinct-directions brief; work from `element.outerHTML`, the computed styles, and the prompt.
103
+
104
+ Annotation semantics: a comment's `{x, y}` is element-local and binds the text to the child under that point (a comment near the title is about the title). Comments and strokes are independent unless clearly paired. Strokes read by shape: closed loop = "this thing" (emphasis, not a clipping region); arrow = direction or movement; cross/slash = delete; scribble = emphasis or delete by context. If a stroke's intent is genuinely ambiguous and it changes the brief, ask one short question before generating; otherwise state your reading in one sentence.
105
+
106
+ ### 2. Wrap the element
107
+
108
+ When `event.scaffold` is present, the helper already found the source and computed the wrapper; treat it as the successful output and skip the command. `event.scaffoldAttempted` with `scaffoldError` means preflight could not finish; use the command below.
109
+
110
+ **On source-preview targets `event.scaffold` carries `sourceWritten: false`.** The helper did NOT write the wrapper; it hands you `scaffold.wrapperBlock` plus the picked element's source range (`replaceStartLine`, `replaceEndLine`, 1-indexed). Write the wrapper **and** all variants in ONE edit: splice your variants into `wrapperBlock` at the "Variants: insert below this line" marker, then replace lines `[replaceStartLine, replaceEndLine]` with the result. A separate scaffold write reloads the framework before your variant write lands and strands the browser at 0/N. (`replaceEndLine < replaceStartLine` means insert mode: insert, remove nothing.) The `svelte-component` path never sets `sourceWritten`.
111
+
112
+ ```bash
113
+ .grok/skills/impeccable/scripts/impeccable live-wrap --id EVENT_ID --count EVENT_COUNT --element-id "ELEMENT_ID" --classes "class1,class2" --tag "div" --text "TEXT_SNIPPET"
114
+ ```
115
+
116
+ Flag mapping (keep separate, never collapse into `--query`): `--element-id` ← `event.element.id`; `--classes` ← classes joined with commas; `--tag` ← tagName; `--text` ← first ~80 chars of textContent, **every call**: it disambiguates repeated sibling components, without it wrap lands on the first match. If `event.pageUrl` implies the file, pass `--file PATH`. If `--text` still matches several candidates, wrap exits `{ error: "element_ambiguous", candidates, fallback: "agent-driven" }`: pick the right range from page context and write the wrapper manually per the fallback flow.
117
+
118
+ Success output: `{ file, insertLine, commentSyntax, styleMode, styleTag, cssSelectorPrefixExamples, cssAuthoring }` (plus the `sourceWritten: false` fields above on source-preview targets). Run directly with no preflight scaffold, it writes the wrapper itself and you splice variants at `insertLine`. `styleMode` controls how preview CSS must be authored. Treat it as a detected capability mode, not a framework guess: `scoped` means `@scope ([data-impeccable-variant="N"])` rules; `astro-global-prefixed` means explicit `[data-impeccable-variant="N"]` prefixes with the exact returned `styleTag`. Use `cssAuthoring` as the source of truth for the current file (styleTag, selector strategy, requirements, forbidden patterns); apply no framework-specific exception unless it says to.
119
+
120
+ For Svelte/SvelteKit targets, `impeccable live-wrap` returns `previewMode: "svelte-component"` with `file` pointing at a temporary `node_modules/.impeccable-live/<id>/manifest.json`, `componentDir` holding the variant components, and `sourceFile` the real route. The scaffold is AST-based: control-flow blocks (`{#each}`, `{#if}`) survive intact and a free each-collection crosses the contract as ONE structured prop (kind `collection`). The payload includes `componentStubMarkup` (the prop-substituted markup already written into every stub), so do not read the manifest or stubs back. EDIT `v1.svelte`, `v2.svelte`, ... in place; never delete and recreate them; keep the stub's control flow and `propContract` prop names; never flatten a loop into literal items. The stub `<style>` arrives seeded with the source rules that currently style the selection; restyle or delete them freely. On accept, any seeded rule your variant does not re-declare is REMOVED from the source (the preview never applied it, so the user approved a design without it). Use semantic class selectors, no `@scope`, no `data-impeccable-*`. Reply with `--file` set to the manifest path; the browser mounts the compiled components so Svelte HMR does not reset page state. Accept merges the chosen component back mechanically (markup restored to route expressions, CSS reconciled, params baked, indentation preserved); you have no post-accept cleanup on this path. When the selection contains constructs a detached preview cannot support (component tags, `bind:`/`use:`, await blocks, inline scripts, spread attributes), wrap returns the normal source-preview wrapper with `previewFallback: { from: "svelte-component", reason }`; just follow the returned shape.
121
+
122
+ **Params on component-preview paths go in a sidecar, never as an attribute** (Svelte parses `{` in attribute values as an expression). Declare them in `componentDir/params.json` keyed by variant number, using the schema from section 7:
123
+
124
+ ```json
125
+ { "1": [ {"id":"density","kind":"steps","default":"snug","label":"Density","options":[
126
+ {"value":"airy","label":"Airy"},{"value":"snug","label":"Snug"} ]} ] }
127
+ ```
128
+
129
+ Author the component `<style>` against `var(--p-<id>, default)` for `range`/`toggle` and `[data-p-<id>="…"]` for `steps`, wrapped in `:global(...)` so runtime knob values on the mounted root reach your rules.
130
+
131
+ **Fallback errors.** Wrap refuses to write into non-source files (generated, untracked): accepting into one is silent data loss. Three shapes, all with `fallback: "agent-driven"` (see **Handle fallback**): `file_is_generated` (your `--file` points at a generated file), `element_not_in_source` with `generatedMatch` (element only exists generated), `element_not_found` (likely runtime-injected).
132
+
133
+ ### 3. Load the action's reference
134
+
135
+ `event.action` is `impeccable` (freeform): work from SKILL.md's design rules plus [craft-floor.md](craft-floor.md); decide the visitor mode from the surface; do not load a sub-command reference. Freeform is not a pass to skip parameters: follow the budget and freeform bias in section 7. Any other action (`bolder`, `quieter`, `distill`, `polish`, `typeset`, `colorize`, `layout`, `adapt`, `animate`, `delight`, `overdrive`): read `reference/<action>.md` before planning; its MUST params layer on top of the section 7 budget.
136
+
137
+ ### 4. Plan three variants: identity first, then mode, then axes
138
+
139
+ Live runs on an existing surface; the brand is already chosen. The job is variation **within identity**, not selection between identities. The worst failure is three off-brand variants the user cannot accept. Four phases, in order.
140
+
141
+ #### Phase A: Extract the identity (non-skippable)
142
+
143
+ Sources in priority order: DESIGN.md's visual system fields; CSS custom properties (de-facto tokens); computed styles on the picked element and parent; sibling components' visual rhetoric. Write ONE sentence recording what is actually on screen: dominant surface and accent color (real values, not "warm"), the loaded font pairing, layout topology (stacked / side-by-side / grid / asymmetric / overlay), surface treatment (corners, borders, shadows, decoration density), and the voice tone read off the copy. Be specific; skip an axis rather than fabricate; do not name an aesthetic family (a conclusion, not data). This sentence is the **identity lock**: every variant must read as the same brand side by side. Absence of DESIGN.md is never an excuse.
144
+
145
+ #### Phase B: Pick mode (default vs departure)
146
+
147
+ **Default** preserves the identity and varies expression within it; right for ~90% of sessions. **Departure** rejects the identity; trigger ONLY on the user's explicit ask in the current request or prompt ("redesign this", "rebuild from scratch", "something completely different"); a stale critique or old note is not authorization. Unsure means default: wrong-default costs "three on-brand variants with similar feel" (recoverable), wrong-departure costs three off-brand variants (unrecoverable).
148
+
149
+ #### Phase C: Plan three variants
150
+
151
+ **Default mode.** Each variant commits to a different **primary axis**, preserving the identity sentence. The six axes: 1 **Hierarchy** (which element commands the eye), 2 **Layout topology** (stacked / side-by-side / grid / asymmetric / overlay), 3 **Typographic system** (pairing logic, scale ratio, case/weight, *within the available faces*), 4 **Color strategy** (which existing palette role carries the surface: Restrained / Committed / Full palette / Drenched; existing tokens only), 5 **Density** (minimal / comfortable / dense), 6 **Structural decomposition** (merge, split, progressive disclosure). Three variants, three DIFFERENT axes: the same brand at three angles. New fonts, new hues, or new aesthetic-family signals belong to departure mode only.
152
+
153
+ **Departure mode.** Each variant anchors to a different aesthetic direction derived from the brand, never a fixed catalog: read PRODUCT.md's Brand Personality words; derive physical, spatial, or material experiences that embody them; from those, derive three directions genuinely different from each other AND from the current surface; reject reflex choices whose rationale would fit a neighboring product. Each direction must be one concrete sentence naming a real-world referent ("a museum exhibition label system", not "clean and minimal").
154
+
155
+ **In both modes, name each variant's 2 or 3 parameter knobs while planning** (section 7 budget). Parameters are part of the design; deciding "what's tunable" during planning beats retrofitting.
156
+
157
+ #### Phase D: Squint test
158
+
159
+ **Default:** compare each variant against the Phase A lock; palette, type voice, or rhetoric drift means it crossed into departure by accident: rework. Then confirm three different primary axes; three "tighter density" variants is failure. **Departure:** two passes, family before sentence. Family pass (non-negotiable): label each variant with a concrete family of your own choosing; shared or interchangeable labels mean rework. Sentence pass: three one-line descriptions side by side; two that rhyme mean rework. When the primary axis is color or theme, the trio must not share theme + dominant hue: three color worlds, not three shades.
160
+
161
+ **Action-specific invocations** must vary along the action's dimension:
162
+
163
+ - `bolder`: amplify a different dimension per variant (scale / saturation / structural change).
164
+ - `quieter`: pull back a different dimension (color / ornament / spacing).
165
+ - `distill`: remove a different class of excess (visual noise / redundant content / nested structure).
166
+ - `polish`: a different refinement axis (rhythm / hierarchy / micro-details).
167
+ - `typeset`: different pairing AND different scale ratio each.
168
+ - `colorize`: different hue family each; vary chroma and contrast strategy.
169
+ - `layout`: different structural arrangement, not spacing tweaks.
170
+ - `adapt`: different target context per variant (mobile-first / tablet / desktop / print or low-data).
171
+ - `animate`: different motion vocabulary (cascade stagger / clip wipe / scale-and-focus / morph / parallax).
172
+ - `delight`: different flavor of personality (micro-interaction / typographic surprise / illustrated accent / sonic-or-haptic / easter egg).
173
+ - `overdrive`: different convention broken (scale / structure / motion / input model / state transitions); skip its "propose and ask" step, live is non-interactive.
174
+
175
+ ### 5. Apply the freeform prompt (if present)
176
+
177
+ `event.freeformPrompt` is the user's ceiling on direction: all variants honor it while exploring different interpretations within the Phase B mode. Default mode: the prompt narrows the axes, not the identity ("more confident" → one variant amplifies hierarchy, one commits the accent color, one tightens density). Departure mode: the prompt narrows the lanes, not the families ("newspaper front page" → broadsheet vs tabloid vs trade journal, then run the family pass). When the prompt conflicts with a binding brand commitment or DESIGN.md invariant, preserve the invariant unless the user explicitly revokes it.
178
+
179
+ ### 6. Deliver variants
180
+
181
+ Complete HTML replacement of the original element per variant, not a CSS-only patch. Colocate preview CSS as a `<style>` tag inside the wrapper. **Atomic default:** CSS + all variants + parameter manifests in one edit at `insertLine`.
182
+
183
+ ```html
184
+ <!-- Variants: insert below this line -->
185
+ <style data-impeccable-css="SESSION_ID">
186
+ /* rules matching cssAuthoring.rulePattern */
187
+ </style>
188
+ <div data-impeccable-variant="1">
189
+ <!-- variant 1: full element replacement (single top-level element) -->
190
+ </div>
191
+ <div data-impeccable-variant="2" style="display: none">
192
+ <!-- variant 2 -->
193
+ </div>
194
+ <div data-impeccable-variant="3" style="display: none">
195
+ <!-- variant 3 -->
196
+ </div>
197
+ ```
198
+
199
+ Replace the style opening tag with `cssAuthoring.styleTag` when the tool returns a different one. **Each variant div contains exactly one top-level element**, same tag as the original; loose siblings break outline tracking and accept. First variant visible, all others `display: none`. The browser's MutationObserver accepts atomic or progressive arrival; accepting an arrived variant fences the worker, so later publications are rejected.
200
+
201
+ For `styleMode: "scoped"`, author every `:scope` rule with a descendant combinator: the `@scope` boundary is the variant wrapper div, not your element, so a bare `:scope { ... }` styles a `display: contents` shell. Always step in (`:scope > .card`, `:scope .hero-title`). The fake test agent's CSS in the [repo agent template](https://github.com/pbakaus/impeccable/blob/8dac6ae7e020c43ab10ce9b41939f6fd42627b96/tests/live-e2e/agent.mjs) is a faithful template.
202
+
203
+ **JSX / TSX targets:** wrap `<style>` content in a template literal (CSS braces would parse as JSX), use `className=` / `style={{…}}`, keep `data-impeccable-*` attributes as plain strings:
204
+
205
+ ```tsx
206
+ <style data-impeccable-css="SESSION_ID">{`
207
+ @scope ([data-impeccable-variant="1"]) { ... }
208
+ `}</style>
209
+ <div data-impeccable-variant="2" style={{ display: 'none' }}>
210
+ {/* variant 2 */}
211
+ </div>
212
+ ```
213
+
214
+ The wrap script provides a single-rooted JSX wrapper with the marker comments inside; drop the block at the marker and the source stays valid TSX.
215
+
216
+ ### 7. Parameters (composition-sized, 0-4 per variant)
217
+
218
+ Each variant can expose **coarse** knobs; the browser docks one control per parameter with zero regeneration cost (knobs drive a CSS variable or data attribute your scoped CSS is authored against). Wire an axis as soon as the user could plausibly mutter "a bit tighter" or "a touch more accent" without wanting a regeneration; micro-margins and one-off nudges are not parameters. Freeform bias: you chose the axes, so expose them; a hero with 0 params is almost always a mistake, and 1 is underweight unless the design is a genuine fixed point.
219
+
220
+ Budget scales with the element's VISUAL weight (count visual children, not DOM depth):
221
+
222
+ - **Leaf / tiny** (button, icon, bare heading): **0 params.**
223
+ - **Small composition** (simple card, labeled input, ≤ ~5 visual children): **0-1**.
224
+ - **Medium composition** (section, nav cluster, 6-15 children): **target 2**; 1 if simple.
225
+ - **Large composition** (hero, full region, 16+ children or sub-sections): **target 2-3, up to 4** when independent axes are all authored in CSS.
226
+
227
+ **Hard cap: four** per variant. For named sub-commands, the action reference's MUST params are non-negotiable when expressible; respect the cap, no duplicate knobs.
228
+
229
+ **Declare** on the HTML/JSX path as a wrapper attribute (component-preview paths use `componentDir/params.json` instead, same schema, keyed by variant number; see the wrap section):
230
+
231
+ ```html
232
+ <div data-impeccable-variant="1" data-impeccable-params='[
233
+ {"id":"color-amount","kind":"range","min":0,"max":1,"step":0.05,"default":0.5,"label":"Color amount"},
234
+ {"id":"serif","kind":"toggle","default":false,"label":"Serif display"}
235
+ ]'>
236
+ ```
237
+
238
+ Three kinds: `range` (slider; drives `--p-<id>`; author `var(--p-color-amount, 0.5)`; fields min/max/step/default/label), `steps` (segmented radio; drives `data-p-<id>`; author `:scope[data-p-density="airy"] .grid { ... }`; fields options/default/label), `toggle` (drives both `--p-<id>: 0|1` and attribute presence; fields default/label). Reset on variant switch is a known limitation: each variant starts at its declared defaults.
239
+
240
+ **On accept**, the browser sends current values and `impeccable live-accept` writes them as a sibling comment: `<!-- impeccable-param-values SESSION_ID: {"color-amount":0.7} -->`. Carbonize cleanup bakes them: keep only the matching `steps`/`toggle` branch, drop the others, collapse `:scope[data-p-…]` to semantic rules; substitute `range` literals or update the var's default.
241
+
242
+ ### 8. Signal done
243
+
244
+ ```bash
245
+ .grok/skills/impeccable/scripts/impeccable live-poll --reply EVENT_ID done --file RELATIVE_PATH
246
+ ```
247
+
248
+ `RELATIVE_PATH` is relative to project root; the browser fetches source directly if the dev server lacks HMR. Then poll again immediately.
249
+
250
+ ### Aborting an in-flight session
251
+
252
+ If wrap or generation fails after the browser flipped to GENERATING, tell the **browser** so its bar resets: `.grok/skills/impeccable/scripts/impeccable live-poll --reply EVENT_ID error "Short reason"`. Never use `live-accept --discard` for this (pure file mutator, browser never sees it, bar sticks on dots); `--discard` is only source-side cleanup for a discard the browser itself initiated.
253
+
254
+ ## Handle fallback
255
+
256
+ When wrap returns `fallback: "agent-driven"`, you pick the source file yourself; the goal is unchanged: three preview variants now, and the accepted one persisted where the next build cannot wipe it.
257
+
258
+ 1. **Find where the element really lives** from the error payload: `element_not_in_source` + `generatedMatch` means the served HTML is generated, so find the generator's template or partial; `element_not_found` means runtime-injected, so find the rendering component or data source; `file_is_generated` resolves the same way. A purely visual change may belong in a shared stylesheet rather than a template.
259
+ 2. **Preview in the served file**: manually write the same wrapper scaffold `impeccable live-wrap` produces (`<!-- impeccable-variants-start ID --><div data-impeccable-variants="ID" data-impeccable-variant-count="3" style="display: contents">…</div><!-- end -->`) into the file the browser actually loaded, insert your variant divs, `--reply EVENT_ID done --file <served file>`. This edit is temporary; a regen wiping it is fine.
260
+ 3. **On accept, write to true source** (accept refuses generated files, so `_acceptResult.handled` is usually `false` here): structural change → template/component source; visual-only → the right stylesheet; content rendered from data → the data source or render logic. Then remove the temporary wrapper from the served file.
261
+ 4. **On discard**, just remove the temporary wrapper.
262
+
263
+ ## Handle `accept`
264
+
265
+ Event: `{id, variantId, _acceptResult, _completionAck}`. The poll script already ran `impeccable live-accept` deterministically and acknowledged delivery; the browser DOM is already updated.
266
+
267
+ - The accept event includes `pageUrl`; the poll script must forward it to `impeccable live-accept --page-url PAGE_URL` so accept-time cleanup only scrubs staged copy edits for the current page.
268
+ - `_completionAck.ok !== true`: do not poll yet. Run `impeccable live-status` / `impeccable live-resume`, finish cleanup manually if needed, then `impeccable live-complete --id EVENT_ID`.
269
+ - `handled: true, carbonize: false`: nothing to do; poll again.
270
+ - `handled: true, carbonize: true`: required cleanup below; `_acceptResult.todo`, `_completionAck.requiresComplete`, and the stderr banner all point at it.
271
+ - `handled: false, mode: "fallback"`: the session lived in a generated file; you already wrote true source in fallback Step 3; clean the temporary wrapper and poll.
272
+ - `handled: false, mode: "error"`: **do not hand-edit the file.** `source_locked`: rerun the same `impeccable live-accept` command (idempotent) until the publisher releases. `accept_receipt_conflict`: the session already resolved as `priorOperation`; run `impeccable live-status` and tell the user. Anything else: report briefly, run `impeccable live-status` first.
273
+ - `handled: false` without `mode`: manual cleanup: read file, find markers, edit.
274
+
275
+ ### Required after accept (carbonize)
276
+
277
+ `carbonize: true` means the accepted variant is stitched into source with helper markers and inline CSS (so the browser renders with no gap). That stitch-in is temporary; rewrite it into permanent form before anything else, or dead `@scope` rules, wrapper divs, and marker comments accumulate across sessions. Five steps, synchronously, before the next poll:
278
+
279
+ 1. **Locate the carbonize block** in `_acceptResult.file`: bracketed by `<!-- impeccable-carbonize-start/end SESSION_ID -->` with a `<style data-impeccable-css>` element; read the `<!-- impeccable-param-values -->` comment first when present, it drives steps 3 and 4.
280
+ 2. **Move the CSS rules** into the project's real stylesheet (whichever already owns styling for the surrounding element).
281
+ 3. **Bake param values while rewriting selectors**: retarget `@scope ([data-impeccable-variant="N"])` to real semantic classes; keep only the `:scope[data-p-<id>="VALUE"]` branch matching the chosen value; substitute `var(--p-<id>)` literals or update the var's default.
282
+ 4. **Unwrap the accepted content**: delete the inner variant div (and on JSX the outer `data-impeccable-carbonize` div); drop `data-impeccable-params` and all `data-p-*` attributes.
283
+ 5. **Delete** the inline `<style>` block, the param-values comment, both carbonize markers, and any `@scope` rules for non-accepted variants.
284
+
285
+ Then run `impeccable live-complete --id SESSION_ID` and verify `phase: "completed"` before polling again. The command is a gate, not a formality: it refuses with `error: "source_dirty"` plus findings while any live-mode leftover remains; fix and rerun (`--force` only for false positives).
286
+
287
+ ## Handle `discard`
288
+
289
+ Event: `{id, _acceptResult, _completionAck}`. The poll script already restored the original and acknowledged `discarded`. Nothing to do unless `_completionAck.ok !== true`; then `impeccable live-complete --id EVENT_ID --discarded` and poll again.
290
+
291
+ ## Handle `steer`
292
+
293
+ Event: `{id, message, pageUrl}`: page-level direction from the global bar's Steer control (typed or spoken), no element context, no variant cycling. Read `message`, inspect the page or files as needed, make edits or answer in prose. Reply `.grok/skills/impeccable/scripts/impeccable live-poll --reply EVENT_ID steer_done ["Optional short toast"]`, or on failure `--reply EVENT_ID error "Short reason"`, then poll immediately. No separate pickup reply; the Steer bar unlocks on `steer_done` or `error`.
294
+
295
+ ## Handle `prefetch`
296
+
297
+ Event: `{pageUrl}`: fired once per route on first selection; the user is likely about to Go on a page you have not read. Resolve the route to its file (root `/` is usually the boot's `pageFile`; multi-page sites often map `/foo` to `public/foo/index.html`; SPAs map everything to one entry), read it, poll again. No `--reply`. If you cannot resolve it confidently, skip and poll.
298
+
299
+ ## Handle `manual_edit_apply`
300
+
301
+ Event: `{id, pageUrl, batch: {entries}, evidencePath?, chunk?, repair?, deadlineMs}`.
302
+
303
+ The user already clicked Apply. Do not ask what to do, discard, or redirect to Go. The parent live thread keeps the foreground poll loop and sends the final `/poll --reply --data`.
304
+
305
+ When native subagents are available, delegate source edits to `impeccable_manual_edit_applier` / `impeccable-manual-edit-applier`. Pass cwd, scripts path, event id, page URL, chunk/deadline, `batch`, `evidencePath`, and the canonical JSON result schema. The subagent must not poll or reply. If unavailable, apply inline with the same contract.
306
+
307
+ If `repair` is present, the previous Apply changed source but final validation failed. Fix the current source and return the same canonical JSON result; do not roll files back yourself. The browser will ask the user before any rollback.
308
+
309
+ After source edits finish, reply exactly once with `.grok/skills/impeccable/scripts/impeccable live-poll --reply EVENT_ID done --data '{"status":"done","appliedEntryIds":["8hexid"],"failed":[],"files":["src/page.html"],"notes":[]}'`. Use `status:"partial"` or `status:"error"` with `failed[]` when not every entry applied. Then poll again. Never reply without the event id; `--reply done --file ...` is invalid for manual Apply.
310
+
311
+ ## Exit
312
+
313
+ The user stops live mode by saying so in chat, closing the tab (SSE drops; poll returns `exit` after 8s), or the browser's exit button. On `exit`, kill any still-running background poll, then clean up.
314
+
315
+ ## Cleanup
316
+
317
+ ```bash
318
+ .grok/skills/impeccable/scripts/impeccable live-server stop
319
+ ```
320
+
321
+ Stops the helper and runs `impeccable live-inject --remove` to strip the injected script (use `stop --keep-inject` to keep it for a quick restart; `.impeccable/live/config.json` persists as project config). Then search for and remove any leftover `impeccable-variants-start` wrappers and `impeccable-carbonize-start` blocks.
322
+
323
+ ## First-time setup
324
+
325
+ Only when `impeccable live` reports `config_missing` / `config_invalid`, or `configDrift` needs explaining, or the config lacks `cspChecked`: read [live-setup.md](live-setup.md). It owns the config schema, the per-framework `files` table, injection adapters, drift healing, and the CSP detection and consent flow.
@@ -0,0 +1,94 @@
1
+ > **Additional context needed**: audience knowledge and emotional state.
2
+
3
+ Rewrite unclear interface text so users understand what happened, what matters, and what to do next. Preserve factual meaning, product terminology, and brand voice.
4
+
5
+ ## Audit the language
6
+
7
+ Read the entire interaction path, not isolated strings. Identify:
8
+
9
+ - ambiguous nouns, verbs, and actions;
10
+ - internal jargon or assumed knowledge;
11
+ - vague labels, outcomes, and system states;
12
+ - missing consequences, recovery, or timing;
13
+ - inconsistent terminology and capitalization;
14
+ - redundant headings, intros, helper text, and confirmations;
15
+ - text that breaks at realistic widths or in translation;
16
+ - tone that ignores stress, risk, success, or urgency.
17
+
18
+ Infer audience and task from product context and surrounding UI. Ask before changing factual claims, legal meaning, or a term that may be domain-specific.
19
+
20
+ ## Set the message hierarchy
21
+
22
+ For each state, decide:
23
+
24
+ 1. the one fact the user needs now;
25
+ 2. the action available next;
26
+ 3. supporting context that changes the decision;
27
+ 4. the appropriate tone for this moment.
28
+
29
+ Say each idea once. If the heading already explains the state, the introduction should add new information or disappear.
30
+
31
+ ## Rewrite by function
32
+
33
+ ### Actions and navigation
34
+
35
+ Use a specific verb and object when the outcome is not already obvious. Labels should describe what will happen, not the gesture used to trigger it. Keep the same noun and verb for the same concept throughout the product.
36
+
37
+ For destructive actions, name the object and consequence. Prefer undo over confirmation when recovery is safe. When confirmation is necessary, name the action on both the message and button instead of using `Yes`, `No`, `OK`, or `Submit`.
38
+
39
+ ### Forms
40
+
41
+ Use persistent labels; placeholders are examples, not labels. Put format and eligibility requirements before submission. Explain why information is requested only when it is not obvious. Required and optional treatment should be consistent.
42
+
43
+ Validation says what needs attention and how to correct it without blaming the user. Keep related instructions near the field and announce errors accessibly.
44
+
45
+ ### Errors and permissions
46
+
47
+ An actionable error answers:
48
+
49
+ 1. what failed;
50
+ 2. why, when known and useful;
51
+ 3. how to recover or what alternative remains.
52
+
53
+ Do not expose internal codes as the primary message. Do not promise a cause or resolution the system cannot know. Treat privacy, payment, deletion, access loss, and blocked work seriously; warmth is welcome, jokes are not.
54
+
55
+ ### Loading, empty, and success states
56
+
57
+ Loading text names the real operation and sets an honest expectation when the wait is meaningful. Show determinate progress when available; never invent progress.
58
+
59
+ An empty state distinguishes first use, no results, filters, permissions, and failure. Explain the state and provide the next useful action.
60
+
61
+ Success confirms the completed outcome and mentions the next consequence only when it changes what the user should do. Routine success should be brief.
62
+
63
+ ### Help and instructional text
64
+
65
+ Helper text answers an implicit question instead of restating the control. Use progressive disclosure for uncommon detail. Link text must make sense out of context; icon-only controls need accessible names.
66
+
67
+ ## Voice, accessibility, and localization
68
+
69
+ Voice stays consistent; tone adapts to the moment. Use plain language without flattening terminology the audience genuinely knows.
70
+
71
+ - Write complete translatable messages rather than concatenated fragments.
72
+ - Keep variables and numbers structured so translators can reorder them.
73
+ - Allow expansion instead of abbreviating prematurely.
74
+ - Make alt text convey the image's information; use empty alt for decoration.
75
+ - Keep screen-reader names aligned with visible labels and outcomes.
76
+ - Do not rely on punctuation, color, or iconography to carry the message alone.
77
+
78
+ Maintain a short terminology glossary when inconsistency spans the product. Do not vary words for literary effect in an interface.
79
+
80
+ ## Verify
81
+
82
+ Read the flow in context and test:
83
+
84
+ - comprehension without hidden product knowledge;
85
+ - actionability at errors, empty states, and decision points;
86
+ - factual accuracy and consistent terminology;
87
+ - scanability at target widths and 200% zoom;
88
+ - long names, localization expansion, pluralization, and dynamic values;
89
+ - accessible names and announced state changes;
90
+ - tone appropriate to consequence and emotional context.
91
+
92
+ The final copy is as short as it can be without removing meaning or recovery.
93
+
94
+ When the language reads cleanly, hand off to `$impeccable polish` for the final pass.
@@ -0,0 +1,58 @@
1
+ > **Additional context needed**: target platforms/devices and usage contexts.
2
+
3
+ Adapt an existing **native** design (`ios` / `android` / `adaptive`) to a different context: another device class, orientation, platform, or origin. The trap is treating adaptation as scaling. The job is rethinking the experience for the new context, inside the platform conventions of [ios.md](ios.md) / [android.md](android.md); read the target platform's reference before planning if Setup hasn't already.
4
+
5
+ ## Assess Adaptation Challenge
6
+
7
+ 1. **Source context**: what was it designed for, and what assumptions did it make? (Phone-only? Portrait-only? One platform's idioms? A website?)
8
+ 2. **Target context**: which device class (phone, tablet, foldable), orientation, platform, and usage posture (one-handed on the go vs two-handed at rest)?
9
+ 3. **What breaks**: navigation that doesn't fit the target, layouts that stretch instead of restructure, gestures or controls that don't exist there?
10
+
11
+ ## Adaptation Strategies
12
+
13
+ ### Phone → Tablet (iPad / large screens)
14
+
15
+ - **Restructure, don't stretch.** A scaled-up phone UI on a tablet is the failure mode. Use size classes (iOS) / window size classes (Android) to switch structure.
16
+ - **Navigation changes shape**: tab bar stays or becomes a sidebar on iPad; Android navigation bar becomes a rail or drawer on expanded width.
17
+ - **Use the width**: split view / master-detail (list + detail side by side), multi-column grids, popovers where phones used sheets.
18
+ - **Multitasking is a size, not an edge case**: iPad Split View and Android multi-window can hand you a phone-width window on a tablet; size-class-driven layout handles both for free.
19
+
20
+ ### Orientation & foldables
21
+
22
+ - Landscape restructures (side-by-side panes, repositioned controls); never clip or letterbox. Lock orientation only when the task truly demands it.
23
+ - Foldables (Android): react to posture and hinge via window size classes; test folded, unfolded, and tabletop.
24
+
25
+ ### Platform → platform (iOS ↔ Android)
26
+
27
+ Translate idioms; never transplant them:
28
+
29
+ | iOS | Android |
30
+ |---|---|
31
+ | Tab bar | Navigation bar / rail / drawer |
32
+ | Edge-swipe back, back chevron | Predictive Back gesture / button |
33
+ | Switch, segmented control, system pickers | Material switch, chips, Material pickers |
34
+ | Action sheet | Bottom sheet / Material dialog |
35
+ | SF Symbols, SF Pro, Dynamic Type | Material Symbols, Roboto, sp scaling |
36
+ | Semantic system colors, materials | Material color roles, tonal elevation |
37
+ | System push/sheet transitions | Container transform, shared-axis, fade-through |
38
+
39
+ Rebuild navigation and controls in the target's vocabulary; carry over the brand's expressive layer (palette intent, type accent, motion personality) through the target's theming system.
40
+
41
+ ### Web → native (porting a website or web app)
42
+
43
+ Reconform, don't reflow. Replace web navigation with the platform's model, HTML-shaped controls with platform controls, hover affordances with touch-first ones, and px-based type with Dynamic Type / sp. Then treat the result to the full platform reference; the slop test there is the acceptance bar.
44
+
45
+ ## Implement & Verify
46
+
47
+ - Drive structure from **size classes / window size classes**, never from device-model checks.
48
+ - Respect safe areas and window insets in every new configuration (notch, hinge, status bar, keyboard).
49
+ - Test on simulators for breadth, then real hardware for truth: at least one phone and one tablet per shipped platform, both orientations, split-screen where supported.
50
+
51
+ When the adaptation feels native to each context, hand off to `/impeccable polish` for the final pass.
52
+
53
+ **NEVER**:
54
+ - Ship a stretched phone layout on a tablet
55
+ - Port one platform's controls or navigation onto the other
56
+ - Hide core functionality on smaller devices (if it matters, make it work)
57
+ - Lock orientation to dodge a layout bug
58
+ - Trust simulators alone (posture, gestures, and performance need hardware)