@bastani/atomic 0.9.5-alpha.1 → 0.9.5-alpha.10

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 (754) hide show
  1. package/CHANGELOG.md +124 -2
  2. package/README.md +2 -2
  3. package/dist/builtin/cursor/CHANGELOG.md +6 -0
  4. package/dist/builtin/cursor/package.json +3 -3
  5. package/dist/builtin/cursor/src/model-mapper.ts +6 -3
  6. package/dist/builtin/intercom/CHANGELOG.md +31 -0
  7. package/dist/builtin/intercom/README.md +29 -21
  8. package/dist/builtin/intercom/broker/broker.ts +9 -120
  9. package/dist/builtin/intercom/broker/client.ts +29 -54
  10. package/dist/builtin/intercom/broker/delivered-message-cache.ts +44 -0
  11. package/dist/builtin/intercom/broker/paths.ts +42 -5
  12. package/dist/builtin/intercom/broker/pending-send-registry.ts +142 -0
  13. package/dist/builtin/intercom/broker/send-handler.ts +106 -0
  14. package/dist/builtin/intercom/broker/send-signature.ts +37 -0
  15. package/dist/builtin/intercom/broker/spawn.ts +78 -10
  16. package/dist/builtin/intercom/config.ts +6 -3
  17. package/dist/builtin/intercom/contact-supervisor-tool.ts +6 -4
  18. package/dist/builtin/intercom/foreground-detach-handoff.ts +136 -0
  19. package/dist/builtin/intercom/index-heavy.ts +50 -54
  20. package/dist/builtin/intercom/index.ts +320 -272
  21. package/dist/builtin/intercom/intercom-tool.ts +9 -3
  22. package/dist/builtin/intercom/lazy-heavy-proxy.ts +114 -0
  23. package/dist/builtin/intercom/lazy-subagent-ack.ts +20 -0
  24. package/dist/builtin/intercom/lazy-tool-execution.ts +39 -0
  25. package/dist/builtin/intercom/lifecycle-lease.ts +51 -0
  26. package/dist/builtin/intercom/lifecycle.ts +37 -20
  27. package/dist/builtin/intercom/package.json +12 -6
  28. package/dist/builtin/intercom/reply-routing.ts +17 -0
  29. package/dist/builtin/intercom/result-renderers.ts +1 -1
  30. package/dist/builtin/intercom/subagent-relay.ts +58 -12
  31. package/dist/builtin/intercom/types.ts +3 -3
  32. package/dist/builtin/intercom/ui/compose.ts +2 -2
  33. package/dist/builtin/intercom/ui/inline-message.ts +2 -2
  34. package/dist/builtin/intercom/ui/session-list.ts +2 -2
  35. package/dist/builtin/mcp/CHANGELOG.md +23 -0
  36. package/dist/builtin/mcp/OAUTH.md +1 -0
  37. package/dist/builtin/mcp/README.md +10 -6
  38. package/dist/builtin/mcp/apps-cancellation.ts +32 -0
  39. package/dist/builtin/mcp/call-tool-result.ts +9 -0
  40. package/dist/builtin/mcp/caller-wait.ts +50 -0
  41. package/dist/builtin/mcp/command-registration.ts +82 -0
  42. package/dist/builtin/mcp/direct-tool-executor.ts +279 -0
  43. package/dist/builtin/mcp/direct-tools.ts +40 -255
  44. package/dist/builtin/mcp/host-html-template.ts +4 -2
  45. package/dist/builtin/mcp/index.ts +274 -239
  46. package/dist/builtin/mcp/init.ts +96 -126
  47. package/dist/builtin/mcp/mcp-auth-flow.ts +247 -237
  48. package/dist/builtin/mcp/mcp-callback-server.ts +89 -68
  49. package/dist/builtin/mcp/mcp-oauth-provider.ts +23 -1
  50. package/dist/builtin/mcp/metadata-hydration.ts +52 -0
  51. package/dist/builtin/mcp/package.json +3 -3
  52. package/dist/builtin/mcp/proxy-auth.ts +4 -4
  53. package/dist/builtin/mcp/proxy-call.ts +111 -40
  54. package/dist/builtin/mcp/proxy-connect.ts +35 -15
  55. package/dist/builtin/mcp/proxy-info-modes.ts +106 -23
  56. package/dist/builtin/mcp/proxy-modes.ts +3 -3
  57. package/dist/builtin/mcp/session-cleanup-barrier.ts +43 -0
  58. package/dist/builtin/mcp/startup-warmup.ts +98 -0
  59. package/dist/builtin/mcp/state-lease.ts +12 -0
  60. package/dist/builtin/mcp/tool-result-renderer.ts +3 -3
  61. package/dist/builtin/mcp/ui-server.ts +8 -8
  62. package/dist/builtin/mcp/ui-session.ts +9 -18
  63. package/dist/builtin/subagents/CHANGELOG.md +60 -0
  64. package/dist/builtin/subagents/README.md +30 -29
  65. package/dist/builtin/subagents/agents/code-simplifier.md +2 -2
  66. package/dist/builtin/subagents/agents/codebase-analyzer.md +2 -2
  67. package/dist/builtin/subagents/agents/codebase-locator.md +2 -2
  68. package/dist/builtin/subagents/agents/codebase-online-researcher.md +2 -2
  69. package/dist/builtin/subagents/agents/codebase-pattern-finder.md +2 -2
  70. package/dist/builtin/subagents/agents/codebase-research-analyzer.md +2 -2
  71. package/dist/builtin/subagents/agents/codebase-research-locator.md +2 -2
  72. package/dist/builtin/subagents/agents/debugger.md +2 -2
  73. package/dist/builtin/subagents/agents/worker.md +2 -2
  74. package/dist/builtin/subagents/package.json +5 -5
  75. package/dist/builtin/subagents/prompts/review-loop.md +1 -1
  76. package/dist/builtin/subagents/skills/subagent/SKILL.md +37 -36
  77. package/dist/builtin/subagents/src/extension/api-lifecycle.ts +64 -0
  78. package/dist/builtin/subagents/src/extension/fanout-child.ts +44 -51
  79. package/dist/builtin/subagents/src/extension/index.ts +289 -320
  80. package/dist/builtin/subagents/src/extension/prompt-guidance.ts +7 -10
  81. package/dist/builtin/subagents/src/extension/schemas.ts +22 -5
  82. package/dist/builtin/subagents/src/extension/startup-maintenance.ts +89 -0
  83. package/dist/builtin/subagents/src/extension/tool-description.ts +29 -0
  84. package/dist/builtin/subagents/src/intercom/intercom-bridge.ts +13 -2
  85. package/dist/builtin/subagents/src/intercom/result-intercom.ts +4 -4
  86. package/dist/builtin/subagents/src/runs/background/async-event-journal.ts +106 -0
  87. package/dist/builtin/subagents/src/runs/background/async-execution-common.ts +26 -20
  88. package/dist/builtin/subagents/src/runs/background/async-execution-single.ts +13 -2
  89. package/dist/builtin/subagents/src/runs/background/async-execution-types.ts +3 -0
  90. package/dist/builtin/subagents/src/runs/background/async-job-tracker.ts +1 -1
  91. package/dist/builtin/subagents/src/runs/background/completion-claims.ts +189 -0
  92. package/dist/builtin/subagents/src/runs/background/completion-dedupe.ts +44 -7
  93. package/dist/builtin/subagents/src/runs/background/completion-notification.ts +34 -0
  94. package/dist/builtin/subagents/src/runs/background/notify.ts +72 -22
  95. package/dist/builtin/subagents/src/runs/background/result-delivery-processor.ts +232 -0
  96. package/dist/builtin/subagents/src/runs/background/result-file-claims.ts +151 -0
  97. package/dist/builtin/subagents/src/runs/background/result-quarantine.ts +72 -0
  98. package/dist/builtin/subagents/src/runs/background/result-retry-scheduler.ts +48 -0
  99. package/dist/builtin/subagents/src/runs/background/result-status.ts +81 -0
  100. package/dist/builtin/subagents/src/runs/background/result-watcher-data.ts +59 -0
  101. package/dist/builtin/subagents/src/runs/background/result-watcher.ts +177 -233
  102. package/dist/builtin/subagents/src/runs/background/run-id-resolver.ts +3 -2
  103. package/dist/builtin/subagents/src/runs/background/stale-run-reconciler.ts +73 -14
  104. package/dist/builtin/subagents/src/runs/background/subagent-runner-streaming.ts +29 -15
  105. package/dist/builtin/subagents/src/runs/background/top-level-async.ts +1 -2
  106. package/dist/builtin/subagents/src/runs/foreground/chain-execution-dynamic-step.ts +1 -0
  107. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-runner.ts +1 -0
  108. package/dist/builtin/subagents/src/runs/foreground/chain-execution-parallel-step.ts +1 -0
  109. package/dist/builtin/subagents/src/runs/foreground/chain-execution-sequential-step.ts +7 -9
  110. package/dist/builtin/subagents/src/runs/foreground/chain-execution-types.ts +3 -13
  111. package/dist/builtin/subagents/src/runs/foreground/chain-execution.ts +2 -15
  112. package/dist/builtin/subagents/src/runs/foreground/execution-attempt-finalize.ts +2 -2
  113. package/dist/builtin/subagents/src/runs/foreground/execution-attempt.ts +63 -46
  114. package/dist/builtin/subagents/src/runs/foreground/execution-detach-reservations.ts +48 -0
  115. package/dist/builtin/subagents/src/runs/foreground/execution-detach-route.ts +17 -0
  116. package/dist/builtin/subagents/src/runs/foreground/execution-run-sync.ts +39 -26
  117. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-async.ts +3 -1
  118. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-chain.ts +3 -51
  119. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-context.ts +6 -11
  120. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-input.ts +11 -2
  121. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel-task.ts +2 -0
  122. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-parallel.ts +5 -112
  123. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-resume.ts +2 -0
  124. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-single.ts +68 -118
  125. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-status.ts +79 -7
  126. package/dist/builtin/subagents/src/runs/foreground/subagent-executor-types.ts +2 -2
  127. package/dist/builtin/subagents/src/runs/foreground/subagent-executor.ts +3 -0
  128. package/dist/builtin/subagents/src/runs/shared/pi-args.ts +2 -2
  129. package/dist/builtin/subagents/src/runs/shared/pi-spawn.ts +55 -12
  130. package/dist/builtin/subagents/src/shared/artifacts.ts +22 -11
  131. package/dist/builtin/subagents/src/shared/event-jsonl-writer.ts +294 -0
  132. package/dist/builtin/subagents/src/shared/exclusive-file-publication.ts +44 -0
  133. package/dist/builtin/subagents/src/shared/jsonl-writer.ts +1 -0
  134. package/dist/builtin/subagents/src/shared/model-info.ts +2 -2
  135. package/dist/builtin/subagents/src/shared/settings.ts +20 -10
  136. package/dist/builtin/subagents/src/shared/types-async.ts +3 -1
  137. package/dist/builtin/subagents/src/shared/types-config.ts +2 -0
  138. package/dist/builtin/subagents/src/shared/types-runtime.ts +3 -2
  139. package/dist/builtin/subagents/src/slash/slash-commands.ts +9 -12
  140. package/dist/builtin/subagents/src/slash/slash-live-state.ts +63 -32
  141. package/dist/builtin/subagents/src/tui/render-event-formatting.ts +15 -48
  142. package/dist/builtin/subagents/src/tui/render-layout.ts +9 -0
  143. package/dist/builtin/subagents/src/tui/render-result.ts +7 -0
  144. package/dist/builtin/subagents/src/tui/render-stable-output.ts +1 -0
  145. package/dist/builtin/subagents/src/tui/render-widget-graph.ts +27 -25
  146. package/dist/builtin/subagents/src/tui/render-widget.ts +177 -132
  147. package/dist/builtin/subagents/src/tui/render.ts +1 -1
  148. package/dist/builtin/web-access/CHANGELOG.md +14 -0
  149. package/dist/builtin/web-access/README.md +4 -0
  150. package/dist/builtin/web-access/content-tools.ts +8 -3
  151. package/dist/builtin/web-access/index-heavy.ts +1 -1
  152. package/dist/builtin/web-access/index.ts +190 -46
  153. package/dist/builtin/web-access/lifecycle-lease.ts +38 -0
  154. package/dist/builtin/web-access/package.json +2 -2
  155. package/dist/builtin/web-access/result-renderers.ts +1 -1
  156. package/dist/builtin/web-access/summary-review.ts +1 -1
  157. package/dist/builtin/web-access/web-search-activity.ts +1 -1
  158. package/dist/builtin/web-access/web-search-return.ts +7 -0
  159. package/dist/builtin/web-access/web-search-summary.ts +1 -1
  160. package/dist/builtin/web-access/web-search-tool.ts +4 -2
  161. package/dist/builtin/workflows/CHANGELOG.md +86 -0
  162. package/dist/builtin/workflows/README.md +8 -6
  163. package/dist/builtin/workflows/builtin/deep-research-codebase-utils.ts +33 -9
  164. package/dist/builtin/workflows/builtin/goal-artifacts.ts +3 -1
  165. package/dist/builtin/workflows/builtin/goal-prompts.ts +25 -2
  166. package/dist/builtin/workflows/builtin/goal-reducer.ts +21 -0
  167. package/dist/builtin/workflows/builtin/goal-review.ts +60 -6
  168. package/dist/builtin/workflows/builtin/goal-runner.ts +119 -48
  169. package/dist/builtin/workflows/builtin/goal-types.ts +8 -1
  170. package/dist/builtin/workflows/builtin/goal.d.ts +2 -0
  171. package/dist/builtin/workflows/builtin/goal.ts +9 -0
  172. package/dist/builtin/workflows/builtin/index.d.ts +2 -0
  173. package/dist/builtin/workflows/builtin/open-claude-design-runner.ts +16 -5
  174. package/dist/builtin/workflows/builtin/ralph-core.ts +61 -13
  175. package/dist/builtin/workflows/builtin/ralph-models.ts +98 -66
  176. package/dist/builtin/workflows/builtin/ralph-review-gate.ts +10 -3
  177. package/dist/builtin/workflows/builtin/ralph-reviewer-prompt.ts +159 -0
  178. package/dist/builtin/workflows/builtin/ralph-runner.ts +67 -164
  179. package/dist/builtin/workflows/builtin/review-convergence.ts +111 -0
  180. package/dist/builtin/workflows/builtin/shared-prompts.ts +5 -0
  181. package/dist/builtin/workflows/package.json +2 -2
  182. package/dist/builtin/workflows/skills/create-spec/SKILL.md +2 -0
  183. package/dist/builtin/workflows/skills/impeccable/SKILL.md +16 -13
  184. package/dist/builtin/workflows/skills/impeccable/reference/adapt.md +1 -0
  185. package/dist/builtin/workflows/skills/impeccable/reference/adapt.native.md +58 -0
  186. package/dist/builtin/workflows/skills/impeccable/reference/android.md +40 -0
  187. package/dist/builtin/workflows/skills/impeccable/reference/animate.md +2 -0
  188. package/dist/builtin/workflows/skills/impeccable/reference/audit.md +2 -0
  189. package/dist/builtin/workflows/skills/impeccable/reference/audit.native.md +139 -0
  190. package/dist/builtin/workflows/skills/impeccable/reference/bolder.md +69 -62
  191. package/dist/builtin/workflows/skills/impeccable/reference/critique.md +21 -7
  192. package/dist/builtin/workflows/skills/impeccable/reference/document.md +1 -1
  193. package/dist/builtin/workflows/skills/impeccable/reference/hooks.md +92 -0
  194. package/dist/builtin/workflows/skills/impeccable/reference/init.md +29 -7
  195. package/dist/builtin/workflows/skills/impeccable/reference/ios.md +45 -0
  196. package/dist/builtin/workflows/skills/impeccable/reference/layout.md +25 -1
  197. package/dist/builtin/workflows/skills/impeccable/reference/typeset.md +23 -1
  198. package/dist/builtin/workflows/skills/impeccable/scripts/context-signals.mjs +2 -1
  199. package/dist/builtin/workflows/skills/impeccable/scripts/context.mjs +75 -14
  200. package/dist/builtin/workflows/skills/impeccable/scripts/detector/browser/injected/index.mjs +1 -1
  201. package/dist/builtin/workflows/skills/impeccable/scripts/detector/cli/main.mjs +31 -0
  202. package/dist/builtin/workflows/skills/impeccable/scripts/detector/design-system.mjs +64 -0
  203. package/dist/builtin/workflows/skills/impeccable/scripts/detector/detect-antipatterns-browser.js +118 -11
  204. package/dist/builtin/workflows/skills/impeccable/scripts/detector/engines/regex/detect-text.mjs +16 -11
  205. package/dist/builtin/workflows/skills/impeccable/scripts/detector/registry/antipatterns.mjs +66 -0
  206. package/dist/builtin/workflows/skills/impeccable/scripts/detector/rules/checks.mjs +42 -10
  207. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/fonts.mjs +30 -0
  208. package/dist/builtin/workflows/skills/impeccable/scripts/detector/shared/page.mjs +4 -6
  209. package/dist/builtin/workflows/skills/impeccable/scripts/hook-admin.mjs +660 -0
  210. package/dist/builtin/workflows/skills/impeccable/scripts/hook-before-edit.mjs +516 -0
  211. package/dist/builtin/workflows/skills/impeccable/scripts/hook-lib.mjs +1764 -0
  212. package/dist/builtin/workflows/skills/impeccable/scripts/hook.mjs +61 -0
  213. package/dist/builtin/workflows/skills/impeccable/scripts/lib/impeccable-config.mjs +4 -2
  214. package/dist/builtin/workflows/skills/impeccable/scripts/lib/is-generated.mjs +2 -2
  215. package/dist/builtin/workflows/skills/impeccable/scripts/live/svelte-component.mjs +13 -16
  216. package/dist/builtin/workflows/skills/impeccable/scripts/live-accept.mjs +17 -11
  217. package/dist/builtin/workflows/skills/impeccable/scripts/live-browser.js +104 -37
  218. package/dist/builtin/workflows/skills/impeccable/scripts/live-wrap.mjs +9 -0
  219. package/dist/builtin/workflows/src/durable/backend.ts +12 -0
  220. package/dist/builtin/workflows/src/durable/child-primitive.ts +12 -8
  221. package/dist/builtin/workflows/src/durable/dbos-backend.ts +63 -2
  222. package/dist/builtin/workflows/src/durable/dbos-envelope.ts +28 -0
  223. package/dist/builtin/workflows/src/durable/resume-catalog.ts +12 -0
  224. package/dist/builtin/workflows/src/durable/resume-runtime.ts +5 -2
  225. package/dist/builtin/workflows/src/durable/stage-primitive.ts +167 -28
  226. package/dist/builtin/workflows/src/durable/types.ts +30 -1
  227. package/dist/builtin/workflows/src/engine/primitives/task.ts +3 -1
  228. package/dist/builtin/workflows/src/engine/run-durable-finalize.ts +1 -2
  229. package/dist/builtin/workflows/src/engine/run-returned-status.ts +50 -16
  230. package/dist/builtin/workflows/src/engine/run.ts +32 -32
  231. package/dist/builtin/workflows/src/engine/runtime.ts +5 -0
  232. package/dist/builtin/workflows/src/extension/extension-factory.ts +3 -0
  233. package/dist/builtin/workflows/src/extension/extension-lifecycle.ts +9 -2
  234. package/dist/builtin/workflows/src/extension/extension-runtime-state.ts +137 -27
  235. package/dist/builtin/workflows/src/extension/lifecycle-notifications.ts +22 -6
  236. package/dist/builtin/workflows/src/extension/public-types.ts +1 -1
  237. package/dist/builtin/workflows/src/extension/workflow-command-completions.ts +13 -1
  238. package/dist/builtin/workflows/src/extension/workflow-command-registration.ts +19 -4
  239. package/dist/builtin/workflows/src/extension/workflow-command-surfaces.ts +9 -0
  240. package/dist/builtin/workflows/src/extension/workflow-prompts.ts +17 -17
  241. package/dist/builtin/workflows/src/extension/workflow-run-control-command.ts +48 -23
  242. package/dist/builtin/workflows/src/extension/workflow-schema.ts +15 -2
  243. package/dist/builtin/workflows/src/extension/workflow-tool-control.ts +20 -8
  244. package/dist/builtin/workflows/src/extension/workflow-tool.ts +24 -8
  245. package/dist/builtin/workflows/src/runs/background/status.ts +4 -3
  246. package/dist/builtin/workflows/src/runs/foreground/executor-continuation.ts +13 -3
  247. package/dist/builtin/workflows/src/runs/foreground/executor-direct-helpers.ts +29 -8
  248. package/dist/builtin/workflows/src/runs/foreground/executor-hil.ts +1 -1
  249. package/dist/builtin/workflows/src/runs/foreground/executor-stage-control.ts +8 -0
  250. package/dist/builtin/workflows/src/runs/foreground/executor-stage-factory.ts +4 -3
  251. package/dist/builtin/workflows/src/runs/foreground/stage-control-registry.ts +2 -0
  252. package/dist/builtin/workflows/src/runs/foreground/stage-runner-controller.ts +18 -19
  253. package/dist/builtin/workflows/src/runs/foreground/stage-runner-unresolved-overflow.ts +38 -0
  254. package/dist/builtin/workflows/src/runs/foreground/stage-tool-execution-buffer.ts +47 -0
  255. package/dist/builtin/workflows/src/runs/shared/model-fallback-candidates.ts +1 -1
  256. package/dist/builtin/workflows/src/runs/shared/worktree-git.ts +155 -20
  257. package/dist/builtin/workflows/src/runs/shared/worktree-types.ts +6 -0
  258. package/dist/builtin/workflows/src/runs/shared/worktree.ts +2 -1
  259. package/dist/builtin/workflows/src/shared/authoring-contract-stage.d.ts +2 -2
  260. package/dist/builtin/workflows/src/shared/authoring-contract-stage.ts +2 -2
  261. package/dist/builtin/workflows/src/shared/persistence-restore-helpers.ts +18 -1
  262. package/dist/builtin/workflows/src/shared/persistence-restore.ts +23 -5
  263. package/dist/builtin/workflows/src/shared/persistence-session-entries.ts +4 -0
  264. package/dist/builtin/workflows/src/shared/resume-continuation.ts +2 -0
  265. package/dist/builtin/workflows/src/shared/returned-run-status.ts +116 -0
  266. package/dist/builtin/workflows/src/shared/workflow-failures-decisions.ts +2 -0
  267. package/dist/builtin/workflows/src/tui/graph-view-render-helpers.ts +21 -3
  268. package/dist/builtin/workflows/src/tui/graph-view-state.ts +3 -0
  269. package/dist/builtin/workflows/src/tui/graph-view-types.ts +3 -0
  270. package/dist/builtin/workflows/src/tui/stage-chat-view-archive-history.ts +1 -23
  271. package/dist/builtin/workflows/src/tui/stage-chat-view-footer-status.ts +54 -9
  272. package/dist/builtin/workflows/src/tui/stage-chat-view-pending-tools.ts +9 -0
  273. package/dist/builtin/workflows/src/tui/stage-chat-view-render-settings.ts +27 -0
  274. package/dist/builtin/workflows/src/tui/stage-chat-view-state.ts +5 -6
  275. package/dist/builtin/workflows/src/tui/stage-chat-view.ts +5 -2
  276. package/dist/builtin/workflows/src/tui/status-list.ts +22 -15
  277. package/dist/builtin/workflows/src/tui/workflow-attach-pane.ts +4 -4
  278. package/dist/bun/internal-intercom-broker.d.ts +6 -0
  279. package/dist/bun/internal-intercom-broker.d.ts.map +1 -0
  280. package/dist/bun/internal-intercom-broker.js +39 -0
  281. package/dist/bun/internal-intercom-broker.js.map +1 -0
  282. package/dist/bun/split-loader.d.ts +2 -0
  283. package/dist/bun/split-loader.d.ts.map +1 -0
  284. package/dist/bun/split-loader.js +50 -0
  285. package/dist/bun/split-loader.js.map +1 -0
  286. package/dist/cli/args.d.ts.map +1 -1
  287. package/dist/cli/args.js +2 -2
  288. package/dist/cli/args.js.map +1 -1
  289. package/dist/config.d.ts.map +1 -1
  290. package/dist/config.js +6 -4
  291. package/dist/config.js.map +1 -1
  292. package/dist/core/agent-session-auto-compaction.d.ts +26 -6
  293. package/dist/core/agent-session-auto-compaction.d.ts.map +1 -1
  294. package/dist/core/agent-session-auto-compaction.js +178 -19
  295. package/dist/core/agent-session-auto-compaction.js.map +1 -1
  296. package/dist/core/agent-session-compaction.d.ts.map +1 -1
  297. package/dist/core/agent-session-compaction.js +25 -4
  298. package/dist/core/agent-session-compaction.js.map +1 -1
  299. package/dist/core/agent-session-events.d.ts.map +1 -1
  300. package/dist/core/agent-session-events.js +12 -2
  301. package/dist/core/agent-session-events.js.map +1 -1
  302. package/dist/core/agent-session-extension-bindings.d.ts.map +1 -1
  303. package/dist/core/agent-session-extension-bindings.js +1 -1
  304. package/dist/core/agent-session-extension-bindings.js.map +1 -1
  305. package/dist/core/agent-session-message-queue.d.ts.map +1 -1
  306. package/dist/core/agent-session-message-queue.js +1 -1
  307. package/dist/core/agent-session-message-queue.js.map +1 -1
  308. package/dist/core/agent-session-methods.d.ts +13 -4
  309. package/dist/core/agent-session-methods.d.ts.map +1 -1
  310. package/dist/core/agent-session-methods.js.map +1 -1
  311. package/dist/core/agent-session-models.d.ts +2 -2
  312. package/dist/core/agent-session-models.d.ts.map +1 -1
  313. package/dist/core/agent-session-models.js.map +1 -1
  314. package/dist/core/agent-session-prompt.d.ts.map +1 -1
  315. package/dist/core/agent-session-prompt.js +2 -1
  316. package/dist/core/agent-session-prompt.js.map +1 -1
  317. package/dist/core/agent-session-retry.d.ts +2 -0
  318. package/dist/core/agent-session-retry.d.ts.map +1 -1
  319. package/dist/core/agent-session-retry.js +152 -4
  320. package/dist/core/agent-session-retry.js.map +1 -1
  321. package/dist/core/agent-session-services.d.ts +1 -0
  322. package/dist/core/agent-session-services.d.ts.map +1 -1
  323. package/dist/core/agent-session-services.js +4 -2
  324. package/dist/core/agent-session-services.js.map +1 -1
  325. package/dist/core/agent-session-types.d.ts +15 -1
  326. package/dist/core/agent-session-types.d.ts.map +1 -1
  327. package/dist/core/agent-session-types.js +1 -1
  328. package/dist/core/agent-session-types.js.map +1 -1
  329. package/dist/core/agent-session.d.ts +6 -0
  330. package/dist/core/agent-session.d.ts.map +1 -1
  331. package/dist/core/agent-session.js +6 -0
  332. package/dist/core/agent-session.js.map +1 -1
  333. package/dist/core/anthropic-thinking-guard.d.ts +5 -5
  334. package/dist/core/anthropic-thinking-guard.d.ts.map +1 -1
  335. package/dist/core/anthropic-thinking-guard.js +42 -32
  336. package/dist/core/anthropic-thinking-guard.js.map +1 -1
  337. package/dist/core/atomic-guide-command.d.ts.map +1 -1
  338. package/dist/core/atomic-guide-command.js +15 -15
  339. package/dist/core/atomic-guide-command.js.map +1 -1
  340. package/dist/core/auth-storage.d.ts.map +1 -1
  341. package/dist/core/auth-storage.js +14 -9
  342. package/dist/core/auth-storage.js.map +1 -1
  343. package/dist/core/builtin-packages.d.ts.map +1 -1
  344. package/dist/core/builtin-packages.js +8 -4
  345. package/dist/core/builtin-packages.js.map +1 -1
  346. package/dist/core/compaction/compaction.d.ts +2 -0
  347. package/dist/core/compaction/compaction.d.ts.map +1 -1
  348. package/dist/core/compaction/compaction.js +79 -46
  349. package/dist/core/compaction/compaction.js.map +1 -1
  350. package/dist/core/compaction/context-assistant-turns.d.ts +42 -0
  351. package/dist/core/compaction/context-assistant-turns.d.ts.map +1 -0
  352. package/dist/core/compaction/context-assistant-turns.js +87 -0
  353. package/dist/core/compaction/context-assistant-turns.js.map +1 -0
  354. package/dist/core/compaction/context-compaction-critical.d.ts +15 -0
  355. package/dist/core/compaction/context-compaction-critical.d.ts.map +1 -0
  356. package/dist/core/compaction/context-compaction-critical.js +57 -0
  357. package/dist/core/compaction/context-compaction-critical.js.map +1 -0
  358. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts +18 -0
  359. package/dist/core/compaction/context-compaction-eviction-alternates.d.ts.map +1 -0
  360. package/dist/core/compaction/context-compaction-eviction-alternates.js +186 -0
  361. package/dist/core/compaction/context-compaction-eviction-alternates.js.map +1 -0
  362. package/dist/core/compaction/context-compaction-eviction.d.ts +12 -0
  363. package/dist/core/compaction/context-compaction-eviction.d.ts.map +1 -0
  364. package/dist/core/compaction/context-compaction-eviction.js +222 -0
  365. package/dist/core/compaction/context-compaction-eviction.js.map +1 -0
  366. package/dist/core/compaction/context-compaction-prompt.d.ts.map +1 -1
  367. package/dist/core/compaction/context-compaction-prompt.js +1 -1
  368. package/dist/core/compaction/context-compaction-prompt.js.map +1 -1
  369. package/dist/core/compaction/context-compaction-runner.d.ts +7 -1
  370. package/dist/core/compaction/context-compaction-runner.d.ts.map +1 -1
  371. package/dist/core/compaction/context-compaction-runner.js +113 -21
  372. package/dist/core/compaction/context-compaction-runner.js.map +1 -1
  373. package/dist/core/compaction/context-compaction-types.d.ts +2 -0
  374. package/dist/core/compaction/context-compaction-types.d.ts.map +1 -1
  375. package/dist/core/compaction/context-compaction-types.js.map +1 -1
  376. package/dist/core/compaction/context-deletion-application.d.ts +5 -4
  377. package/dist/core/compaction/context-deletion-application.d.ts.map +1 -1
  378. package/dist/core/compaction/context-deletion-application.js +17 -15
  379. package/dist/core/compaction/context-deletion-application.js.map +1 -1
  380. package/dist/core/compaction/context-deletion-store.d.ts.map +1 -1
  381. package/dist/core/compaction/context-deletion-store.js +1 -1
  382. package/dist/core/compaction/context-deletion-store.js.map +1 -1
  383. package/dist/core/compaction/context-deletion-targets.d.ts +2 -1
  384. package/dist/core/compaction/context-deletion-targets.d.ts.map +1 -1
  385. package/dist/core/compaction/context-deletion-targets.js +36 -31
  386. package/dist/core/compaction/context-deletion-targets.js.map +1 -1
  387. package/dist/core/compaction/context-deletion-tool-helpers.d.ts.map +1 -1
  388. package/dist/core/compaction/context-deletion-tool-helpers.js +116 -43
  389. package/dist/core/compaction/context-deletion-tool-helpers.js.map +1 -1
  390. package/dist/core/compaction/context-transcript-analysis.d.ts +4 -2
  391. package/dist/core/compaction/context-transcript-analysis.d.ts.map +1 -1
  392. package/dist/core/compaction/context-transcript-analysis.js +36 -40
  393. package/dist/core/compaction/context-transcript-analysis.js.map +1 -1
  394. package/dist/core/copilot-anthropic-sse-repair.d.ts +23 -0
  395. package/dist/core/copilot-anthropic-sse-repair.d.ts.map +1 -0
  396. package/dist/core/copilot-anthropic-sse-repair.js +340 -0
  397. package/dist/core/copilot-anthropic-sse-repair.js.map +1 -0
  398. package/dist/core/copilot-gemini-reasoning.d.ts +16 -8
  399. package/dist/core/copilot-gemini-reasoning.d.ts.map +1 -1
  400. package/dist/core/copilot-gemini-reasoning.js +27 -22
  401. package/dist/core/copilot-gemini-reasoning.js.map +1 -1
  402. package/dist/core/copilot-hosts.d.ts +12 -0
  403. package/dist/core/copilot-hosts.d.ts.map +1 -0
  404. package/dist/core/copilot-hosts.js +33 -0
  405. package/dist/core/copilot-hosts.js.map +1 -0
  406. package/dist/core/copilot-model-catalog.d.ts.map +1 -1
  407. package/dist/core/copilot-model-catalog.js +3 -2
  408. package/dist/core/copilot-model-catalog.js.map +1 -1
  409. package/dist/core/copilot-model-synthesis.d.ts.map +1 -1
  410. package/dist/core/copilot-model-synthesis.js +3 -1
  411. package/dist/core/copilot-model-synthesis.js.map +1 -1
  412. package/dist/core/extensions/agent-events.d.ts +1 -1
  413. package/dist/core/extensions/agent-events.d.ts.map +1 -1
  414. package/dist/core/extensions/agent-events.js.map +1 -1
  415. package/dist/core/extensions/loader-core.d.ts.map +1 -1
  416. package/dist/core/extensions/loader-core.js +6 -0
  417. package/dist/core/extensions/loader-core.js.map +1 -1
  418. package/dist/core/extensions/loader-virtual-modules.d.ts +8 -1
  419. package/dist/core/extensions/loader-virtual-modules.d.ts.map +1 -1
  420. package/dist/core/extensions/loader-virtual-modules.js +10 -4
  421. package/dist/core/extensions/loader-virtual-modules.js.map +1 -1
  422. package/dist/core/extensions/provider-types.d.ts +2 -7
  423. package/dist/core/extensions/provider-types.d.ts.map +1 -1
  424. package/dist/core/extensions/provider-types.js.map +1 -1
  425. package/dist/core/footer-data-provider.d.ts +6 -0
  426. package/dist/core/footer-data-provider.d.ts.map +1 -1
  427. package/dist/core/footer-data-provider.js +72 -29
  428. package/dist/core/footer-data-provider.js.map +1 -1
  429. package/dist/core/http-dispatcher.d.ts.map +1 -1
  430. package/dist/core/http-dispatcher.js +5 -5
  431. package/dist/core/http-dispatcher.js.map +1 -1
  432. package/dist/core/messages.d.ts +9 -0
  433. package/dist/core/messages.d.ts.map +1 -1
  434. package/dist/core/messages.js +100 -18
  435. package/dist/core/messages.js.map +1 -1
  436. package/dist/core/model-registry-builtins.d.ts.map +1 -1
  437. package/dist/core/model-registry-builtins.js +5 -0
  438. package/dist/core/model-registry-builtins.js.map +1 -1
  439. package/dist/core/model-registry-custom-loader.d.ts.map +1 -1
  440. package/dist/core/model-registry-custom-loader.js +49 -8
  441. package/dist/core/model-registry-custom-loader.js.map +1 -1
  442. package/dist/core/model-registry-dynamic.d.ts.map +1 -1
  443. package/dist/core/model-registry-dynamic.js +11 -5
  444. package/dist/core/model-registry-dynamic.js.map +1 -1
  445. package/dist/core/model-registry-loader.d.ts.map +1 -1
  446. package/dist/core/model-registry-loader.js +8 -0
  447. package/dist/core/model-registry-loader.js.map +1 -1
  448. package/dist/core/model-registry-schemas.d.ts +93 -8
  449. package/dist/core/model-registry-schemas.d.ts.map +1 -1
  450. package/dist/core/model-registry-schemas.js +24 -12
  451. package/dist/core/model-registry-schemas.js.map +1 -1
  452. package/dist/core/model-registry-types.d.ts +7 -6
  453. package/dist/core/model-registry-types.d.ts.map +1 -1
  454. package/dist/core/model-registry-types.js.map +1 -1
  455. package/dist/core/model-registry.d.ts +5 -0
  456. package/dist/core/model-registry.d.ts.map +1 -1
  457. package/dist/core/model-registry.js +23 -0
  458. package/dist/core/model-registry.js.map +1 -1
  459. package/dist/core/model-resolver-cli.d.ts.map +1 -1
  460. package/dist/core/model-resolver-cli.js +33 -5
  461. package/dist/core/model-resolver-cli.js.map +1 -1
  462. package/dist/core/model-resolver-initial.d.ts +6 -1
  463. package/dist/core/model-resolver-initial.d.ts.map +1 -1
  464. package/dist/core/model-resolver-initial.js +12 -7
  465. package/dist/core/model-resolver-initial.js.map +1 -1
  466. package/dist/core/model-resolver-scope.d.ts +9 -0
  467. package/dist/core/model-resolver-scope.d.ts.map +1 -1
  468. package/dist/core/model-resolver-scope.js +12 -4
  469. package/dist/core/model-resolver-scope.js.map +1 -1
  470. package/dist/core/model-resolver.d.ts +4 -3
  471. package/dist/core/model-resolver.d.ts.map +1 -1
  472. package/dist/core/model-resolver.js +2 -2
  473. package/dist/core/model-resolver.js.map +1 -1
  474. package/dist/core/openai-responses-payload-sanitizer.d.ts +7 -0
  475. package/dist/core/openai-responses-payload-sanitizer.d.ts.map +1 -0
  476. package/dist/core/openai-responses-payload-sanitizer.js +74 -0
  477. package/dist/core/openai-responses-payload-sanitizer.js.map +1 -0
  478. package/dist/core/package-manager-auto-resources.d.ts +2 -2
  479. package/dist/core/package-manager-auto-resources.d.ts.map +1 -1
  480. package/dist/core/package-manager-auto-resources.js +32 -52
  481. package/dist/core/package-manager-auto-resources.js.map +1 -1
  482. package/dist/core/package-manager-resolver.d.ts.map +1 -1
  483. package/dist/core/package-manager-resolver.js +23 -14
  484. package/dist/core/package-manager-resolver.js.map +1 -1
  485. package/dist/core/package-manager-resource-collector.d.ts +3 -3
  486. package/dist/core/package-manager-resource-collector.d.ts.map +1 -1
  487. package/dist/core/package-manager-resource-collector.js +76 -73
  488. package/dist/core/package-manager-resource-collector.js.map +1 -1
  489. package/dist/core/package-manager-resource-files.d.ts +9 -8
  490. package/dist/core/package-manager-resource-files.d.ts.map +1 -1
  491. package/dist/core/package-manager-resource-files.js +92 -81
  492. package/dist/core/package-manager-resource-files.js.map +1 -1
  493. package/dist/core/prompt-templates-async.d.ts +3 -0
  494. package/dist/core/prompt-templates-async.d.ts.map +1 -0
  495. package/dist/core/prompt-templates-async.js +118 -0
  496. package/dist/core/prompt-templates-async.js.map +1 -0
  497. package/dist/core/provider-context-usage.d.ts +11 -0
  498. package/dist/core/provider-context-usage.d.ts.map +1 -0
  499. package/dist/core/provider-context-usage.js +58 -0
  500. package/dist/core/provider-context-usage.js.map +1 -0
  501. package/dist/core/resource-loader-assets.d.ts +3 -3
  502. package/dist/core/resource-loader-assets.d.ts.map +1 -1
  503. package/dist/core/resource-loader-assets.js +66 -83
  504. package/dist/core/resource-loader-assets.js.map +1 -1
  505. package/dist/core/resource-loader-context-files.d.ts +1 -0
  506. package/dist/core/resource-loader-context-files.d.ts.map +1 -1
  507. package/dist/core/resource-loader-context-files.js +13 -10
  508. package/dist/core/resource-loader-context-files.js.map +1 -1
  509. package/dist/core/resource-loader-core.d.ts +1 -1
  510. package/dist/core/resource-loader-core.d.ts.map +1 -1
  511. package/dist/core/resource-loader-core.js +5 -5
  512. package/dist/core/resource-loader-core.js.map +1 -1
  513. package/dist/core/resource-loader-extensions.d.ts.map +1 -1
  514. package/dist/core/resource-loader-extensions.js +4 -0
  515. package/dist/core/resource-loader-extensions.js.map +1 -1
  516. package/dist/core/resource-loader-reload.d.ts.map +1 -1
  517. package/dist/core/resource-loader-reload.js +54 -7
  518. package/dist/core/resource-loader-reload.js.map +1 -1
  519. package/dist/core/resource-loader-types.d.ts +7 -1
  520. package/dist/core/resource-loader-types.d.ts.map +1 -1
  521. package/dist/core/resource-loader-types.js.map +1 -1
  522. package/dist/core/sdk-types.d.ts +2 -0
  523. package/dist/core/sdk-types.d.ts.map +1 -1
  524. package/dist/core/sdk-types.js.map +1 -1
  525. package/dist/core/sdk.d.ts.map +1 -1
  526. package/dist/core/sdk.js +9 -6
  527. package/dist/core/sdk.js.map +1 -1
  528. package/dist/core/session-entry-normalization.d.ts +7 -0
  529. package/dist/core/session-entry-normalization.d.ts.map +1 -0
  530. package/dist/core/session-entry-normalization.js +14 -0
  531. package/dist/core/session-entry-normalization.js.map +1 -0
  532. package/dist/core/session-manager-core.d.ts.map +1 -1
  533. package/dist/core/session-manager-core.js +1 -0
  534. package/dist/core/session-manager-core.js.map +1 -1
  535. package/dist/core/session-manager-history.d.ts +2 -2
  536. package/dist/core/session-manager-history.d.ts.map +1 -1
  537. package/dist/core/session-manager-history.js +127 -108
  538. package/dist/core/session-manager-history.js.map +1 -1
  539. package/dist/core/settings-manager-basic-accessors.d.ts +3 -2
  540. package/dist/core/settings-manager-basic-accessors.d.ts.map +1 -1
  541. package/dist/core/settings-manager-basic-accessors.js +6 -0
  542. package/dist/core/settings-manager-basic-accessors.js.map +1 -1
  543. package/dist/core/settings-manager-core.d.ts.map +1 -1
  544. package/dist/core/settings-manager-core.js +3 -2
  545. package/dist/core/settings-manager-core.js.map +1 -1
  546. package/dist/core/settings-storage.d.ts.map +1 -1
  547. package/dist/core/settings-storage.js +2 -1
  548. package/dist/core/settings-storage.js.map +1 -1
  549. package/dist/core/settings-types.d.ts +2 -1
  550. package/dist/core/settings-types.d.ts.map +1 -1
  551. package/dist/core/settings-types.js.map +1 -1
  552. package/dist/core/skills-async.d.ts +3 -0
  553. package/dist/core/skills-async.d.ts.map +1 -0
  554. package/dist/core/skills-async.js +269 -0
  555. package/dist/core/skills-async.js.map +1 -0
  556. package/dist/core/slash-commands.d.ts +2 -0
  557. package/dist/core/slash-commands.d.ts.map +1 -1
  558. package/dist/core/slash-commands.js +141 -0
  559. package/dist/core/slash-commands.js.map +1 -1
  560. package/dist/core/tools/bash.d.ts.map +1 -1
  561. package/dist/core/tools/bash.js +11 -8
  562. package/dist/core/tools/bash.js.map +1 -1
  563. package/dist/core/trust-manager.d.ts +9 -0
  564. package/dist/core/trust-manager.d.ts.map +1 -1
  565. package/dist/core/trust-manager.js +44 -2
  566. package/dist/core/trust-manager.js.map +1 -1
  567. package/dist/index-extensions.d.ts +1 -1
  568. package/dist/index-extensions.d.ts.map +1 -1
  569. package/dist/index-extensions.js.map +1 -1
  570. package/dist/index.d.ts +2 -1
  571. package/dist/index.d.ts.map +1 -1
  572. package/dist/index.js +2 -1
  573. package/dist/index.js.map +1 -1
  574. package/dist/main-deferred-startup.d.ts +33 -0
  575. package/dist/main-deferred-startup.d.ts.map +1 -0
  576. package/dist/main-deferred-startup.js +44 -0
  577. package/dist/main-deferred-startup.js.map +1 -0
  578. package/dist/main-early-input.d.ts +41 -0
  579. package/dist/main-early-input.d.ts.map +1 -0
  580. package/dist/main-early-input.js +154 -0
  581. package/dist/main-early-input.js.map +1 -0
  582. package/dist/main-session.d.ts.map +1 -1
  583. package/dist/main-session.js +1 -0
  584. package/dist/main-session.js.map +1 -1
  585. package/dist/main.d.ts +0 -6
  586. package/dist/main.d.ts.map +1 -1
  587. package/dist/main.js +47 -39
  588. package/dist/main.js.map +1 -1
  589. package/dist/modes/interactive/components/chat-session-host-actions.d.ts.map +1 -1
  590. package/dist/modes/interactive/components/chat-session-host-actions.js +0 -1
  591. package/dist/modes/interactive/components/chat-session-host-actions.js.map +1 -1
  592. package/dist/modes/interactive/components/chat-session-host-events.d.ts.map +1 -1
  593. package/dist/modes/interactive/components/chat-session-host-events.js +15 -0
  594. package/dist/modes/interactive/components/chat-session-host-events.js.map +1 -1
  595. package/dist/modes/interactive/components/settings-selector-options.d.ts.map +1 -1
  596. package/dist/modes/interactive/components/settings-selector-options.js +3 -1
  597. package/dist/modes/interactive/components/settings-selector-options.js.map +1 -1
  598. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  599. package/dist/modes/interactive/components/thinking-selector.js +2 -1
  600. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  601. package/dist/modes/interactive/interactive-agent-events.d.ts.map +1 -1
  602. package/dist/modes/interactive/interactive-agent-events.js +37 -2
  603. package/dist/modes/interactive/interactive-agent-events.js.map +1 -1
  604. package/dist/modes/interactive/interactive-auth-login.d.ts.map +1 -1
  605. package/dist/modes/interactive/interactive-auth-login.js +0 -1
  606. package/dist/modes/interactive/interactive-auth-login.js.map +1 -1
  607. package/dist/modes/interactive/interactive-autocomplete.d.ts.map +1 -1
  608. package/dist/modes/interactive/interactive-autocomplete.js +21 -9
  609. package/dist/modes/interactive/interactive-autocomplete.js.map +1 -1
  610. package/dist/modes/interactive/interactive-child-ordering.d.ts +7 -0
  611. package/dist/modes/interactive/interactive-child-ordering.d.ts.map +1 -0
  612. package/dist/modes/interactive/interactive-child-ordering.js +26 -0
  613. package/dist/modes/interactive/interactive-child-ordering.js.map +1 -0
  614. package/dist/modes/interactive/interactive-deferred-startup.d.ts +8 -1
  615. package/dist/modes/interactive/interactive-deferred-startup.d.ts.map +1 -1
  616. package/dist/modes/interactive/interactive-deferred-startup.js +86 -26
  617. package/dist/modes/interactive/interactive-deferred-startup.js.map +1 -1
  618. package/dist/modes/interactive/interactive-editor-actions.d.ts.map +1 -1
  619. package/dist/modes/interactive/interactive-editor-actions.js +13 -13
  620. package/dist/modes/interactive/interactive-editor-actions.js.map +1 -1
  621. package/dist/modes/interactive/interactive-extension-runtime.d.ts.map +1 -1
  622. package/dist/modes/interactive/interactive-extension-runtime.js +16 -0
  623. package/dist/modes/interactive/interactive-extension-runtime.js.map +1 -1
  624. package/dist/modes/interactive/interactive-hotkeys-debug.d.ts.map +1 -1
  625. package/dist/modes/interactive/interactive-hotkeys-debug.js +4 -3
  626. package/dist/modes/interactive/interactive-hotkeys-debug.js.map +1 -1
  627. package/dist/modes/interactive/interactive-input-handling.d.ts.map +1 -1
  628. package/dist/modes/interactive/interactive-input-handling.js +360 -230
  629. package/dist/modes/interactive/interactive-input-handling.js.map +1 -1
  630. package/dist/modes/interactive/interactive-mode-base.d.ts +19 -4
  631. package/dist/modes/interactive/interactive-mode-base.d.ts.map +1 -1
  632. package/dist/modes/interactive/interactive-mode-base.js +46 -4
  633. package/dist/modes/interactive/interactive-mode-base.js.map +1 -1
  634. package/dist/modes/interactive/interactive-mode-deps.d.ts +3 -3
  635. package/dist/modes/interactive/interactive-mode-deps.d.ts.map +1 -1
  636. package/dist/modes/interactive/interactive-mode-deps.js +3 -3
  637. package/dist/modes/interactive/interactive-mode-deps.js.map +1 -1
  638. package/dist/modes/interactive/interactive-mode-surface.d.ts +27 -17
  639. package/dist/modes/interactive/interactive-mode-surface.d.ts.map +1 -1
  640. package/dist/modes/interactive/interactive-mode-surface.js.map +1 -1
  641. package/dist/modes/interactive/interactive-mode-types.d.ts +8 -1
  642. package/dist/modes/interactive/interactive-mode-types.d.ts.map +1 -1
  643. package/dist/modes/interactive/interactive-mode-types.js.map +1 -1
  644. package/dist/modes/interactive/interactive-model-routing.d.ts.map +1 -1
  645. package/dist/modes/interactive/interactive-model-routing.js +14 -10
  646. package/dist/modes/interactive/interactive-model-routing.js.map +1 -1
  647. package/dist/modes/interactive/interactive-onboarding.d.ts +0 -9
  648. package/dist/modes/interactive/interactive-onboarding.d.ts.map +1 -1
  649. package/dist/modes/interactive/interactive-onboarding.js +24 -201
  650. package/dist/modes/interactive/interactive-onboarding.js.map +1 -1
  651. package/dist/modes/interactive/interactive-process-lifecycle.d.ts.map +1 -1
  652. package/dist/modes/interactive/interactive-process-lifecycle.js +43 -9
  653. package/dist/modes/interactive/interactive-process-lifecycle.js.map +1 -1
  654. package/dist/modes/interactive/interactive-render-chat.d.ts.map +1 -1
  655. package/dist/modes/interactive/interactive-render-chat.js +93 -10
  656. package/dist/modes/interactive/interactive-render-chat.js.map +1 -1
  657. package/dist/modes/interactive/interactive-resource-disclosure.d.ts.map +1 -1
  658. package/dist/modes/interactive/interactive-resource-disclosure.js +3 -2
  659. package/dist/modes/interactive/interactive-resource-disclosure.js.map +1 -1
  660. package/dist/modes/interactive/interactive-resource-rendering.d.ts.map +1 -1
  661. package/dist/modes/interactive/interactive-resource-rendering.js +10 -8
  662. package/dist/modes/interactive/interactive-resource-rendering.js.map +1 -1
  663. package/dist/modes/interactive/interactive-session-routing.d.ts.map +1 -1
  664. package/dist/modes/interactive/interactive-session-routing.js +9 -5
  665. package/dist/modes/interactive/interactive-session-routing.js.map +1 -1
  666. package/dist/modes/interactive/interactive-session-runtime.d.ts.map +1 -1
  667. package/dist/modes/interactive/interactive-session-runtime.js +1 -1
  668. package/dist/modes/interactive/interactive-session-runtime.js.map +1 -1
  669. package/dist/modes/interactive/interactive-slash-commands.d.ts.map +1 -1
  670. package/dist/modes/interactive/interactive-slash-commands.js +1 -1
  671. package/dist/modes/interactive/interactive-slash-commands.js.map +1 -1
  672. package/dist/modes/interactive/interactive-startup.d.ts.map +1 -1
  673. package/dist/modes/interactive/interactive-startup.js +102 -98
  674. package/dist/modes/interactive/interactive-startup.js.map +1 -1
  675. package/dist/modes/interactive/theme/global-theme.d.ts.map +1 -1
  676. package/dist/modes/interactive/theme/global-theme.js +26 -2
  677. package/dist/modes/interactive/theme/global-theme.js.map +1 -1
  678. package/dist/modes/interactive/theme/theme-class.d.ts +1 -1
  679. package/dist/modes/interactive/theme/theme-class.d.ts.map +1 -1
  680. package/dist/modes/interactive/theme/theme-class.js +2 -0
  681. package/dist/modes/interactive/theme/theme-class.js.map +1 -1
  682. package/dist/modes/interactive/theme/theme-loading.d.ts +1 -0
  683. package/dist/modes/interactive/theme/theme-loading.d.ts.map +1 -1
  684. package/dist/modes/interactive/theme/theme-loading.js +3 -0
  685. package/dist/modes/interactive/theme/theme-loading.js.map +1 -1
  686. package/dist/modes/interactive/theme/theme.d.ts +1 -1
  687. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  688. package/dist/modes/interactive/theme/theme.js +1 -1
  689. package/dist/modes/interactive/theme/theme.js.map +1 -1
  690. package/dist/utils/child-process.d.ts +8 -1
  691. package/dist/utils/child-process.d.ts.map +1 -1
  692. package/dist/utils/child-process.js +39 -6
  693. package/dist/utils/child-process.js.map +1 -1
  694. package/dist/utils/clipboard-image.d.ts.map +1 -1
  695. package/dist/utils/clipboard-image.js +3 -0
  696. package/dist/utils/clipboard-image.js.map +1 -1
  697. package/dist/utils/event-loop.d.ts +7 -0
  698. package/dist/utils/event-loop.d.ts.map +1 -0
  699. package/dist/utils/event-loop.js +14 -0
  700. package/dist/utils/event-loop.js.map +1 -0
  701. package/dist/utils/fs-watch.d.ts +24 -1
  702. package/dist/utils/fs-watch.d.ts.map +1 -1
  703. package/dist/utils/fs-watch.js +60 -5
  704. package/dist/utils/fs-watch.js.map +1 -1
  705. package/dist/utils/json.d.ts +4 -0
  706. package/dist/utils/json.d.ts.map +1 -1
  707. package/dist/utils/json.js +8 -0
  708. package/dist/utils/json.js.map +1 -1
  709. package/dist/utils/module-require.d.ts +11 -0
  710. package/dist/utils/module-require.d.ts.map +1 -1
  711. package/dist/utils/module-require.js +14 -1
  712. package/dist/utils/module-require.js.map +1 -1
  713. package/dist/utils/split-launcher.d.ts +38 -0
  714. package/dist/utils/split-launcher.d.ts.map +1 -0
  715. package/dist/utils/split-launcher.js +63 -0
  716. package/dist/utils/split-launcher.js.map +1 -0
  717. package/docs/changelog.mdx +19 -0
  718. package/docs/compaction.md +100 -64
  719. package/docs/custom-provider.md +18 -5
  720. package/docs/development.md +4 -0
  721. package/docs/extensions.md +11 -2
  722. package/docs/json.md +3 -1
  723. package/docs/keybindings.md +2 -2
  724. package/docs/models.md +69 -10
  725. package/docs/providers.md +3 -2
  726. package/docs/quickstart.md +15 -11
  727. package/docs/rpc.md +5 -3
  728. package/docs/sdk.md +1 -1
  729. package/docs/settings.md +33 -3
  730. package/docs/subagents.md +40 -5
  731. package/docs/terminal-setup.md +4 -0
  732. package/docs/tools.md +1 -1
  733. package/docs/usage.md +8 -6
  734. package/docs/windows.md +4 -0
  735. package/docs/workflows.md +52 -34
  736. package/examples/extensions/preset.ts +2 -2
  737. package/examples/extensions/subagent/README.md +2 -2
  738. package/examples/extensions/subagent/index.ts +1 -2
  739. package/examples/extensions/subagent/schemas.ts +4 -1
  740. package/examples/sdk/12-full-control.ts +1 -1
  741. package/npm-shrinkwrap.json +538 -51
  742. package/package.json +10 -9
  743. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-behavior.ts +0 -75
  744. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-component.ts +0 -202
  745. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-edit.ts +0 -97
  746. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-editor.ts +0 -160
  747. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-frame.ts +0 -72
  748. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-modes.ts +0 -161
  749. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-render-selectors.ts +0 -203
  750. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-selectors.ts +0 -234
  751. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-state.ts +0 -103
  752. package/dist/builtin/subagents/src/runs/foreground/chain-clarify-types.ts +0 -29
  753. package/dist/builtin/subagents/src/runs/foreground/chain-clarify.ts +0 -9
  754. package/dist/builtin/subagents/src/runs/foreground/chain-execution-clarify.ts +0 -117
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: impeccable
3
3
  description: Use when the user wants to design, redesign, shape, critique, audit, polish, clarify, distill, harden, optimize, adapt, animate, colorize, extract, or otherwise improve a frontend interface. Covers websites, landing pages, dashboards, product UI, app shells, components, forms, settings, onboarding, and empty states. Handles UX review, visual hierarchy, information architecture, cognitive load, accessibility, performance, responsive behavior, theming, anti-patterns, typography, fonts, spacing, layout, alignment, color, motion, micro-interactions, UX copy, error states, edge cases, i18n, and reusable design systems or tokens. Also use for bland designs that need to become bolder or more delightful, loud designs that should become quieter, live browser iteration on UI elements, or ambitious visual effects that should feel technically extraordinary. Not for backend-only or non-UI tasks.
4
- version: 3.8.0
4
+ version: 3.9.1
5
5
  ---
6
6
 
7
7
  Designs and iterates production-grade frontend interfaces. Real working code, committed design choices, exceptional craft.
@@ -10,10 +10,12 @@ Designs and iterates production-grade frontend interfaces. Real working code, co
10
10
 
11
11
  You MUST do these steps before proceeding:
12
12
 
13
- 1. If the user invoked a sub-command (`craft`, `shape`, `audit`, `polish`, ...), you MUST read `reference/<command>.md` next. Non-optional. The reference defines the command's flow; without it you will skip steps the user expects.
14
- 2. Familiarize yourself with any existing design system, conventions, and components in the code. Read at least one project file (CSS / tokens / theme / a representative component or page). **Required even when you've loaded a sub-command reference in step 2.** Don't reinvent the wheel; use what's there when it works, branch out when the UX wins.
15
- 3. Read the matching register reference. **This is non-optional; skipping it produces generic output.** If the project is marketing, a landing page, a campaign, long-form content, or a portfolio (design IS the product), read `reference/brand.md`. If it is app UI, admin, a dashboard, or a tool (design SERVES the product), read `reference/product.md`. Pick by first match: (1) task cue ("landing page" vs "dashboard"); (2) surface in focus (the page, file, or route being worked on); (3) `register` field in PRODUCT.md.
16
- 4. **If the project is brand-new (no existing CSS tokens / theme / committed brand colors found in step 3)**, run `node .agents/skills/impeccable/scripts/palette.mjs` to receive a brand seed color and composition guidance. This is the anchor for your primary brand color. Compose the rest of the palette (bg, surface, ink, accent, muted) around it per the script's instructions. Use OKLCH throughout. **Skip this step only if step 3 found committed brand colors in existing tokens; in that case identity-preservation wins.**
13
+ 1. Run `node .agents/skills/impeccable/scripts/context.mjs` once per session; if the runtime shows this skill's loaded base directory, run `node <skill-base-dir>/scripts/context.mjs` instead. Keep cwd/workdir at the user's project, not the skill directory. If the request names or implies a file, route, or app inside a monorepo, infer the concrete path and append `--target <path>` to the same command. If you've already seen its output in this conversation, do not re-run it. The script either prints the project's PRODUCT.md (and DESIGN.md when present) as a markdown block, or tells you it's missing. Follow whatever it prints. **If it reports `NO_PRODUCT_MD`:** divert into `reference/init.md` first when the user invoked `init`, `teach`, `craft`, or `shape`, or when their wording clearly maps to one of those from-scratch build flows (for example: "build/create/make a landing page", "design a new app", or "shape a feature"). Captured product context is the point of those flows. For any other command, a scoped evaluate / refine / enhance / fix / iterate request against existing code, do **not** divert into init. The existing code is the context: proceed with the requested command, infer the register from the surface in focus (step 4), and offer `$impeccable init` once as a suggestion the user can take later. A missing PRODUCT.md must never block a scoped request. If the output ends with an `UPDATE_AVAILABLE` directive, follow it (ask the user once about updating, then continue). It never blocks the current task.
14
+ 2. If the user invoked a sub-command (`craft`, `shape`, `audit`, `polish`, ...), you MUST read the command's reference next: **`reference/<command>.md`, or the native variant from the Commands table** (e.g. `reference/audit.native.md`) **when the project platform is native** (`ios` / `android` / `adaptive`, per the `context.mjs` directive). One file, not both. Non-optional. The reference defines the command's flow; without it you will skip steps the user expects.
15
+ 3. Familiarize yourself with any existing design system, conventions, and components in the code. Read at least one project file (CSS / tokens / theme / a representative component or page). **Required even when you've loaded a sub-command reference in step 2.** Don't reinvent the wheel; use what's there when it works, branch out when the UX wins.
16
+ 4. Read the matching register reference. **This is non-optional; skipping it produces generic output.** If the project is marketing, a landing page, a campaign, long-form content, or a portfolio (design IS the product), read `reference/brand.md`. If it is app UI, admin, a dashboard, or a tool (design SERVES the product), read `reference/product.md`. Pick by first match: (1) task cue ("landing page" vs "dashboard"); (2) surface in focus (the page, file, or route being worked on); (3) `register` field in PRODUCT.md.
17
+ 5. **If PRODUCT.md's `## Platform` is `ios` or `android`**, also read `reference/<platform>.md` (HIG / Material 3 conventions). `adaptive` (cross-platform, ships both) reads both files. `web`, absent, or unrecognized: nothing extra to read. `context.mjs` prints the directive when one applies.
18
+ 6. **If the project is brand-new (no existing CSS tokens / theme / committed brand colors found in step 3)**, run `node .agents/skills/impeccable/scripts/palette.mjs` to receive a brand seed color and composition guidance. This is the anchor for your primary brand color. Compose the rest of the palette (bg, surface, ink, accent, muted) around it per the script's instructions. Use OKLCH throughout. **Skip this step only if step 3 found committed brand colors in existing tokens; in that case identity-preservation wins.**
17
19
 
18
20
  ## Design guidance
19
21
 
@@ -92,6 +94,7 @@ Match-and-refuse. If you're about to write any of these, rewrite the element wit
92
94
  - **`border-radius: 32px+` on cards / sections / inputs.** You over-round. Cards top out at 12–16px; full-pill is fine for tags/buttons. Picking 24/28/32/40px on a card is the codex tell; no brand wants "insanely rounded".
93
95
  - **Hand-drawn / sketchy SVG illustrations.** Class names like `loose-sketch`, `*-sketch`, `doodle`, `wavy`; `feTurbulence` / `feDisplacementMap` "paper grain" filters; 5-to-30 path crude scenes meant to depict a tangible subject (an otter, a table-and-fork, an album cover). All of these read as amateurish, not whimsical. If you can't render the scene with real assets, ship no illustration. Don't attempt sketchy SVG as a fallback.
94
96
  - **`repeating-linear-gradient(...)` stripe backgrounds.** Diagonal stripes in `body:before` or section backgrounds are pure codex decoration. Don't.
97
+ - **Decorative grid backgrounds.** Two-axis CSS grid overlays built from `linear-gradient(... 1px, transparent 1px)` plus `background-size` are a Codex tell unless the surface is an actual canvas, map, blueprint, or measurement tool. Use product structure, real artifacts, or a plain surface instead.
95
98
  - **Meta-criticism copy.** Naming a concept then layering an ironic modifier, or staging a strawman to "correct" it. Make the specific claim instead.
96
99
 
97
100
  ### The AI slop test
@@ -113,7 +116,7 @@ If someone could look at this interface and say "AI made that" without doubt, it
113
116
  | `document` | Build | Generate DESIGN.md from existing project code | [reference/document.md](reference/document.md) |
114
117
  | `extract [target]` | Build | Pull reusable tokens and components into design system | [reference/extract.md](reference/extract.md) |
115
118
  | `critique [target]` | Evaluate | UX design review with heuristic scoring | [reference/critique.md](reference/critique.md) |
116
- | `audit [target]` | Evaluate | Technical quality checks (a11y, perf, responsive) | [reference/audit.md](reference/audit.md) |
119
+ | `audit [target]` | Evaluate | Technical quality checks (a11y, perf, responsive) | [reference/audit.md](reference/audit.md) · native: [reference/audit.native.md](reference/audit.native.md) |
117
120
  | `polish [target]` | Refine | Final quality pass before shipping | [reference/polish.md](reference/polish.md) |
118
121
  | `bolder [target]` | Refine | Amplify safe or bland designs | [reference/bolder.md](reference/bolder.md) |
119
122
  | `quieter [target]` | Refine | Tone down aggressive or overstimulating designs | [reference/quieter.md](reference/quieter.md) |
@@ -127,7 +130,7 @@ If someone could look at this interface and say "AI made that" without doubt, it
127
130
  | `delight [target]` | Enhance | Add personality and memorable touches | [reference/delight.md](reference/delight.md) |
128
131
  | `overdrive [target]` | Enhance | Push past conventional limits | [reference/overdrive.md](reference/overdrive.md) |
129
132
  | `clarify [target]` | Fix | Improve UX copy, labels, and error messages | [reference/clarify.md](reference/clarify.md) |
130
- | `adapt [target]` | Fix | Adapt for different devices and screen sizes | [reference/adapt.md](reference/adapt.md) |
133
+ | `adapt [target]` | Fix | Adapt for different devices and screen sizes | [reference/adapt.md](reference/adapt.md) · native: [reference/adapt.native.md](reference/adapt.native.md) |
131
134
  | `optimize [target]` | Fix | Diagnose and fix UI performance | [reference/optimize.md](reference/optimize.md) |
132
135
  | `live` | Iterate | Visual variant mode: pick elements in the browser, generate alternatives | [reference/live.md](reference/live.md) |
133
136
 
@@ -135,26 +138,26 @@ Plus three management commands: `pin <command>`, `unpin <command>`, and `hooks <
135
138
 
136
139
  ### Routing rules
137
140
 
138
- 1. **No argument**: the user is asking "what should I do?" Make the menu context-aware instead of static. Setup has already run `context.mjs`; if that reported `NO_PRODUCT_MD` you are already in init (setup), so finish that and skip this. Otherwise run `node .agents/skills/impeccable/scripts/context-signals.mjs` once and read its JSON, then lead with the **2-3 highest-value next commands**, each with a one-line reason pulled from the signals, followed by the full menu (the table above, grouped by category). **Never auto-run a command; the recommendation is a suggestion the user confirms.**
141
+ 1. **No argument**: the user is asking "what should I do?" Make the menu context-aware instead of static. Setup has already run `context.mjs`; if that reported `NO_PRODUCT_MD` the project has no captured context yet, so lead the menu with `$impeccable init` as the top recommendation (one line on why) and still show the rest below; don't silently jump into init. Otherwise run `node .agents/skills/impeccable/scripts/context-signals.mjs` once and read its JSON, then lead with the **2-3 highest-value next commands**, each with a one-line reason pulled from the signals, followed by the full menu (the table above, grouped by category). **Never auto-run a command; the recommendation is a suggestion the user confirms.**
139
142
 
140
143
  Reason over the signals; there is no score to obey:
141
144
  - `setup.hasDesign` false while `setup.hasCode` true → `document` (capture the visual system).
142
145
  - `critique.latest` is `null` → the project has never been critiqued; for a set-up project with a real surface, offering `$impeccable critique <surface>` is a strong default.
143
146
  - `critique.latest` with a low `score` or non-zero `p0` / `p1` → `polish` (it reads that snapshot as its backlog), or re-run `critique` if the snapshot looks stale.
144
147
  - `git.changedFiles` pointing at one surface → scope `audit` or `polish` to those files specifically, naming them.
145
- - `devServer.running` true → `live` is available for in-browser iteration; if false, don't lead with `live`.
148
+ - `devServer.running` true → `live` is available for in-browser iteration; if false, don't lead with `live`. **`live` and the bundled `detect.mjs` are web-only.** If `setup.platform` is `ios`, `android`, or `adaptive`, don't lead with either; the browser overlay and the HTML rule engine don't apply to native app code.
146
149
  - Otherwise group by intent exactly as init's "Recommend starting points" step does (build new / improve what's there / iterate visually), tailored to `setup.register`.
147
150
 
148
- **If `scan.targets` is non-empty, run `node .agents/skills/impeccable/scripts/detect.mjs --json <scan.targets joined by spaces>` once** (the bundled detector over local files: no network, no npx). `scan.via` tells you what they are: `git-changes` (the markup/style files in your dirty tree, the most relevant set), `source-dir` (e.g. `src`, `app`), `html`, or `root`. Fold the hits into your picks: many quality / contrast hits → `audit` or `polish`; a specific slop family → the matching command (gradient text or eyebrows → `quieter` / `typeset`, flat or gray palette → `colorize`, and so on). It's a real, current signal that beats guessing. If detect errors or the tree is large and slow, skip it and recommend the user run `audit` themselves; never block the suggestion on it.
151
+ **If `scan.targets` is non-empty and `setup.platform` is not `ios`/`android`/`adaptive`, run `node .agents/skills/impeccable/scripts/detect.mjs --json <scan.targets joined by spaces>` once** (the bundled detector over local files: no network, no npx; it reads HTML/CSS, so skip it for native projects). `scan.via` tells you what they are: `git-changes` (the markup/style files in your dirty tree, the most relevant set), `source-dir` (e.g. `src`, `app`), `html`, or `root`. Fold the hits into your picks: many quality / contrast hits → `audit` or `polish`; a specific slop family → the matching command (gradient text or eyebrows → `quieter` / `typeset`, flat or gray palette → `colorize`, and so on). It's a real, current signal that beats guessing. If detect errors or the tree is large and slow, skip it and recommend the user run `audit` themselves; never block the suggestion on it.
149
152
 
150
153
  Keep it to 2-3 pointed picks with the exact command to type. The menu stays the fallback; the recommendation is the lede.
151
- 2. **First word matches a command** (table above OR `pin` / `unpin` / `hooks`): load its reference file and follow its instructions. Everything after the command name is the target.
152
- 3. **First word doesn't match, but the intent clearly maps to one command** (e.g. "fix the spacing" → `layout`, "rewrite this error message" → `clarify`, "the colors feel flat" → `colorize`): load that command's reference and proceed as if invoked. If two commands could fit, ask once which.
154
+ 2. **First word matches a command** (table above OR `pin` / `unpin` / `hooks`): load its reference file (on native platforms, the table's native variant; Setup step 2's one-file rule) and follow its instructions. Everything after the command name is the target.
155
+ 3. **First word doesn't match, but the intent clearly maps to one command** (e.g. "fix the spacing" → `layout`, "rewrite this error message" → `clarify`, "the colors feel flat" → `colorize`): load that command's reference (same native-variant rule) and proceed as if invoked. If two commands could fit, ask once which.
153
156
  4. **No clear command match**: general design invocation. Apply the setup steps, the General rules, and the loaded register reference, using the full argument as context.
154
157
 
155
158
  Setup (context gathering, register) is already loaded by then; sub-commands don't re-invoke `$impeccable`.
156
159
 
157
- If the first word is `craft`, setup still runs first, but [reference/craft.md](reference/craft.md) owns the rest of the flow. If setup invokes `init` as a blocker, finish init, refresh context, then resume the original command and target.
160
+ If the first word is `craft` or `shape`, or routing rule 3 clearly maps the user's intent to either command, setup still runs first, but the matching reference ([reference/craft.md](reference/craft.md) or [reference/shape.md](reference/shape.md)) owns the rest of the flow. Both are from-scratch build flows: if setup invokes `init` as a blocker, finish init, refresh context, then resume the original command and target.
158
161
 
159
162
  `teach` is a deprecated alias for `init`: if the user types it, load [reference/init.md](reference/init.md) and proceed as if they ran `init`.
160
163
 
@@ -2,6 +2,7 @@
2
2
 
3
3
  Adapt an existing design to a different context: another screen size, device, platform, or use case. The trap is treating adaptation as scaling. The job is rethinking the experience for the new context.
4
4
 
5
+ **Web only** (mobile web included). Native platforms (`ios` / `android` / `adaptive`) route to [adapt.native.md](adapt.native.md) instead; if the project is native, switch to it now.
5
6
 
6
7
  ---
7
8
 
@@ -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)
@@ -0,0 +1,40 @@
1
+ # Android platform
2
+
3
+ For native Android apps: Jetpack Compose, Android Views, React Native, Expo, Flutter shipping to Android hardware.
4
+
5
+ On native, register narrows. Material Design 3 governs structure, navigation, and interaction whatever the register; brand expresses through Material's theming (color roles, type scale, shape, motion). A Material-everywhere cross-platform app that also ships to iPhone still owes iOS its OS guarantees on that hardware: safe-area insets, Reduce Motion, edge-swipe back.
6
+
7
+ ## The Android slop test
8
+
9
+ Would a fluent Android user trust this app, or trip on off-spec components? The most common tell is an iOS app wearing Android's skin: a bottom-only navigation copied from iPhone, a back arrow that ignores the system Back gesture, Cupertino-shaped switches and dialogs. Material 3 is the rulebook; follow its components and theme the brand through it.
10
+
11
+ ## Layout & structure
12
+
13
+ - **Material navigation, matched to size.** Navigation bar (bottom, 3–5 destinations) on compact width; navigation rail or drawer on expanded width. Never ship a phone bottom-bar untouched on a tablet.
14
+ - **System Back always works.** Honor the predictive Back gesture and Back button; never trap the user or hijack the gesture.
15
+ - **Edge-to-edge with window insets.** Apply the status bar, navigation bar, display cutout, and IME insets so content never hides behind system bars or the keyboard.
16
+ - **Top app bar for screen context**; pair with a FAB when the screen has a single primary action.
17
+
18
+ ## Touch targets
19
+
20
+ - **48×48 dp minimum** for every touch target, with at least 8 dp between them.
21
+
22
+ ## Typography
23
+
24
+ - **Material type scale.** Display, Headline, Title, Body, Label roles (large/medium/small each). Map text to roles; never hand-pick sizes per screen.
25
+ - **Roboto is the system face**; theme a brand face in through the type scale, keeping body, labels, and controls legible and consistent.
26
+ - **sp units, never fixed px**, so type follows the system font-size setting.
27
+
28
+ ## Color & theming
29
+
30
+ - **Material color roles** (primary, on-primary, surface, surface-variant, secondary-container, outline, error). Role tokens resolve light/dark and contrast variants automatically; raw hex breaks there.
31
+ - **Dynamic Color (Material You)** where it fits: derive the scheme from the user's wallpaper on Android 12+, with a static fallback.
32
+ - **Dark theme is a first-class scheme.** Design and test it; never a quick invert.
33
+ - **Tonal elevation.** Convey elevation through the standard surface tonal levels (plus shadow where appropriate); no arbitrary drop shadows.
34
+
35
+ ## Components & motion
36
+
37
+ - **Material components.** Buttons (filled / tonal / outlined / text), FAB, switches, chips, snackbars, bottom sheets, Material dialogs, navigation bar/rail/drawer. Never port iOS controls or invent equivalents.
38
+ - **One FAB, one primary action.** Never stack FABs or spend one on a secondary task.
39
+ - **Snackbars for transient feedback** (actionable when useful, never a toast for that); dialogs only for decisions that must interrupt.
40
+ - **Material motion patterns.** Container transform, shared-axis, fade-through, with standard easing and durations; honor the system Remove animations setting with a crossfade or instant cut.
@@ -10,6 +10,8 @@ Brand: motion is part of the voice; one well-rehearsed entrance beats scattered
10
10
 
11
11
  Product: 150–250 ms on most transitions. Motion conveys state: feedback, reveal, loading, transitions between views. No page-load choreography; users are in a task and won't wait for it.
12
12
 
13
+ Native (`ios` / `android` / `adaptive`): implementation follows the Motion section of [ios.md](ios.md) / [android.md](android.md) (read it first if Setup hasn't already): system transitions and OS Reduce Motion, never the web tooling below.
14
+
13
15
  ---
14
16
 
15
17
  ## Assess Animation Opportunities
@@ -2,6 +2,8 @@ Run systematic **technical** quality checks and generate a comprehensive report.
2
2
 
3
3
  This is a code-level audit, not a design critique. Check what's measurable and verifiable in the implementation.
4
4
 
5
+ **Web only.** Native platforms (`ios` / `android` / `adaptive`) route to [audit.native.md](audit.native.md) instead; if the project is native, switch to it now.
6
+
5
7
  ## Diagnostic Scan
6
8
 
7
9
  Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the criteria below.
@@ -0,0 +1,139 @@
1
+ Run systematic **technical** quality checks on a native app (`ios` / `android` / `adaptive`) and generate a comprehensive report. Don't fix issues; document them for other commands to address.
2
+
3
+ This is a code-level audit, not a design critique. Audit from source (SwiftUI / UIKit / Compose / React Native / Flutter); no browser tooling or `detect.mjs` applies. Score against the platform reference(s): [ios.md](ios.md) / [android.md](android.md), both for `adaptive`. Read them before scoring if Setup hasn't already. The report skeleton mirrors [audit.md](audit.md); keep the two in sync when changing it.
4
+
5
+ ## Diagnostic Scan
6
+
7
+ Run comprehensive checks across 5 dimensions. Score each dimension 0-4 using the criteria below.
8
+
9
+ ### 1. Accessibility (VoiceOver / TalkBack)
10
+
11
+ **Check for**:
12
+ - **Missing labels**: interactive elements without accessibility labels, traits/roles, or state announcements
13
+ - **Reading and focus order**: illogical traversal, unreachable controls, focus lost on navigation
14
+ - **Text scaling**: fixed point sizes defeating Dynamic Type (iOS) or px instead of sp (Android); layouts that clip or overlap at large sizes
15
+ - **Touch targets**: below 44 pt (iOS) / 48 dp (Android), or crammed without spacing
16
+ - **Reduce Motion ignored**: parallax and large slides with no crossfade alternative
17
+ - **Contrast**: text failing contrast in either appearance, light or dark
18
+
19
+ **Score 0-4**: 0=Screen reader unusable, 1=Major gaps (unlabeled controls, no scaling), 2=Partial (labels exist, order or scaling breaks), 3=Good (minor gaps), 4=Excellent (labeled, ordered, scales cleanly, Reduce Motion honored)
20
+
21
+ ### 2. Performance
22
+
23
+ **Check for**:
24
+ - **Slow startup**: heavy work on launch before first frame
25
+ - **Unvirtualized lists**: long content without FlatList / LazyColumn / List recycling
26
+ - **Main-thread jank**: synchronous work in scroll or gesture paths, dropped frames on 60/120 Hz
27
+ - **Wasted rendering**: unnecessary re-renders (React Native) or recompositions (Compose); missing memoization/keys
28
+ - **Image handling**: full-size images decoded for thumbnails, no caching
29
+ - **App weight**: bloated JS bundle or binary, unused dependencies
30
+
31
+ **Score 0-4**: 0=Janky everywhere, 1=Major problems (unvirtualized lists, slow launch), 2=Partial, 3=Good (minor improvements possible), 4=Excellent (fast launch, smooth scroll, lean)
32
+
33
+ ### 3. Appearance & Theming
34
+
35
+ **Check for**:
36
+ - **Hard-coded colors**: raw hex instead of semantic system colors (iOS) / Material color roles (Android) / design tokens
37
+ - **Broken dark appearance**: missing dark variants, poor contrast in dark, quick inverts
38
+ - **Dynamic Color** (Android 12+): no static fallback scheme, or ignored where it fits
39
+ - **Off-platform materials**: hand-rolled blur/glassmorphism instead of system materials or tonal elevation
40
+
41
+ **Score 0-4**: 0=Hard-coded everything, 1=Minimal tokens, 2=Partial (tokens exist, inconsistently used), 3=Good (minor hard-coded values), 4=Excellent (semantic throughout, both appearances first-class)
42
+
43
+ ### 4. Platform Conformance (CRITICAL)
44
+
45
+ Score against the loaded platform reference(s), including their slop tests. **Check for**:
46
+ - **Broken system gestures**: edge-swipe back disabled (iOS), predictive Back hijacked (Android)
47
+ - **Inset violations**: content under the notch, Dynamic Island, home indicator, status bar, or keyboard
48
+ - **Off-platform navigation**: custom global nav, overloaded tab bars, iOS patterns on Android or vice versa
49
+ - **Web-shaped controls**: HTML-style buttons, custom toggles, hover-dependent affordances
50
+ - **Icon drift**: mixed icon sets instead of SF Symbols / Material Symbols
51
+ - **AI tells**: the shared absolute bans still apply (AI palette, gradient text, hero metrics)
52
+
53
+ **Score 0-4**: 0=Web port (nothing native), 1=Heavy violations (3-4 kinds), 2=Some (1-2 noticeable), 3=Mostly conformant (subtle issues), 4=Fully native (a fluent user trusts every screen)
54
+
55
+ ### 5. Adaptivity
56
+
57
+ **Check for**:
58
+ - **Stretched phone layouts**: tablet/iPad rendering a scaled-up phone UI instead of using size classes / window size classes
59
+ - **Orientation breakage**: landscape clipping, ignored, or locked without reason
60
+ - **Keyboard/IME handling**: inputs hidden behind the keyboard, no inset adjustment
61
+ - **Multitasking**: iPad Split View / Android multi-window breaking layout
62
+ - **Foldables**: hinge-unaware layouts on posture change (Android)
63
+
64
+ **Score 0-4**: 0=One screen size only, 1=Major breakage (landscape or tablet broken), 2=Partial, 3=Good (minor edge cases), 4=Excellent (adapts across sizes, orientations, and windowing)
65
+
66
+ ## Generate Report
67
+
68
+ ### Audit Health Score
69
+
70
+ | # | Dimension | Score | Key Finding |
71
+ |---|-----------|-------|-------------|
72
+ | 1 | Accessibility | ? | [most critical issue or "--"] |
73
+ | 2 | Performance | ? | |
74
+ | 3 | Appearance & Theming | ? | |
75
+ | 4 | Platform Conformance | ? | |
76
+ | 5 | Adaptivity | ? | |
77
+ | **Total** | | **??/20** | **[Rating band]** |
78
+
79
+ **Rating bands**: 18-20 Excellent (minor polish), 14-17 Good (address weak dimensions), 10-13 Acceptable (significant work needed), 6-9 Poor (major overhaul), 0-5 Critical (fundamental issues)
80
+
81
+ ### Platform Conformance Verdict
82
+ **Start here.** Pass/fail: does this read as a native app or a ported website? List specific violations. Be brutally honest.
83
+
84
+ ### Executive Summary
85
+ - Audit Health Score: **??/20** ([rating band])
86
+ - Total issues found (count by severity: P0/P1/P2/P3)
87
+ - Top 3-5 critical issues
88
+ - Recommended next steps
89
+
90
+ ### Detailed Findings by Severity
91
+
92
+ Tag every issue with **P0-P3 severity**:
93
+ - **P0 Blocking**: Prevents task completion. Fix immediately
94
+ - **P1 Major**: Significant difficulty or platform-guideline violation. Fix before release
95
+ - **P2 Minor**: Annoyance, workaround exists. Fix in next pass
96
+ - **P3 Polish**: Nice-to-fix, no real user impact. Fix if time permits
97
+
98
+ For each issue, document:
99
+ - **[P?] Issue name**
100
+ - **Location**: Screen, file, line
101
+ - **Category**: Accessibility / Performance / Theming / Conformance / Adaptivity
102
+ - **Impact**: How it affects users
103
+ - **Guideline**: The HIG / Material rule it violates (if applicable)
104
+ - **Recommendation**: How to fix it
105
+ - **Suggested command**: Which command to use (prefer: $impeccable adapt, $impeccable animate, $impeccable audit, $impeccable bolder, $impeccable clarify, $impeccable colorize, $impeccable critique, $impeccable delight, $impeccable distill, $impeccable document, $impeccable harden, $impeccable layout, $impeccable onboard, $impeccable optimize, $impeccable overdrive, $impeccable polish, $impeccable quieter, $impeccable shape, $impeccable typeset)
106
+
107
+ ### Patterns & Systemic Issues
108
+
109
+ Identify recurring problems that indicate systemic gaps rather than one-off mistakes:
110
+ - "Hard-coded colors appear in 15+ screens, should use semantic colors"
111
+ - "Touch targets consistently below 44 pt throughout the tab bar and list rows"
112
+
113
+ ### Positive Findings
114
+
115
+ Note what's working well: good practices to maintain and replicate.
116
+
117
+ ## Recommended Actions
118
+
119
+ List recommended commands in priority order (P0 first, then P1, then P2):
120
+
121
+ 1. **[P?] `$command-name`**: Brief description (specific context from audit findings)
122
+ 2. **[P?] `$command-name`**: Brief description (specific context)
123
+
124
+ **Rules**: Only recommend commands from: $impeccable adapt, $impeccable animate, $impeccable audit, $impeccable bolder, $impeccable clarify, $impeccable colorize, $impeccable critique, $impeccable delight, $impeccable distill, $impeccable document, $impeccable harden, $impeccable layout, $impeccable onboard, $impeccable optimize, $impeccable overdrive, $impeccable polish, $impeccable quieter, $impeccable shape, $impeccable typeset. Map findings to the most appropriate command. End with `$impeccable polish` as the final step if any fixes were recommended.
125
+
126
+ After presenting the summary, tell the user:
127
+
128
+ > You can ask me to run these one at a time, all at once, or in any order you prefer.
129
+ >
130
+ > Re-run `$impeccable audit` after fixes to see your score improve.
131
+
132
+ **IMPORTANT**: Be thorough but actionable. Too many P3 issues creates noise. Focus on what actually matters.
133
+
134
+ **NEVER**:
135
+ - Report issues without explaining impact (why does this matter?)
136
+ - Provide generic recommendations (be specific and actionable)
137
+ - Skip positive findings (celebrate what works)
138
+ - Forget to prioritize (everything can't be P0)
139
+ - Report false positives without verification
@@ -1,12 +1,12 @@
1
- When asked for "bolder," AI defaults to the same tired tricks: cyan/purple gradients, glassmorphism, neon accents on dark backgrounds, gradient text on metrics. These are the opposite of bold. Reject them first, then increase visual impact and personality through stronger hierarchy, committed scale, and decisive type.
1
+ When asked for "bolder," AI defaults to the same tired tricks: cyan/purple gradients, glassmorphism, neon accents on dark backgrounds, gradient text on metrics. These are the opposite of bold. Reject them first, then increase visual impact by making the existing design language more decisive, specific, and committed.
2
2
 
3
3
  ---
4
4
 
5
5
  ## Register
6
6
 
7
- Brand: "bolder" means distinctive. Extreme scale, unexpected color, typographic risk, committed POV.
7
+ Brand: "bolder" means distinctive. Express a stronger point of view through hierarchy, pacing, proportion, copy, evidence, and one committed visual idea.
8
8
 
9
- Product: "bolder" rarely means theatrics; those undermine trust. It means stronger hierarchy, clearer weight contrast, one sharper accent, more committed density. The amplification is in clarity, not drama.
9
+ Product: "bolder" rarely means theatrics; those undermine trust. It means stronger hierarchy, clearer weight contrast, sharper information density, and more decisive prioritization. The amplification is in clarity, not drama.
10
10
 
11
11
  ---
12
12
 
@@ -15,98 +15,105 @@ Product: "bolder" rarely means theatrics; those undermine trust. It means strong
15
15
  Analyze what makes the design feel too safe or boring:
16
16
 
17
17
  1. **Identify weakness sources**:
18
- - **Generic choices**: System fonts, basic colors, standard layouts
19
- - **Timid scale**: Everything is medium-sized with no drama
20
- - **Low contrast**: Everything has similar visual weight
21
- - **Static**: No motion, no energy, no life
22
- - **Predictable**: Standard patterns with no surprises
23
- - **Flat hierarchy**: Nothing stands out or commands attention
18
+ - **Generic choices**: The page could belong to any product in the category.
19
+ - **Timid scale**: Everything is medium-sized with no clear lead.
20
+ - **Low contrast**: Important and supporting elements have similar visual weight.
21
+ - **Static**: The surface has no meaningful moment of emphasis.
22
+ - **Predictable**: The composition follows a default pattern without a point of view.
23
+ - **Flat hierarchy**: Nothing stands out or commands attention.
24
24
 
25
25
  2. **Understand the context**:
26
- - What's the brand personality? (How far can we push?)
27
- - What's the purpose? (Marketing can be bolder than financial dashboards)
28
- - Who's the audience? (What will resonate?)
29
- - What are the constraints? (Brand guidelines, accessibility, performance)
26
+ - What is the brand personality?
27
+ - What is the purpose of this surface?
28
+ - Who is the audience?
29
+ - What design system, tokens, components, and visual conventions already exist?
30
30
 
31
31
  If any of these are unclear from the codebase, STOP and use Codex's structured user-input/question tool when available; if unavailable, ask directly in chat to clarify what you cannot infer.
32
32
 
33
- **CRITICAL**: "Bolder" doesn't mean chaotic or garish. It means distinctive, memorable, and confident. Think intentional drama, not random chaos.
33
+ **CRITICAL**: "Bolder" does not mean chaotic or garish. It means distinctive, memorable, and confident. Think intentional drama, not random noise.
34
34
 
35
35
  **WARNING - AI SLOP TRAP**: Review ALL the DON'T guidelines from the parent impeccable skill (already loaded in this context) before proceeding. Bold means distinctive, not "more effects."
36
36
 
37
+ ## Design-System Lock
38
+
39
+ If the project has `DESIGN.md`, tokens, theme variables, or established component styles, treat that system as the boundary. Make the existing language stronger before adding new language.
40
+
41
+ Do not invent new colors, gradients, radii, shadows, fonts, decorative backgrounds, or effects just because the request says "bolder." A bolder pass should usually change emphasis, proportion, rhythm, density, contrast, copy, artifact specificity, and layout relationships while staying inside the documented system.
42
+
43
+ If the existing system is genuinely too limited to express the bolder direction, stop and ask the user before expanding it. Name the exact additions, the role each would play, and why the current system cannot do the job. If the user approves expansion, update the design system or tokens alongside the implementation.
44
+
37
45
  ## Plan Amplification
38
46
 
39
47
  Create a strategy to increase impact while maintaining coherence:
40
48
 
41
- - **Focal point**: What should be the hero moment? (Pick ONE, make it amazing)
42
- - **Personality direction**: Maximalist chaos? Elegant drama? Playful energy? Dark moody? Choose a lane.
43
- - **Risk budget**: How experimental can we be? Push boundaries within constraints.
44
- - **Hierarchy amplification**: Make big things BIGGER, small things smaller (increase contrast)
49
+ - **Focal point**: Pick one thing the viewer should remember, then make the rest support it.
50
+ - **System levers**: Identify which existing tokens, components, layout patterns, and copy structures can carry more weight.
51
+ - **Risk budget**: Decide how far the surface can push while still feeling like the same product or brand.
52
+ - **Hierarchy amplification**: Increase contrast between primary, secondary, and tertiary content instead of making every element louder.
45
53
 
46
54
  **IMPORTANT**: Bold design must still be usable. Impact without function is just decoration.
47
55
 
48
56
  ## Amplify the Design
49
57
 
50
- Systematically increase impact across these dimensions:
58
+ Systematically increase impact through intention, not a menu of effects:
51
59
 
52
60
  ### Typography Amplification
53
- - **Replace generic fonts**: Swap system fonts for distinctive choices (see the parent skill's typography guidelines and the [Reference Material section of typeset.md](typeset.md#reference-material) for inspiration)
54
- - **Extreme scale**: Create dramatic size jumps (3x-5x differences, not 1.5x)
55
- - **Weight contrast**: Pair 900 weights with 200 weights, not 600 with 400
56
- - **Unexpected choices**: Variable fonts, display fonts for headlines, condensed/extended widths, monospace as intentional accent (not as lazy "dev tool" default)
57
-
58
- ### Color Intensification
59
- - **Increase saturation**: Shift to more vibrant, energetic colors (but not neon)
60
- - **Bold palette**: Introduce unexpected color combinations. Avoid the purple-blue gradient AI slop
61
- - **Dominant color strategy**: Let one bold color own 60% of the design
62
- - **Sharp accents**: High-contrast accent colors that pop
63
- - **Tinted neutrals**: Replace pure grays with tinted grays that harmonize with your palette
64
- - **Rich gradients**: Intentional multi-stop gradients (not generic purple-to-blue)
65
-
66
- ### Spatial Drama
67
- - **Extreme scale jumps**: Make important elements 3-5x larger than surroundings
68
- - **Break the grid**: Let hero elements escape containers and cross boundaries
69
- - **Asymmetric layouts**: Replace centered, balanced layouts with tension-filled asymmetry
70
- - **Generous space**: Use white space dramatically (100-200px gaps, not 20-40px)
71
- - **Overlap**: Layer elements intentionally for depth
72
-
73
- ### Visual Effects
74
- - **Dramatic shadows**: Large, soft shadows for elevation (but not generic drop shadows on rounded rectangles)
75
- - **Background treatments**: Mesh patterns, noise textures, geometric patterns, intentional gradients (not purple-to-blue)
76
- - **Texture & depth**: Grain, halftone, duotone, layered elements. NOT glassmorphism (it's overused AI slop)
77
- - **Borders & frames**: Thick borders, decorative frames, custom shapes (not rounded rectangles with colored border on one side)
78
- - **Custom elements**: Illustrative elements, custom icons, decorative details that reinforce brand
61
+ - Strengthen the existing type hierarchy before changing typefaces.
62
+ - Make important text meaningfully more dominant, and make supporting text quieter.
63
+ - Use weight, measure, spacing, and line breaks to sharpen the point of view.
64
+ - Add or replace fonts only after user-approved design-system expansion.
65
+
66
+ ### Color Amplification
67
+ - Use the existing palette more decisively before adding colors.
68
+ - Shift the proportion, placement, and contrast of documented colors to clarify meaning.
69
+ - Treat any new color, gradient, or tint ramp as a design-system expansion that requires user approval.
70
+ - Keep color tied to hierarchy, state, or brand meaning; do not use it as surface decoration.
71
+
72
+ ### Spatial Amplification
73
+ - Change proportion, density, alignment, and sequencing so the composition has a stronger point of view.
74
+ - Create clearer contrast between dense evidence and open breathing room.
75
+ - Let layout express priority and narrative order before adding ornament.
76
+ - Preserve responsive behavior and avoid text overflow at every breakpoint.
77
+
78
+ ### Surface Amplification
79
+ - Use existing surface, border, radius, and shadow rules more deliberately.
80
+ - Remove timid half-measures: either give an element a clear role or simplify it.
81
+ - Add texture, depth, illustration, or decorative treatments only when already established by the system or explicitly approved.
82
+ - Make real product artifacts, imagery, data, or copy carry attention before reaching for effects.
79
83
 
80
84
  ### Motion & Animation
81
- - **Hero moment**: One signature entrance, once. Not on every visit and not on every section.
82
- - **Micro-interactions**: Satisfying hover effects, click feedback, state changes.
83
- - **Transitions**: Smooth, noticeable transitions using ease-out-quart/quint/expo (not bounce or elastic, which cheapen the effect).
84
- - **Bolder scroll-fade-rise on every section.** That's the saturated AI default, the opposite of bold.
85
+ - Design one meaningful moment of emphasis when motion genuinely supports the point.
86
+ - Make interaction feedback feel more decisive without becoming distracting.
87
+ - Keep transitions smooth and intentional.
88
+ - **Bolder != scroll-fade-rise on every section.** That's the saturated AI default, the opposite of bold.
85
89
 
86
90
  ### Composition Boldness
87
- - **Hero moments**: Create clear focal points with dramatic treatment
88
- - **Diagonal flows**: Escape horizontal/vertical rigidity with diagonal arrangements
89
- - **Full-bleed elements**: Use full viewport width/height for impact
90
- - **Unexpected proportions**: Golden ratio? Throw it out. Try 70/30, 80/20 splits
91
+ - Make the dominant idea unmistakable.
92
+ - Use layout tension, sequencing, contrast, and restraint to create a stronger read.
93
+ - Let the page's structure communicate priority before adding decorative layers.
94
+ - If every element is louder, the composition is not bolder; it is flatter.
91
95
 
92
96
  **NEVER**:
93
- - Add effects randomly without purpose (chaos ≠ bold)
94
- - Sacrifice readability for aesthetics (body text must be readable)
95
- - Make everything bold (then nothing is bold; you need contrast)
96
- - Ignore accessibility (bold design must still meet WCAG standards)
97
- - Overwhelm with motion (animation fatigue is real)
98
- - Copy trendy aesthetics blindly (bold means distinctive, not derivative)
97
+ - Add undocumented design-system primitives without user approval
98
+ - Add effects randomly without purpose
99
+ - Hide weak hierarchy behind decoration
100
+ - Sacrifice readability for aesthetics
101
+ - Make everything bold; contrast is the point
102
+ - Ignore accessibility
103
+ - Overwhelm with motion
104
+ - Copy trendy aesthetics blindly
99
105
 
100
106
  ## Verify Quality
101
107
 
102
108
  Ensure amplification maintains usability and coherence:
103
109
 
110
+ - **System-faithful**: Did the pass make the existing design language stronger before adding anything new?
111
+ - **No undocumented drift**: Are new colors, gradients, shadows, radii, fonts, and effects either absent or explicitly approved and documented?
104
112
  - **NOT AI slop**: Does this look like every other AI-generated "bold" design? If yes, start over.
105
113
  - **Still functional**: Can users accomplish tasks without distraction?
106
114
  - **Coherent**: Does everything feel intentional and unified?
107
- - **Memorable**: Will users remember this experience?
108
- - **Performant**: Do all these effects run smoothly?
109
- - **Accessible**: Does it still meet accessibility standards?
115
+ - **Memorable**: Will users remember this experience for the intended reason?
116
+ - **Performant and accessible**: Does the result stay fast, readable, responsive, and WCAG-conscious?
110
117
 
111
118
  **The test**: If you showed this to someone and said "AI made this bolder," would they believe you immediately? If yes, you've failed. Bold means distinctive, not "more AI effects."
112
119