@su-record/vibe 2.16.4 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/CLAUDE.md +8 -8
  2. package/README.en.md +46 -29
  3. package/README.md +41 -24
  4. package/agents/acceptance-tester.md +56 -0
  5. package/agents/architect.md +25 -67
  6. package/agents/build-error-resolver.md +28 -97
  7. package/agents/code-reviewer.md +89 -0
  8. package/agents/diagrammer.md +34 -169
  9. package/agents/documenter.md +43 -0
  10. package/agents/e2e-tester.md +46 -281
  11. package/agents/event/event-ops.md +54 -77
  12. package/agents/event/event-planner.md +63 -0
  13. package/agents/figma/figma-engineer.md +76 -0
  14. package/agents/implementer.md +26 -41
  15. package/agents/security-reviewer.md +56 -0
  16. package/agents/tester.md +37 -33
  17. package/agents/ui/design-reviewer.md +62 -0
  18. package/agents/ui/design-system-gen.md +63 -0
  19. package/dist/cli/commands/remove.d.ts.map +1 -1
  20. package/dist/cli/commands/remove.js +8 -10
  21. package/dist/cli/commands/remove.js.map +1 -1
  22. package/dist/cli/index.d.ts +0 -4
  23. package/dist/cli/index.d.ts.map +1 -1
  24. package/dist/cli/index.js +0 -4
  25. package/dist/cli/index.js.map +1 -1
  26. package/dist/cli/llm/model-refresh.js +1 -1
  27. package/dist/cli/llm/model-refresh.js.map +1 -1
  28. package/dist/cli/postinstall/claude-agents.d.ts.map +1 -1
  29. package/dist/cli/postinstall/claude-agents.js +16 -77
  30. package/dist/cli/postinstall/claude-agents.js.map +1 -1
  31. package/dist/cli/postinstall/constants.d.ts.map +1 -1
  32. package/dist/cli/postinstall/constants.js +80 -296
  33. package/dist/cli/postinstall/constants.js.map +1 -1
  34. package/dist/cli/postinstall/cursor-agents.d.ts +5 -0
  35. package/dist/cli/postinstall/cursor-agents.d.ts.map +1 -1
  36. package/dist/cli/postinstall/cursor-agents.js +26 -68
  37. package/dist/cli/postinstall/cursor-agents.js.map +1 -1
  38. package/dist/cli/postinstall/cursor-skills.d.ts.map +1 -1
  39. package/dist/cli/postinstall/cursor-skills.js +26 -30
  40. package/dist/cli/postinstall/cursor-skills.js.map +1 -1
  41. package/dist/cli/postinstall/main.d.ts.map +1 -1
  42. package/dist/cli/postinstall/main.js +0 -2
  43. package/dist/cli/postinstall/main.js.map +1 -1
  44. package/dist/cli/setup/Provisioner.d.ts.map +1 -1
  45. package/dist/cli/setup/Provisioner.js +19 -21
  46. package/dist/cli/setup/Provisioner.js.map +1 -1
  47. package/dist/cli/utils.d.ts +4 -1
  48. package/dist/cli/utils.d.ts.map +1 -1
  49. package/dist/cli/utils.js +4 -1
  50. package/dist/cli/utils.js.map +1 -1
  51. package/dist/infra/lib/FrameworkDetector.js +4 -4
  52. package/dist/infra/lib/FrameworkDetector.js.map +1 -1
  53. package/dist/infra/lib/OrchestrateWorkflow.js +2 -2
  54. package/dist/infra/lib/OrchestrateWorkflow.js.map +1 -1
  55. package/dist/infra/lib/browser/launch.js +1 -1
  56. package/dist/infra/lib/browser/launch.js.map +1 -1
  57. package/dist/infra/lib/browser/types.d.ts +1 -1
  58. package/dist/infra/lib/browser/types.js +1 -1
  59. package/dist/infra/lib/constants.d.ts +1 -1
  60. package/dist/infra/lib/constants.d.ts.map +1 -1
  61. package/dist/infra/lib/constants.js +4 -5
  62. package/dist/infra/lib/constants.js.map +1 -1
  63. package/dist/infra/lib/evolution/__tests__/integration.test.js +7 -7
  64. package/dist/infra/lib/evolution/__tests__/integration.test.js.map +1 -1
  65. package/dist/infra/lib/memory/index.d.ts +0 -2
  66. package/dist/infra/lib/memory/index.d.ts.map +1 -1
  67. package/dist/infra/lib/memory/index.js +0 -2
  68. package/dist/infra/lib/memory/index.js.map +1 -1
  69. package/dist/infra/lib/telemetry/SkillTelemetry.test.js +1 -1
  70. package/dist/infra/lib/telemetry/SkillTelemetry.test.js.map +1 -1
  71. package/dist/tools/index.d.ts +0 -4
  72. package/dist/tools/index.d.ts.map +1 -1
  73. package/dist/tools/index.js +0 -4
  74. package/dist/tools/index.js.map +1 -1
  75. package/dist/tools/memory/autoSaveContext.d.ts +0 -1
  76. package/dist/tools/memory/autoSaveContext.d.ts.map +1 -1
  77. package/dist/tools/memory/autoSaveContext.js +13 -27
  78. package/dist/tools/memory/autoSaveContext.js.map +1 -1
  79. package/hooks/scripts/__tests__/.vibe/command-log.txt +3 -78
  80. package/hooks/scripts/__tests__/.vibe/memories/memories.db +0 -0
  81. package/hooks/scripts/__tests__/.vibe/memories/memories.db-shm +0 -0
  82. package/hooks/scripts/__tests__/.vibe/memories/memories.db-wal +0 -0
  83. package/hooks/scripts/__tests__/clone-behaviors.test.js +64 -0
  84. package/hooks/scripts/__tests__/clone-merge-responsive.test.js +106 -0
  85. package/hooks/scripts/__tests__/code-check-detectors.test.js +2 -2
  86. package/hooks/scripts/__tests__/run-ledger.test.js +1 -1
  87. package/hooks/scripts/__tests__/scope-from-spec.test.js +12 -12
  88. package/hooks/scripts/__tests__/step-counter.test.js +1 -1
  89. package/hooks/scripts/clone-extract.js +242 -28
  90. package/hooks/scripts/clone-merge-responsive.js +184 -0
  91. package/hooks/scripts/clone-spec.js +33 -8
  92. package/hooks/scripts/clone-validate.js +15 -9
  93. package/hooks/scripts/code-check.js +16 -203
  94. package/hooks/scripts/context-save.js +0 -11
  95. package/hooks/scripts/lib/scope-from-spec.js +9 -6
  96. package/hooks/scripts/post-edit-dispatcher.js +1 -1
  97. package/hooks/scripts/prompt-dispatcher.js +7 -18
  98. package/hooks/scripts/session-start.js +25 -35
  99. package/package.json +6 -5
  100. package/skills/agents-md/SKILL.md +62 -15
  101. package/skills/arch-guard/SKILL.md +1 -1
  102. package/skills/brand-assets/SKILL.md +2 -2
  103. package/skills/capability-loop/SKILL.md +1 -1
  104. package/skills/chub-usage/SKILL.md +1 -1
  105. package/skills/clone/SKILL.md +132 -55
  106. package/skills/commerce-patterns/SKILL.md +2 -2
  107. package/skills/commit-push-pr/SKILL.md +0 -1
  108. package/skills/context7-usage/SKILL.md +1 -1
  109. package/skills/design-refine/SKILL.md +140 -0
  110. package/skills/{design-polish → design-refine}/templates/polish-report.md +1 -1
  111. package/skills/{design-normalize → design-refine}/templates/token-audit.md +3 -3
  112. package/skills/design-review/SKILL.md +143 -0
  113. package/skills/{design-audit → design-review}/agents/a11y-auditor.md +1 -1
  114. package/skills/{design-audit → design-review}/agents/performance-auditor.md +1 -1
  115. package/skills/{design-audit → design-review}/agents/responsive-auditor.md +1 -1
  116. package/skills/{design-audit → design-review}/agents/slop-detector.md +1 -1
  117. package/skills/{design-audit → design-review}/frameworks/core-web-vitals.md +1 -1
  118. package/skills/{design-audit → design-review}/frameworks/wcag-checklist.md +1 -1
  119. package/skills/{design-audit → design-review}/orchestrator.md +3 -3
  120. package/skills/{design-critique → design-review}/templates/critique-report.md +3 -3
  121. package/skills/{design-audit → design-review}/templates/report.md +3 -3
  122. package/skills/design-teach/SKILL.md +11 -11
  123. package/skills/docs/SKILL.md +14 -16
  124. package/skills/e2e-commerce/SKILL.md +1 -1
  125. package/skills/event-comms/SKILL.md +1 -1
  126. package/skills/event-ops/SKILL.md +2 -2
  127. package/skills/event-planning/SKILL.md +1 -1
  128. package/skills/exec-plan/SKILL.md +2 -2
  129. package/skills/figma/SKILL.md +240 -148
  130. package/skills/figma/rubrics/css-mapping.md +125 -0
  131. package/skills/git-worktree/SKILL.md +1 -1
  132. package/skills/handoff/SKILL.md +1 -1
  133. package/skills/parallel-research/SKILL.md +14 -28
  134. package/skills/priority-todos/SKILL.md +1 -1
  135. package/skills/regress/SKILL.md +11 -0
  136. package/skills/restraint/SKILL.md +72 -0
  137. package/skills/seo-checklist/SKILL.md +2 -2
  138. package/skills/spec/SKILL.md +65 -836
  139. package/skills/test/SKILL.md +3 -3
  140. package/skills/tool-fallback/SKILL.md +2 -2
  141. package/skills/vercel-react-best-practices/SKILL.md +1 -1
  142. package/skills/vibe/SKILL.md +20 -35
  143. package/skills/vibe.analyze/SKILL.md +7 -9
  144. package/skills/vibe.clone/SKILL.md +39 -19
  145. package/skills/vibe.docs/SKILL.md +1 -1
  146. package/skills/vibe.event/SKILL.md +27 -27
  147. package/skills/vibe.figma/SKILL.md +14 -18
  148. package/skills/vibe.harness/SKILL.md +5 -5
  149. package/skills/vibe.reason/SKILL.md +0 -2
  150. package/skills/vibe.review/SKILL.md +45 -49
  151. package/skills/vibe.run/SKILL.md +2 -5
  152. package/skills/vibe.run/references/parallel-agents.md +33 -98
  153. package/skills/vibe.spec/SKILL.md +38 -535
  154. package/skills/vibe.utils/SKILL.md +3 -3
  155. package/skills/vibe.verify/SKILL.md +70 -542
  156. package/skills/video-production/SKILL.md +1 -1
  157. package/vibe/rules/orchestrator-contract.md +5 -4
  158. package/vibe/rules/quality/performance.md +1 -1
  159. package/vibe/templates/claudemd-template.md +1 -1
  160. package/vibe/templates/spec-template.md +35 -185
  161. package/agents/architect-low.md +0 -41
  162. package/agents/architect-medium.md +0 -59
  163. package/agents/compounder.md +0 -265
  164. package/agents/docs/api-documenter.md +0 -99
  165. package/agents/docs/changelog-writer.md +0 -93
  166. package/agents/event/event-comms.md +0 -78
  167. package/agents/event/event-content.md +0 -68
  168. package/agents/event/event-image.md +0 -95
  169. package/agents/event/event-scheduler.md +0 -69
  170. package/agents/event/event-speaker.md +0 -86
  171. package/agents/explorer-low.md +0 -42
  172. package/agents/explorer-medium.md +0 -59
  173. package/agents/explorer.md +0 -48
  174. package/agents/figma/figma-analyst.md +0 -56
  175. package/agents/figma/figma-architect.md +0 -116
  176. package/agents/figma/figma-auditor.md +0 -86
  177. package/agents/figma/figma-builder.md +0 -104
  178. package/agents/implementer-low.md +0 -43
  179. package/agents/implementer-medium.md +0 -52
  180. package/agents/junior-mentor.md +0 -141
  181. package/agents/planning/requirements-analyst.md +0 -84
  182. package/agents/planning/ux-advisor.md +0 -83
  183. package/agents/qa/acceptance-tester.md +0 -86
  184. package/agents/qa/edge-case-finder.md +0 -93
  185. package/agents/qa/qa-coordinator.md +0 -131
  186. package/agents/refactor-cleaner.md +0 -143
  187. package/agents/research/best-practices.md +0 -199
  188. package/agents/research/codebase-patterns.md +0 -157
  189. package/agents/research/framework-docs.md +0 -188
  190. package/agents/research/security-advisory.md +0 -213
  191. package/agents/review/architecture-reviewer.md +0 -107
  192. package/agents/review/complexity-reviewer.md +0 -116
  193. package/agents/review/data-integrity-reviewer.md +0 -88
  194. package/agents/review/git-history-reviewer.md +0 -103
  195. package/agents/review/performance-reviewer.md +0 -86
  196. package/agents/review/python-reviewer.md +0 -150
  197. package/agents/review/rails-reviewer.md +0 -139
  198. package/agents/review/react-reviewer.md +0 -144
  199. package/agents/review/security-reviewer.md +0 -80
  200. package/agents/review/simplicity-reviewer.md +0 -140
  201. package/agents/review/test-coverage-reviewer.md +0 -116
  202. package/agents/review/typescript-reviewer.md +0 -127
  203. package/agents/searcher.md +0 -54
  204. package/agents/simplifier.md +0 -124
  205. package/agents/teams/debug-team.md +0 -74
  206. package/agents/teams/dev-team.md +0 -92
  207. package/agents/teams/docs-team.md +0 -84
  208. package/agents/teams/figma-team.md +0 -89
  209. package/agents/teams/fullstack-team.md +0 -87
  210. package/agents/teams/lite-team.md +0 -73
  211. package/agents/teams/migration-team.md +0 -82
  212. package/agents/teams/refactor-team.md +0 -98
  213. package/agents/teams/research-team.md +0 -90
  214. package/agents/teams/review-debate-team.md +0 -129
  215. package/agents/teams/security-team.md +0 -85
  216. package/agents/ui/ui-a11y-auditor.md +0 -93
  217. package/agents/ui/ui-antipattern-detector.md +0 -102
  218. package/agents/ui/ui-dataviz-advisor.md +0 -69
  219. package/agents/ui/ui-design-system-gen.md +0 -57
  220. package/agents/ui/ui-industry-analyzer.md +0 -49
  221. package/agents/ui/ui-layout-architect.md +0 -65
  222. package/agents/ui/ui-stack-implementer.md +0 -68
  223. package/agents/ui/ux-compliance-reviewer.md +0 -81
  224. package/agents/ui-previewer.md +0 -262
  225. package/dist/cli/llm/gemini-commands.d.ts +0 -25
  226. package/dist/cli/llm/gemini-commands.d.ts.map +0 -1
  227. package/dist/cli/llm/gemini-commands.js +0 -143
  228. package/dist/cli/llm/gemini-commands.js.map +0 -1
  229. package/dist/cli/postinstall/codex-agents.d.ts +0 -24
  230. package/dist/cli/postinstall/codex-agents.d.ts.map +0 -1
  231. package/dist/cli/postinstall/codex-agents.js +0 -114
  232. package/dist/cli/postinstall/codex-agents.js.map +0 -1
  233. package/dist/cli/postinstall/codex-instruction.d.ts +0 -10
  234. package/dist/cli/postinstall/codex-instruction.d.ts.map +0 -1
  235. package/dist/cli/postinstall/codex-instruction.js +0 -56
  236. package/dist/cli/postinstall/codex-instruction.js.map +0 -1
  237. package/dist/cli/postinstall/gemini-agents.d.ts +0 -12
  238. package/dist/cli/postinstall/gemini-agents.d.ts.map +0 -1
  239. package/dist/cli/postinstall/gemini-agents.js +0 -80
  240. package/dist/cli/postinstall/gemini-agents.js.map +0 -1
  241. package/dist/cli/postinstall/gemini-instruction.d.ts +0 -10
  242. package/dist/cli/postinstall/gemini-instruction.d.ts.map +0 -1
  243. package/dist/cli/postinstall/gemini-instruction.js +0 -59
  244. package/dist/cli/postinstall/gemini-instruction.js.map +0 -1
  245. package/dist/infra/lib/ContextCompressor.d.ts +0 -104
  246. package/dist/infra/lib/ContextCompressor.d.ts.map +0 -1
  247. package/dist/infra/lib/ContextCompressor.js +0 -297
  248. package/dist/infra/lib/ContextCompressor.js.map +0 -1
  249. package/dist/infra/lib/ContextCompressor.test.d.ts +0 -2
  250. package/dist/infra/lib/ContextCompressor.test.d.ts.map +0 -1
  251. package/dist/infra/lib/ContextCompressor.test.js +0 -25
  252. package/dist/infra/lib/ContextCompressor.test.js.map +0 -1
  253. package/dist/infra/lib/ProgressTracker.d.ts +0 -73
  254. package/dist/infra/lib/ProgressTracker.d.ts.map +0 -1
  255. package/dist/infra/lib/ProgressTracker.js +0 -267
  256. package/dist/infra/lib/ProgressTracker.js.map +0 -1
  257. package/dist/infra/lib/TokenBudgetTracker.d.ts +0 -68
  258. package/dist/infra/lib/TokenBudgetTracker.d.ts.map +0 -1
  259. package/dist/infra/lib/TokenBudgetTracker.js +0 -191
  260. package/dist/infra/lib/TokenBudgetTracker.js.map +0 -1
  261. package/dist/infra/lib/autonomy/AuditStore.d.ts +0 -63
  262. package/dist/infra/lib/autonomy/AuditStore.d.ts.map +0 -1
  263. package/dist/infra/lib/autonomy/AuditStore.js +0 -185
  264. package/dist/infra/lib/autonomy/AuditStore.js.map +0 -1
  265. package/dist/infra/lib/autonomy/AutonomyConfig.d.ts +0 -84
  266. package/dist/infra/lib/autonomy/AutonomyConfig.d.ts.map +0 -1
  267. package/dist/infra/lib/autonomy/AutonomyConfig.js +0 -49
  268. package/dist/infra/lib/autonomy/AutonomyConfig.js.map +0 -1
  269. package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts +0 -78
  270. package/dist/infra/lib/autonomy/AutonomyOrchestrator.d.ts.map +0 -1
  271. package/dist/infra/lib/autonomy/AutonomyOrchestrator.js +0 -246
  272. package/dist/infra/lib/autonomy/AutonomyOrchestrator.js.map +0 -1
  273. package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts +0 -36
  274. package/dist/infra/lib/autonomy/BackgroundMonitor.d.ts.map +0 -1
  275. package/dist/infra/lib/autonomy/BackgroundMonitor.js +0 -138
  276. package/dist/infra/lib/autonomy/BackgroundMonitor.js.map +0 -1
  277. package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts +0 -56
  278. package/dist/infra/lib/autonomy/CollaborationProtocol.d.ts.map +0 -1
  279. package/dist/infra/lib/autonomy/CollaborationProtocol.js +0 -122
  280. package/dist/infra/lib/autonomy/CollaborationProtocol.js.map +0 -1
  281. package/dist/infra/lib/autonomy/ConfirmationManager.d.ts +0 -42
  282. package/dist/infra/lib/autonomy/ConfirmationManager.d.ts.map +0 -1
  283. package/dist/infra/lib/autonomy/ConfirmationManager.js +0 -200
  284. package/dist/infra/lib/autonomy/ConfirmationManager.js.map +0 -1
  285. package/dist/infra/lib/autonomy/ConfirmationStore.d.ts +0 -55
  286. package/dist/infra/lib/autonomy/ConfirmationStore.d.ts.map +0 -1
  287. package/dist/infra/lib/autonomy/ConfirmationStore.js +0 -130
  288. package/dist/infra/lib/autonomy/ConfirmationStore.js.map +0 -1
  289. package/dist/infra/lib/autonomy/EventBus.d.ts +0 -20
  290. package/dist/infra/lib/autonomy/EventBus.d.ts.map +0 -1
  291. package/dist/infra/lib/autonomy/EventBus.js +0 -119
  292. package/dist/infra/lib/autonomy/EventBus.js.map +0 -1
  293. package/dist/infra/lib/autonomy/EventOutbox.d.ts +0 -32
  294. package/dist/infra/lib/autonomy/EventOutbox.d.ts.map +0 -1
  295. package/dist/infra/lib/autonomy/EventOutbox.js +0 -152
  296. package/dist/infra/lib/autonomy/EventOutbox.js.map +0 -1
  297. package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts +0 -24
  298. package/dist/infra/lib/autonomy/NotificationDispatcher.d.ts.map +0 -1
  299. package/dist/infra/lib/autonomy/NotificationDispatcher.js +0 -112
  300. package/dist/infra/lib/autonomy/NotificationDispatcher.js.map +0 -1
  301. package/dist/infra/lib/autonomy/PolicyEngine.d.ts +0 -76
  302. package/dist/infra/lib/autonomy/PolicyEngine.d.ts.map +0 -1
  303. package/dist/infra/lib/autonomy/PolicyEngine.js +0 -208
  304. package/dist/infra/lib/autonomy/PolicyEngine.js.map +0 -1
  305. package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts +0 -61
  306. package/dist/infra/lib/autonomy/ProactiveAnalyzer.d.ts.map +0 -1
  307. package/dist/infra/lib/autonomy/ProactiveAnalyzer.js +0 -236
  308. package/dist/infra/lib/autonomy/ProactiveAnalyzer.js.map +0 -1
  309. package/dist/infra/lib/autonomy/RiskClassifier.d.ts +0 -35
  310. package/dist/infra/lib/autonomy/RiskClassifier.d.ts.map +0 -1
  311. package/dist/infra/lib/autonomy/RiskClassifier.js +0 -147
  312. package/dist/infra/lib/autonomy/RiskClassifier.js.map +0 -1
  313. package/dist/infra/lib/autonomy/SecuritySentinel.d.ts +0 -51
  314. package/dist/infra/lib/autonomy/SecuritySentinel.d.ts.map +0 -1
  315. package/dist/infra/lib/autonomy/SecuritySentinel.js +0 -162
  316. package/dist/infra/lib/autonomy/SecuritySentinel.js.map +0 -1
  317. package/dist/infra/lib/autonomy/SuggestionStore.d.ts +0 -54
  318. package/dist/infra/lib/autonomy/SuggestionStore.d.ts.map +0 -1
  319. package/dist/infra/lib/autonomy/SuggestionStore.js +0 -144
  320. package/dist/infra/lib/autonomy/SuggestionStore.js.map +0 -1
  321. package/dist/infra/lib/autonomy/TaskDecomposer.d.ts +0 -38
  322. package/dist/infra/lib/autonomy/TaskDecomposer.d.ts.map +0 -1
  323. package/dist/infra/lib/autonomy/TaskDecomposer.js +0 -175
  324. package/dist/infra/lib/autonomy/TaskDecomposer.js.map +0 -1
  325. package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts +0 -2
  326. package/dist/infra/lib/autonomy/__tests__/audit-store.test.d.ts.map +0 -1
  327. package/dist/infra/lib/autonomy/__tests__/audit-store.test.js +0 -198
  328. package/dist/infra/lib/autonomy/__tests__/audit-store.test.js.map +0 -1
  329. package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts +0 -2
  330. package/dist/infra/lib/autonomy/__tests__/event-bus.test.d.ts.map +0 -1
  331. package/dist/infra/lib/autonomy/__tests__/event-bus.test.js +0 -225
  332. package/dist/infra/lib/autonomy/__tests__/event-bus.test.js.map +0 -1
  333. package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts +0 -2
  334. package/dist/infra/lib/autonomy/__tests__/event-core.test.d.ts.map +0 -1
  335. package/dist/infra/lib/autonomy/__tests__/event-core.test.js +0 -194
  336. package/dist/infra/lib/autonomy/__tests__/event-core.test.js.map +0 -1
  337. package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts +0 -2
  338. package/dist/infra/lib/autonomy/__tests__/governance.test.d.ts.map +0 -1
  339. package/dist/infra/lib/autonomy/__tests__/governance.test.js +0 -540
  340. package/dist/infra/lib/autonomy/__tests__/governance.test.js.map +0 -1
  341. package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts +0 -2
  342. package/dist/infra/lib/autonomy/__tests__/integration.test.d.ts.map +0 -1
  343. package/dist/infra/lib/autonomy/__tests__/integration.test.js +0 -480
  344. package/dist/infra/lib/autonomy/__tests__/integration.test.js.map +0 -1
  345. package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts +0 -2
  346. package/dist/infra/lib/autonomy/__tests__/proactive.test.d.ts.map +0 -1
  347. package/dist/infra/lib/autonomy/__tests__/proactive.test.js +0 -410
  348. package/dist/infra/lib/autonomy/__tests__/proactive.test.js.map +0 -1
  349. package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts +0 -2
  350. package/dist/infra/lib/autonomy/__tests__/sentinel.test.d.ts.map +0 -1
  351. package/dist/infra/lib/autonomy/__tests__/sentinel.test.js +0 -486
  352. package/dist/infra/lib/autonomy/__tests__/sentinel.test.js.map +0 -1
  353. package/dist/infra/lib/autonomy/index.d.ts +0 -18
  354. package/dist/infra/lib/autonomy/index.d.ts.map +0 -1
  355. package/dist/infra/lib/autonomy/index.js +0 -22
  356. package/dist/infra/lib/autonomy/index.js.map +0 -1
  357. package/dist/infra/lib/autonomy/schemas.d.ts +0 -317
  358. package/dist/infra/lib/autonomy/schemas.d.ts.map +0 -1
  359. package/dist/infra/lib/autonomy/schemas.js +0 -90
  360. package/dist/infra/lib/autonomy/schemas.js.map +0 -1
  361. package/dist/infra/lib/claude/index.d.ts +0 -5
  362. package/dist/infra/lib/claude/index.d.ts.map +0 -1
  363. package/dist/infra/lib/claude/index.js +0 -5
  364. package/dist/infra/lib/claude/index.js.map +0 -1
  365. package/dist/infra/lib/claude/storage.d.ts +0 -12
  366. package/dist/infra/lib/claude/storage.d.ts.map +0 -1
  367. package/dist/infra/lib/claude/storage.js +0 -54
  368. package/dist/infra/lib/claude/storage.js.map +0 -1
  369. package/dist/infra/lib/gemini/auth.d.ts +0 -18
  370. package/dist/infra/lib/gemini/auth.d.ts.map +0 -1
  371. package/dist/infra/lib/gemini/auth.js +0 -32
  372. package/dist/infra/lib/gemini/auth.js.map +0 -1
  373. package/dist/infra/lib/gemini/capabilities.d.ts +0 -28
  374. package/dist/infra/lib/gemini/capabilities.d.ts.map +0 -1
  375. package/dist/infra/lib/gemini/capabilities.js +0 -178
  376. package/dist/infra/lib/gemini/capabilities.js.map +0 -1
  377. package/dist/infra/lib/gemini/chat.d.ts +0 -35
  378. package/dist/infra/lib/gemini/chat.d.ts.map +0 -1
  379. package/dist/infra/lib/gemini/chat.js +0 -161
  380. package/dist/infra/lib/gemini/chat.js.map +0 -1
  381. package/dist/infra/lib/gemini/completion.d.ts +0 -12
  382. package/dist/infra/lib/gemini/completion.d.ts.map +0 -1
  383. package/dist/infra/lib/gemini/completion.js +0 -13
  384. package/dist/infra/lib/gemini/completion.js.map +0 -1
  385. package/dist/infra/lib/gemini/constants.d.ts +0 -8
  386. package/dist/infra/lib/gemini/constants.d.ts.map +0 -1
  387. package/dist/infra/lib/gemini/constants.js +0 -11
  388. package/dist/infra/lib/gemini/constants.js.map +0 -1
  389. package/dist/infra/lib/gemini/index.d.ts +0 -13
  390. package/dist/infra/lib/gemini/index.d.ts.map +0 -1
  391. package/dist/infra/lib/gemini/index.js +0 -12
  392. package/dist/infra/lib/gemini/index.js.map +0 -1
  393. package/dist/infra/lib/gemini/models.d.ts +0 -11
  394. package/dist/infra/lib/gemini/models.d.ts.map +0 -1
  395. package/dist/infra/lib/gemini/models.js +0 -38
  396. package/dist/infra/lib/gemini/models.js.map +0 -1
  397. package/dist/infra/lib/gemini/orchestration.d.ts +0 -33
  398. package/dist/infra/lib/gemini/orchestration.d.ts.map +0 -1
  399. package/dist/infra/lib/gemini/orchestration.js +0 -62
  400. package/dist/infra/lib/gemini/orchestration.js.map +0 -1
  401. package/dist/infra/lib/gemini/types.d.ts +0 -115
  402. package/dist/infra/lib/gemini/types.d.ts.map +0 -1
  403. package/dist/infra/lib/gemini/types.js +0 -5
  404. package/dist/infra/lib/gemini/types.js.map +0 -1
  405. package/dist/infra/orchestrator/AgentAnnouncer.d.ts +0 -64
  406. package/dist/infra/orchestrator/AgentAnnouncer.d.ts.map +0 -1
  407. package/dist/infra/orchestrator/AgentAnnouncer.js +0 -127
  408. package/dist/infra/orchestrator/AgentAnnouncer.js.map +0 -1
  409. package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts +0 -5
  410. package/dist/infra/orchestrator/AgentAnnouncer.test.d.ts.map +0 -1
  411. package/dist/infra/orchestrator/AgentAnnouncer.test.js +0 -119
  412. package/dist/infra/orchestrator/AgentAnnouncer.test.js.map +0 -1
  413. package/dist/infra/orchestrator/AgentExecutor.d.ts +0 -22
  414. package/dist/infra/orchestrator/AgentExecutor.d.ts.map +0 -1
  415. package/dist/infra/orchestrator/AgentExecutor.js +0 -272
  416. package/dist/infra/orchestrator/AgentExecutor.js.map +0 -1
  417. package/dist/infra/orchestrator/AgentManager.d.ts +0 -72
  418. package/dist/infra/orchestrator/AgentManager.d.ts.map +0 -1
  419. package/dist/infra/orchestrator/AgentManager.js +0 -183
  420. package/dist/infra/orchestrator/AgentManager.js.map +0 -1
  421. package/dist/infra/orchestrator/AgentManifestCache.d.ts +0 -54
  422. package/dist/infra/orchestrator/AgentManifestCache.d.ts.map +0 -1
  423. package/dist/infra/orchestrator/AgentManifestCache.js +0 -191
  424. package/dist/infra/orchestrator/AgentManifestCache.js.map +0 -1
  425. package/dist/infra/orchestrator/AgentRegistry.d.ts +0 -76
  426. package/dist/infra/orchestrator/AgentRegistry.d.ts.map +0 -1
  427. package/dist/infra/orchestrator/AgentRegistry.js +0 -217
  428. package/dist/infra/orchestrator/AgentRegistry.js.map +0 -1
  429. package/dist/infra/orchestrator/AgentRegistry.test.d.ts +0 -5
  430. package/dist/infra/orchestrator/AgentRegistry.test.d.ts.map +0 -1
  431. package/dist/infra/orchestrator/AgentRegistry.test.js +0 -122
  432. package/dist/infra/orchestrator/AgentRegistry.test.js.map +0 -1
  433. package/dist/infra/orchestrator/BackgroundManager.d.ts +0 -128
  434. package/dist/infra/orchestrator/BackgroundManager.d.ts.map +0 -1
  435. package/dist/infra/orchestrator/BackgroundManager.js +0 -620
  436. package/dist/infra/orchestrator/BackgroundManager.js.map +0 -1
  437. package/dist/infra/orchestrator/BackgroundManager.test.d.ts +0 -6
  438. package/dist/infra/orchestrator/BackgroundManager.test.d.ts.map +0 -1
  439. package/dist/infra/orchestrator/BackgroundManager.test.js +0 -162
  440. package/dist/infra/orchestrator/BackgroundManager.test.js.map +0 -1
  441. package/dist/infra/orchestrator/CheckpointManager.d.ts +0 -54
  442. package/dist/infra/orchestrator/CheckpointManager.d.ts.map +0 -1
  443. package/dist/infra/orchestrator/CheckpointManager.js +0 -121
  444. package/dist/infra/orchestrator/CheckpointManager.js.map +0 -1
  445. package/dist/infra/orchestrator/CodexAgentRuntime.d.ts +0 -12
  446. package/dist/infra/orchestrator/CodexAgentRuntime.d.ts.map +0 -1
  447. package/dist/infra/orchestrator/CodexAgentRuntime.js +0 -94
  448. package/dist/infra/orchestrator/CodexAgentRuntime.js.map +0 -1
  449. package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts +0 -2
  450. package/dist/infra/orchestrator/CodexAgentRuntime.test.d.ts.map +0 -1
  451. package/dist/infra/orchestrator/CodexAgentRuntime.test.js +0 -37
  452. package/dist/infra/orchestrator/CodexAgentRuntime.test.js.map +0 -1
  453. package/dist/infra/orchestrator/LLMCluster.d.ts +0 -82
  454. package/dist/infra/orchestrator/LLMCluster.d.ts.map +0 -1
  455. package/dist/infra/orchestrator/LLMCluster.js +0 -146
  456. package/dist/infra/orchestrator/LLMCluster.js.map +0 -1
  457. package/dist/infra/orchestrator/MultiLlmResearch.d.ts +0 -31
  458. package/dist/infra/orchestrator/MultiLlmResearch.d.ts.map +0 -1
  459. package/dist/infra/orchestrator/MultiLlmResearch.js +0 -160
  460. package/dist/infra/orchestrator/MultiLlmResearch.js.map +0 -1
  461. package/dist/infra/orchestrator/PhasePipeline.d.ts +0 -122
  462. package/dist/infra/orchestrator/PhasePipeline.d.ts.map +0 -1
  463. package/dist/infra/orchestrator/PhasePipeline.js +0 -385
  464. package/dist/infra/orchestrator/PhasePipeline.js.map +0 -1
  465. package/dist/infra/orchestrator/PhaseResultStore.d.ts +0 -39
  466. package/dist/infra/orchestrator/PhaseResultStore.d.ts.map +0 -1
  467. package/dist/infra/orchestrator/PhaseResultStore.js +0 -151
  468. package/dist/infra/orchestrator/PhaseResultStore.js.map +0 -1
  469. package/dist/infra/orchestrator/SessionStore.d.ts +0 -40
  470. package/dist/infra/orchestrator/SessionStore.d.ts.map +0 -1
  471. package/dist/infra/orchestrator/SessionStore.js +0 -116
  472. package/dist/infra/orchestrator/SessionStore.js.map +0 -1
  473. package/dist/infra/orchestrator/SmartRouter.d.ts +0 -90
  474. package/dist/infra/orchestrator/SmartRouter.d.ts.map +0 -1
  475. package/dist/infra/orchestrator/SmartRouter.js +0 -277
  476. package/dist/infra/orchestrator/SmartRouter.js.map +0 -1
  477. package/dist/infra/orchestrator/SmartRouter.test.d.ts +0 -5
  478. package/dist/infra/orchestrator/SmartRouter.test.d.ts.map +0 -1
  479. package/dist/infra/orchestrator/SmartRouter.test.js +0 -484
  480. package/dist/infra/orchestrator/SmartRouter.test.js.map +0 -1
  481. package/dist/infra/orchestrator/SwarmOrchestrator.d.ts +0 -143
  482. package/dist/infra/orchestrator/SwarmOrchestrator.d.ts.map +0 -1
  483. package/dist/infra/orchestrator/SwarmOrchestrator.js +0 -378
  484. package/dist/infra/orchestrator/SwarmOrchestrator.js.map +0 -1
  485. package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts +0 -5
  486. package/dist/infra/orchestrator/SwarmOrchestrator.test.d.ts.map +0 -1
  487. package/dist/infra/orchestrator/SwarmOrchestrator.test.js +0 -95
  488. package/dist/infra/orchestrator/SwarmOrchestrator.test.js.map +0 -1
  489. package/dist/infra/orchestrator/agentDiscovery.d.ts +0 -26
  490. package/dist/infra/orchestrator/agentDiscovery.d.ts.map +0 -1
  491. package/dist/infra/orchestrator/agentDiscovery.js +0 -175
  492. package/dist/infra/orchestrator/agentDiscovery.js.map +0 -1
  493. package/dist/infra/orchestrator/backgroundAgent.d.ts +0 -9
  494. package/dist/infra/orchestrator/backgroundAgent.d.ts.map +0 -1
  495. package/dist/infra/orchestrator/backgroundAgent.js +0 -10
  496. package/dist/infra/orchestrator/backgroundAgent.js.map +0 -1
  497. package/dist/infra/orchestrator/index.d.ts +0 -207
  498. package/dist/infra/orchestrator/index.d.ts.map +0 -1
  499. package/dist/infra/orchestrator/index.js +0 -362
  500. package/dist/infra/orchestrator/index.js.map +0 -1
  501. package/dist/infra/orchestrator/orchestrator.d.ts +0 -60
  502. package/dist/infra/orchestrator/orchestrator.d.ts.map +0 -1
  503. package/dist/infra/orchestrator/orchestrator.js +0 -214
  504. package/dist/infra/orchestrator/orchestrator.js.map +0 -1
  505. package/dist/infra/orchestrator/parallelResearch.d.ts +0 -27
  506. package/dist/infra/orchestrator/parallelResearch.d.ts.map +0 -1
  507. package/dist/infra/orchestrator/parallelResearch.js +0 -285
  508. package/dist/infra/orchestrator/parallelResearch.js.map +0 -1
  509. package/dist/infra/orchestrator/types.d.ts +0 -205
  510. package/dist/infra/orchestrator/types.d.ts.map +0 -1
  511. package/dist/infra/orchestrator/types.js +0 -87
  512. package/dist/infra/orchestrator/types.js.map +0 -1
  513. package/dist/infra/orchestrator/types.test.d.ts +0 -2
  514. package/dist/infra/orchestrator/types.test.d.ts.map +0 -1
  515. package/dist/infra/orchestrator/types.test.js +0 -57
  516. package/dist/infra/orchestrator/types.test.js.map +0 -1
  517. package/dist/tools/semantic/analyzeDependencyGraph.d.ts +0 -12
  518. package/dist/tools/semantic/analyzeDependencyGraph.d.ts.map +0 -1
  519. package/dist/tools/semantic/analyzeDependencyGraph.js +0 -359
  520. package/dist/tools/semantic/analyzeDependencyGraph.js.map +0 -1
  521. package/dist/tools/semantic/astGrep.d.ts +0 -25
  522. package/dist/tools/semantic/astGrep.d.ts.map +0 -1
  523. package/dist/tools/semantic/astGrep.js +0 -324
  524. package/dist/tools/semantic/astGrep.js.map +0 -1
  525. package/dist/tools/semantic/astGrep.test.d.ts +0 -2
  526. package/dist/tools/semantic/astGrep.test.d.ts.map +0 -1
  527. package/dist/tools/semantic/astGrep.test.js +0 -74
  528. package/dist/tools/semantic/astGrep.test.js.map +0 -1
  529. package/dist/tools/semantic/findReferences.d.ts +0 -9
  530. package/dist/tools/semantic/findReferences.d.ts.map +0 -1
  531. package/dist/tools/semantic/findReferences.js +0 -200
  532. package/dist/tools/semantic/findReferences.js.map +0 -1
  533. package/dist/tools/semantic/findSymbol.d.ts +0 -8
  534. package/dist/tools/semantic/findSymbol.d.ts.map +0 -1
  535. package/dist/tools/semantic/findSymbol.js +0 -204
  536. package/dist/tools/semantic/findSymbol.js.map +0 -1
  537. package/dist/tools/semantic/index.d.ts +0 -9
  538. package/dist/tools/semantic/index.d.ts.map +0 -1
  539. package/dist/tools/semantic/index.js +0 -11
  540. package/dist/tools/semantic/index.js.map +0 -1
  541. package/dist/tools/semantic/lsp.d.ts +0 -68
  542. package/dist/tools/semantic/lsp.d.ts.map +0 -1
  543. package/dist/tools/semantic/lsp.js +0 -561
  544. package/dist/tools/semantic/lsp.js.map +0 -1
  545. package/dist/tools/spec/e2eTestGenerator.d.ts +0 -61
  546. package/dist/tools/spec/e2eTestGenerator.d.ts.map +0 -1
  547. package/dist/tools/spec/e2eTestGenerator.js +0 -255
  548. package/dist/tools/spec/e2eTestGenerator.js.map +0 -1
  549. package/dist/tools/spec/specVersioning.d.ts +0 -76
  550. package/dist/tools/spec/specVersioning.d.ts.map +0 -1
  551. package/dist/tools/spec/specVersioning.js +0 -236
  552. package/dist/tools/spec/specVersioning.js.map +0 -1
  553. package/hooks/scripts/__tests__/keyword-detector.test.js +0 -242
  554. package/hooks/scripts/keyword-detector.js +0 -226
  555. package/skills/characterization-test/SKILL.md +0 -209
  556. package/skills/characterization-test/agents/behavior-capturer.md +0 -50
  557. package/skills/characterization-test/agents/coverage-checker.md +0 -54
  558. package/skills/characterization-test/agents/reporter.md +0 -50
  559. package/skills/characterization-test/agents/test-writer.md +0 -49
  560. package/skills/characterization-test/rubrics/coverage-criteria.md +0 -53
  561. package/skills/characterization-test/templates/test-template.ts +0 -101
  562. package/skills/claude-md-guide/SKILL.md +0 -353
  563. package/skills/claude-md-guide/rubrics/anti-patterns.md +0 -88
  564. package/skills/design-audit/SKILL.md +0 -154
  565. package/skills/design-critique/SKILL.md +0 -140
  566. package/skills/design-distill/SKILL.md +0 -131
  567. package/skills/design-normalize/SKILL.md +0 -135
  568. package/skills/design-polish/SKILL.md +0 -132
  569. package/skills/figma-convert/SKILL.md +0 -236
  570. package/skills/figma-extract/SKILL.md +0 -242
  571. package/skills/interview/SKILL.md +0 -358
  572. package/skills/interview/checklists/api.md +0 -101
  573. package/skills/interview/checklists/feature.md +0 -88
  574. package/skills/interview/checklists/library.md +0 -95
  575. package/skills/interview/checklists/mobile.md +0 -89
  576. package/skills/interview/checklists/webapp.md +0 -97
  577. package/skills/interview/checklists/website.md +0 -99
  578. package/skills/plan/SKILL.md +0 -254
  579. package/skills/rob-pike/SKILL.md +0 -66
  580. package/skills/spec/references/askuser-examples.md +0 -57
  581. package/skills/spec/references/example-session.md +0 -87
  582. package/skills/spec/references/templates.md +0 -194
  583. package/skills/spec-review/SKILL.md +0 -725
  584. package/skills/systematic-debugging/SKILL.md +0 -142
  585. package/skills/techdebt/SKILL.md +0 -126
  586. package/skills/techdebt/agents/analyzer.md +0 -50
  587. package/skills/techdebt/agents/fixer.md +0 -41
  588. package/skills/techdebt/agents/reviewer.md +0 -47
  589. package/skills/techdebt/agents/scanner.md +0 -44
  590. package/skills/techdebt/orchestrator.md +0 -72
  591. package/skills/techdebt/rubrics/severity.md +0 -51
  592. package/skills/techdebt/scripts/scan.js +0 -90
  593. package/skills/techdebt/templates/report.md +0 -86
  594. package/skills/typescript-advanced-types/SKILL.md +0 -68
  595. package/skills/typescript-advanced-types/rubrics/type-patterns.md +0 -109
  596. package/skills/yagni-ladder/SKILL.md +0 -90
  597. /package/skills/{claude-md-guide → agents-md}/templates/claude-md.md +0 -0
  598. /package/skills/{design-polish → design-refine}/rubrics/polish-checklist.md +0 -0
  599. /package/skills/{design-normalize → design-refine}/rubrics/token-naming.md +0 -0
  600. /package/skills/{design-distill → design-refine}/templates/design-system.md +0 -0
  601. /package/skills/{design-audit → design-review}/agents/scorer.md +0 -0
  602. /package/skills/{design-audit → design-review}/rubrics/ai-slop-patterns.md +0 -0
  603. /package/skills/{design-audit → design-review}/rubrics/scoring.md +0 -0
  604. /package/skills/{design-critique → design-review}/rubrics/ux-heuristics.md +0 -0
  605. /package/skills/{figma-convert → figma}/rubrics/conversion-rules.md +0 -0
  606. /package/skills/{figma-extract → figma}/rubrics/image-rules.md +0 -0
  607. /package/skills/{figma-convert → figma}/templates/component.md +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"autoSaveContext.js","sourceRoot":"","sources":["../../../src/tools/memory/autoSaveContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoSaveContext.js","sourceRoot":"","sources":["../../../src/tools/memory/autoSaveContext.ts"],"names":[],"mappings":"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"}
@@ -1,78 +1,3 @@
1
- [2026-06-10T07:48:43.637Z] rm -rf /
2
- [2026-06-10T07:48:43.682Z] ls -la
3
- [2026-06-10T07:48:43.728Z] rm -rf src/infra/lib/autonomy/
4
- [2026-06-10T07:48:46.450Z] rm -rf /
5
- [2026-06-10T07:48:46.533Z] ls -la
6
- [2026-06-10T07:48:46.615Z] rm -rf src/infra/lib/autonomy/
7
- [2026-06-10T23:31:11.461Z] rm -rf /
8
- [2026-06-10T23:31:11.532Z] ls -la
9
- [2026-06-10T23:31:11.610Z] rm -rf src/infra/lib/autonomy/
10
- [2026-06-11T00:54:20.384Z] rm -rf /
11
- [2026-06-11T00:54:20.472Z] ls -la
12
- [2026-06-11T00:54:20.544Z] rm -rf src/infra/lib/autonomy/
13
- [2026-06-11T00:55:23.164Z] rm -rf /
14
- [2026-06-11T00:55:23.258Z] ls -la
15
- [2026-06-11T00:55:23.351Z] rm -rf src/infra/lib/autonomy/
16
- [2026-06-11T01:04:45.163Z] rm -rf /
17
- [2026-06-11T01:04:45.246Z] ls -la
18
- [2026-06-11T01:04:45.326Z] rm -rf src/infra/lib/autonomy/
19
- [2026-06-11T01:05:19.173Z] rm -rf /
20
- [2026-06-11T01:05:19.280Z] ls -la
21
- [2026-06-11T01:05:19.346Z] rm -rf src/infra/lib/autonomy/
22
- [2026-06-11T01:20:55.438Z] rm -rf /
23
- [2026-06-11T01:20:55.530Z] ls -la
24
- [2026-06-11T01:20:55.622Z] rm -rf src/infra/lib/autonomy/
25
- [2026-06-11T01:21:25.176Z] rm -rf /
26
- [2026-06-11T01:21:25.271Z] ls -la
27
- [2026-06-11T01:21:25.380Z] rm -rf src/infra/lib/evolution/
28
- [2026-06-11T01:21:40.631Z] rm -rf /
29
- [2026-06-11T01:21:40.715Z] ls -la
30
- [2026-06-11T01:21:40.789Z] rm -rf src/infra/lib/evolution/
31
- [2026-06-11T01:21:58.442Z] rm -rf /
32
- [2026-06-11T01:21:58.547Z] ls -la
33
- [2026-06-11T01:21:58.640Z] rm -rf src/infra/lib/evolution/
34
- [2026-06-11T01:22:15.393Z] rm -rf /
35
- [2026-06-11T01:22:15.536Z] ls -la
36
- [2026-06-11T01:22:15.628Z] rm -rf src/infra/lib/evolution/
37
- [2026-06-11T01:30:46.209Z] rm -rf /
38
- [2026-06-11T01:30:46.279Z] ls -la
39
- [2026-06-11T01:30:46.366Z] rm -rf src/infra/lib/evolution/
40
- [2026-06-11T05:39:24.632Z] rm -rf /
41
- [2026-06-11T05:39:24.707Z] ls -la
42
- [2026-06-11T05:39:24.788Z] rm -rf src/infra/lib/evolution/
43
- [2026-06-11T05:42:56.571Z] rm -rf /
44
- [2026-06-11T05:42:56.647Z] ls -la
45
- [2026-06-11T05:42:56.719Z] rm -rf src/infra/lib/evolution/
46
- [2026-06-11T05:43:10.797Z] rm -rf /
47
- [2026-06-11T05:43:10.863Z] ls -la
48
- [2026-06-11T05:43:10.937Z] rm -rf src/infra/lib/evolution/
49
- [2026-06-11T05:43:26.675Z] rm -rf /
50
- [2026-06-11T05:43:26.735Z] ls -la
51
- [2026-06-11T05:43:26.812Z] rm -rf src/infra/lib/evolution/
52
- [2026-06-11T06:34:26.211Z] rm -rf /
53
- [2026-06-11T06:34:26.309Z] ls -la
54
- [2026-06-11T06:34:26.395Z] rm -rf src/infra/lib/evolution/
55
- [2026-06-11T06:34:42.990Z] rm -rf /
56
- [2026-06-11T06:34:43.071Z] ls -la
57
- [2026-06-11T06:34:43.148Z] rm -rf src/infra/lib/evolution/
58
- [2026-06-11T06:36:18.231Z] rm -rf /
59
- [2026-06-11T06:36:18.309Z] ls -la
60
- [2026-06-11T06:36:18.387Z] rm -rf src/infra/lib/evolution/
61
- [2026-06-11T07:31:46.181Z] rm -rf /
62
- [2026-06-11T07:31:46.265Z] ls -la
63
- [2026-06-11T07:31:46.343Z] rm -rf src/infra/lib/evolution/
64
- [2026-06-11T07:47:25.041Z] rm -rf /
65
- [2026-06-11T07:47:25.127Z] ls -la
66
- [2026-06-11T07:47:25.229Z] rm -rf src/infra/lib/evolution/
67
- [2026-06-11T07:52:00.840Z] rm -rf /
68
- [2026-06-11T07:52:00.919Z] ls -la
69
- [2026-06-11T07:52:00.992Z] rm -rf src/infra/lib/evolution/
70
- [2026-06-11T07:52:09.088Z] rm -rf /
71
- [2026-06-11T07:52:09.162Z] ls -la
72
- [2026-06-11T07:52:09.229Z] rm -rf src/infra/lib/evolution/
73
- [2026-06-11T07:52:48.347Z] rm -rf /
74
- [2026-06-11T07:52:48.431Z] ls -la
75
- [2026-06-11T07:52:48.509Z] rm -rf src/infra/lib/evolution/
76
- [2026-06-11T07:53:35.344Z] rm -rf /
77
- [2026-06-11T07:53:35.434Z] ls -la
78
- [2026-06-11T07:53:35.516Z] rm -rf src/infra/lib/evolution/
1
+ [2026-07-02T09:11:20.705Z] rm -rf /
2
+ [2026-07-02T09:11:20.800Z] ls -la
3
+ [2026-07-02T09:11:20.907Z] rm -rf src/infra/lib/evolution/
@@ -53,4 +53,68 @@ describe('behavior → section attachment', () => {
53
53
  const footer = { name: 'Footer', children: [{ tag: 'p', classes: '', children: [] }] };
54
54
  expect(behaviorsBlock(footer, behaviors)).toBeNull();
55
55
  });
56
+
57
+ it('renders hover / in-view / time-driven / scroll-lib behavior kinds', () => {
58
+ const behaviors = {
59
+ scroll: [],
60
+ interactive: [],
61
+ hover: [{ label: 'a.cta', tag: 'a', cls: 'cta', transition: 'all 0.3s ease 0s', changed: { 'background-color': { from: 'rgb(0, 0, 0)', to: 'rgb(255, 0, 0)' } } }],
62
+ inview: [{ label: 'div.fade', tag: 'div', cls: 'fade', triggerY: 1400, changed: { opacity: { from: '0', to: '1' } } }],
63
+ timeDriven: [{ label: 'div.slide', tag: 'div', cls: 'slide', mutations: 12, kinds: ['class'] }],
64
+ scrollLib: { name: 'lenis', evidence: 'html.lenis' },
65
+ };
66
+ const hero = {
67
+ name: 'Hero',
68
+ children: [{ tag: 'div', classes: 'fade slide', children: [{ tag: 'a', classes: 'cta', children: [] }] }],
69
+ };
70
+ const block = behaviorsBlock(hero, behaviors);
71
+ expect(block).toContain('**Hover** on `a.cta`');
72
+ expect(block).toContain('transition: `all 0.3s ease 0s`');
73
+ expect(block).toContain('**In-view entrance** on `div.fade` (enters at ~1400px)');
74
+ expect(block).toContain('opacity: `0` → `1`');
75
+ expect(block).toContain('**Time-driven** `div.slide` — 12 mutations/3s');
76
+ expect(block).toContain('lenis');
77
+ });
78
+
79
+ it('renders a page-level scroll-lib note even when no section-scoped behavior matches', () => {
80
+ const onlyLib = { scroll: [], interactive: [], scrollLib: { name: 'lenis', evidence: 'window.Lenis' } };
81
+ const footer = { name: 'Footer', children: [{ tag: 'p', classes: '', children: [] }] };
82
+ expect(behaviorsBlock(footer, onlyLib)).toContain('lenis');
83
+ });
84
+
85
+ it('suppresses the default transition value on hover entries', () => {
86
+ const behaviors = {
87
+ hover: [{ label: 'button.x', tag: 'button', cls: 'x', transition: 'all 0s ease 0s', changed: { color: { from: 'rgb(0, 0, 0)', to: 'rgb(9, 9, 9)' } } }],
88
+ };
89
+ const sec = { name: 'S', children: [{ tag: 'button', classes: 'x', children: [] }] };
90
+ expect(behaviorsBlock(sec, behaviors)).not.toContain('transition:');
91
+ });
92
+ });
93
+
94
+ describe('clone-spec CLI --real-content', () => {
95
+ const runCli = async (extraArgs) => {
96
+ const [fs, os, path, url, cp] = await Promise.all([
97
+ import('fs'), import('os'), import('path'), import('url'), import('child_process'),
98
+ ]);
99
+ const tmp = fs.default.mkdtempSync(path.default.join(os.default.tmpdir(), 'clone-spec-'));
100
+ const sections = path.default.join(tmp, 'sections.json');
101
+ fs.default.writeFileSync(sections, JSON.stringify({
102
+ meta: { feature: 'f', bp: 'mo', url: 'https://x.test' },
103
+ sections: [{ name: 'Hero', nodeRef: '0', tag: 'section', css: {}, children: [] }],
104
+ }));
105
+ const script = url.default.fileURLToPath(new URL('../clone-spec.js', import.meta.url));
106
+ cp.default.execFileSync('node', [script, sections, `--out=${tmp}/specs`, ...extraArgs]);
107
+ return fs.default.readFileSync(path.default.join(tmp, 'specs', 'Hero.spec.md'), 'utf8');
108
+ };
109
+
110
+ it('defaults to placeholder replacement wording', async () => {
111
+ const spec = await runCli([]);
112
+ expect(spec).toContain('(replace copyrighted copy with placeholders)');
113
+ });
114
+
115
+ it('switches to verbatim wording with --real-content', async () => {
116
+ const spec = await runCli(['--real-content']);
117
+ expect(spec).toContain('(verbatim — user confirmed rights to reuse this copy)');
118
+ expect(spec).not.toContain('(replace copyrighted copy with placeholders)');
119
+ });
56
120
  });
@@ -0,0 +1,106 @@
1
+ /**
2
+ * clone-merge-responsive — MO/PC SCSS → mobile-first 병합
3
+ * - mergeRules/emitMerged: 순수 병합 코어
4
+ * - CLI: fixture 디렉토리 → sections/tokens/index/class-plan 병합 산출
5
+ */
6
+
7
+ import { describe, it, expect } from 'vitest';
8
+ import fs from 'fs';
9
+ import os from 'os';
10
+ import path from 'path';
11
+ import { fileURLToPath } from 'url';
12
+ import { execFileSync } from 'child_process';
13
+ import { mergeRules, emitMerged } from '../clone-merge-responsive.js';
14
+ import { parseScss } from '../clone-validate.js';
15
+
16
+ const SCRIPT = fileURLToPath(new URL('../clone-merge-responsive.js', import.meta.url));
17
+
18
+ const MO = `.f__hero { display: flex; flex-direction: column; padding-top: 24px; }
19
+ .f__hero__title { font-size: 28px; color: rgb(0, 0, 0); }`;
20
+
21
+ const PC = `.f__hero { display: flex; flex-direction: row; padding-top: 64px; }
22
+ .f__hero__title { font-size: 48px; color: rgb(0, 0, 0); }
23
+ .f__hero__side { width: 320px; }`;
24
+
25
+ describe('mergeRules', () => {
26
+ const { base, media, stats } = mergeRules(parseScss(MO), parseScss(PC));
27
+
28
+ it('keeps MO declarations as the mobile-first base', () => {
29
+ expect(base.get('.f__hero')).toEqual({
30
+ display: 'flex', 'flex-direction': 'column', 'padding-top': '24px',
31
+ });
32
+ });
33
+
34
+ it('puts only differing PC declarations into the media bucket', () => {
35
+ expect(media.get('.f__hero')).toEqual({ 'flex-direction': 'row', 'padding-top': '64px' });
36
+ // color는 양쪽 동일 → media에서 제외
37
+ expect(media.get('.f__hero__title')).toEqual({ 'font-size': '48px' });
38
+ });
39
+
40
+ it('moves PC-only selectors wholly into the media bucket', () => {
41
+ expect(base.has('.f__hero__side')).toBe(false);
42
+ expect(media.get('.f__hero__side')).toEqual({ width: '320px' });
43
+ expect(stats.pcOnly).toBe(1);
44
+ });
45
+ });
46
+
47
+ describe('emitMerged', () => {
48
+ it('emits base + a single min-width block without duplicating shared declarations', () => {
49
+ const { scss } = emitMerged(parseScss(MO), parseScss(PC), 1024, '// merged');
50
+ expect(scss).toContain('@media (min-width: 1024px)');
51
+ expect(scss.match(/@media/g)).toHaveLength(1);
52
+ // 양 BP 동일 선언은 base에 1번만 등장
53
+ expect(scss.match(/display: flex;/g)).toHaveLength(1);
54
+ expect(scss.match(/color: rgb\(0, 0, 0\);/g)).toHaveLength(1);
55
+ });
56
+
57
+ it('omits the media block when PC has no differences', () => {
58
+ const { scss } = emitMerged(parseScss(MO), parseScss(MO), 1024, '// same');
59
+ expect(scss).not.toContain('@media');
60
+ });
61
+ });
62
+
63
+ describe('CLI file-level merge', () => {
64
+ const write = (dir, rel, content) => {
65
+ const f = path.join(dir, rel);
66
+ fs.mkdirSync(path.dirname(f), { recursive: true });
67
+ fs.writeFileSync(f, content);
68
+ };
69
+
70
+ it('merges section dirs and writes index/tokens/class-plan', () => {
71
+ const tmp = fs.mkdtempSync(path.join(os.tmpdir(), 'clone-merge-'));
72
+ const mo = path.join(tmp, 'mo');
73
+ const pc = path.join(tmp, 'pc');
74
+ const out = path.join(tmp, 'merged');
75
+ write(mo, 'sections/_hero.scss', MO);
76
+ write(pc, 'sections/_hero.scss', PC);
77
+ write(pc, 'sections/_footer.scss', '.f__footer { height: 200px; }'); // PC 전용 섹션
78
+ write(mo, '_tokens.scss', ':root { --c-1: #000; --sp-1: 16px; }');
79
+ write(pc, '_tokens.scss', ':root { --c-1: #000; --sp-1: 32px; }');
80
+ write(mo, 'class-plan.json', JSON.stringify({ 0: 'f__hero' }));
81
+ write(pc, 'class-plan.json', JSON.stringify({ 0: 'f__hero', 0.9: 'f__footer' }));
82
+
83
+ execFileSync('node', [SCRIPT, `--mo=${mo}`, `--pc=${pc}`, `--out=${out}`, '--breakpoint=1024']);
84
+
85
+ const hero = fs.readFileSync(path.join(out, 'sections/_hero.scss'), 'utf8');
86
+ expect(hero).toContain('flex-direction: column');
87
+ expect(hero).toContain('@media (min-width: 1024px)');
88
+
89
+ // PC 전용 섹션 파일은 통째로 media 블록 안
90
+ const footer = fs.readFileSync(path.join(out, 'sections/_footer.scss'), 'utf8');
91
+ expect(footer).toContain('@media (min-width: 1024px)');
92
+ expect(footer).toContain('height: 200px');
93
+
94
+ const tokens = fs.readFileSync(path.join(out, '_tokens.scss'), 'utf8');
95
+ expect(tokens).toContain('--sp-1: 16px'); // base = MO
96
+ expect(tokens).toContain('--sp-1: 32px'); // PC diff → media
97
+
98
+ const index = fs.readFileSync(path.join(out, 'index.scss'), 'utf8');
99
+ expect(index).toContain(`@use './sections/hero'`);
100
+ expect(index).toContain(`@use './sections/footer'`);
101
+
102
+ const plan = JSON.parse(fs.readFileSync(path.join(out, 'class-plan.json'), 'utf8'));
103
+ expect(plan['0']).toBe('f__hero');
104
+ expect(plan['0.9']).toBe('f__footer');
105
+ });
106
+ });
@@ -149,7 +149,7 @@ describe('console.log 허용 경로 정책', () => {
149
149
  expect(isConsoleAllowed('src/tools/convention/validateCodeQuality.ts')).toBe(false);
150
150
  });
151
151
 
152
- it('src/infra/orchestrator/index.ts → 차단', () => {
153
- expect(isConsoleAllowed('src/infra/orchestrator/index.ts')).toBe(false);
152
+ it('src/infra/lib/MemoryManager.ts → 차단', () => {
153
+ expect(isConsoleAllowed('src/infra/lib/MemoryManager.ts')).toBe(false);
154
154
  });
155
155
  });
@@ -260,7 +260,7 @@ describe('prompt-dispatcher: vibe.run 감지 → ledger 파일 생성', () => {
260
260
  ...process.env,
261
261
  CLAUDE_PROJECT_DIR: tmpDir,
262
262
  VIBE_HOOK_DEPTH: undefined,
263
- // keyword-detector 등 자식 프로세스 타임아웃 내 완료
263
+ // 자식 프로세스 타임아웃 내 완료
264
264
  },
265
265
  });
266
266
  expect(result.status).toBe(0);
@@ -37,44 +37,44 @@ function writeSpec(dir, filename, content, status = 'in-progress') {
37
37
  }
38
38
 
39
39
  // ══════════════════════════════════════════════════
40
- // isScopeGuardEnabled — 기본 ON 동작
40
+ // isScopeGuardEnabled — 기본 OFF (opt-in), CLI isScopeGuardOptedIn 과 동일 기본값
41
41
  // ══════════════════════════════════════════════════
42
42
  describe('isScopeGuardEnabled', () => {
43
43
  let tmpDir;
44
44
  beforeEach(() => { tmpDir = makeTempDir(); });
45
45
  afterEach(() => { cleanDir(tmpDir); });
46
46
 
47
- it('config 없음 → true (기본 ON)', () => {
48
- expect(isScopeGuardEnabled(tmpDir)).toBe(true);
47
+ it('config 없음 → false (기본 OFF)', () => {
48
+ expect(isScopeGuardEnabled(tmpDir)).toBe(false);
49
49
  });
50
50
 
51
- it('scopeGuard 키 없는 config → true', () => {
51
+ it('scopeGuard 키 없는 config → false', () => {
52
52
  writeConfig(tmpDir, undefined);
53
- expect(isScopeGuardEnabled(tmpDir)).toBe(true);
53
+ expect(isScopeGuardEnabled(tmpDir)).toBe(false);
54
54
  });
55
55
 
56
- it('scopeGuard.enabled 없는 config → true', () => {
56
+ it('scopeGuard.enabled 없는 config → false', () => {
57
57
  const vibeDir = path.join(tmpDir, '.vibe');
58
58
  fs.mkdirSync(vibeDir, { recursive: true });
59
59
  fs.writeFileSync(path.join(vibeDir, 'config.json'), JSON.stringify({ scopeGuard: {} }));
60
- expect(isScopeGuardEnabled(tmpDir)).toBe(true);
60
+ expect(isScopeGuardEnabled(tmpDir)).toBe(false);
61
61
  });
62
62
 
63
- it('scopeGuard.enabled=true → true', () => {
63
+ it('scopeGuard.enabled=true → true (명시적 opt-in)', () => {
64
64
  writeConfig(tmpDir, { enabled: true });
65
65
  expect(isScopeGuardEnabled(tmpDir)).toBe(true);
66
66
  });
67
67
 
68
- it('scopeGuard.enabled=false → false (명시적 opt-out)', () => {
68
+ it('scopeGuard.enabled=false → false', () => {
69
69
  writeConfig(tmpDir, { enabled: false });
70
70
  expect(isScopeGuardEnabled(tmpDir)).toBe(false);
71
71
  });
72
72
 
73
- it('legacy .claude/vibe/config.json에서도 enabled=false 인식', () => {
73
+ it('legacy .claude/vibe/config.json에서도 enabled=true 인식', () => {
74
74
  const legacyDir = path.join(tmpDir, '.claude', 'vibe');
75
75
  fs.mkdirSync(legacyDir, { recursive: true });
76
- fs.writeFileSync(path.join(legacyDir, 'config.json'), JSON.stringify({ scopeGuard: { enabled: false } }));
77
- expect(isScopeGuardEnabled(tmpDir)).toBe(false);
76
+ fs.writeFileSync(path.join(legacyDir, 'config.json'), JSON.stringify({ scopeGuard: { enabled: true } }));
77
+ expect(isScopeGuardEnabled(tmpDir)).toBe(true);
78
78
  });
79
79
  });
80
80
 
@@ -7,7 +7,7 @@
7
7
  * - 책임 3) error_category 분류기 + 3-fail detector → anti-pattern md (Phase 2)
8
8
  * - 책임 간 독립성, hot-path 안정성
9
9
  *
10
- * 패턴: keyword-detector.test.js 동일한 execFileSync 방식.
10
+ * 패턴: 스크립트 공통의 execFileSync 방식.
11
11
  */
12
12
  import { describe, it, expect, beforeEach } from 'vitest';
13
13
  import { spawnSync } from 'child_process';