sinapse-ai 1.8.0 → 1.9.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (361) hide show
  1. package/.claude/hooks/mind-clone-governance.py +212 -212
  2. package/.claude/hooks/read-protection.py +152 -152
  3. package/.claude/hooks/slug-validation.py +175 -175
  4. package/.claude/hooks/sql-governance.py +183 -183
  5. package/.claude/rules/documentation-first.md +1 -1
  6. package/.claude/rules/hook-governance.md +1 -1
  7. package/.claude/rules/mandatory-delegation.md +1 -1
  8. package/.claude/rules/project-intelligence.md +1 -1
  9. package/.codex/agents/analyst.md +4 -371
  10. package/.codex/agents/animations-orqx.md +4 -57
  11. package/.codex/agents/architect.md +4 -560
  12. package/.codex/agents/brand-orqx.md +4 -95
  13. package/.codex/agents/claude-mastery-chief.md +4 -0
  14. package/.codex/agents/cloning-orqx.md +4 -70
  15. package/.codex/agents/commercial-orqx.md +4 -67
  16. package/.codex/agents/config-engineer.md +2 -2
  17. package/.codex/agents/content-orqx.md +4 -77
  18. package/.codex/agents/copy-orqx.md +4 -65
  19. package/.codex/agents/cost-optimizer.md +4 -0
  20. package/.codex/agents/council-orqx.md +4 -68
  21. package/.codex/agents/courses-orqx.md +4 -64
  22. package/.codex/agents/cro-persuasion.md +4 -0
  23. package/.codex/agents/cyber-orqx.md +4 -67
  24. package/.codex/agents/data-engineer.md +4 -542
  25. package/.codex/agents/design-orqx.md +4 -65
  26. package/.codex/agents/design-system.md +4 -210
  27. package/.codex/agents/developer.md +4 -666
  28. package/.codex/agents/devops.md +4 -668
  29. package/.codex/agents/finance-orqx.md +4 -57
  30. package/.codex/agents/fiscal-compliance-br.md +4 -0
  31. package/.codex/agents/forecast-strategist.md +4 -0
  32. package/.codex/agents/growth-orqx.md +4 -75
  33. package/.codex/agents/hooks-architect.md +2 -2
  34. package/.codex/agents/mcp-integrator.md +2 -2
  35. package/.codex/agents/paidmedia-orqx.md +4 -67
  36. package/.codex/agents/platform-aesthetic-director.md +4 -0
  37. package/.codex/agents/premium-packaging-strategist.md +4 -0
  38. package/.codex/agents/product-lead.md +4 -371
  39. package/.codex/agents/product-orqx.md +4 -57
  40. package/.codex/agents/product-surface-director.md +4 -0
  41. package/.codex/agents/project-integrator.md +2 -2
  42. package/.codex/agents/project-lead.md +4 -414
  43. package/.codex/agents/quality-gate.md +4 -547
  44. package/.codex/agents/research-orqx.md +4 -67
  45. package/.codex/agents/roadmap-sentinel.md +2 -2
  46. package/.codex/agents/skill-craftsman.md +2 -2
  47. package/.codex/agents/snps-orqx.md +4 -684
  48. package/.codex/agents/sop-extractor.md +4 -61
  49. package/.codex/agents/sprint-lead.md +4 -324
  50. package/.codex/agents/squad-creator.md +4 -402
  51. package/.codex/agents/storytelling-orqx.md +4 -65
  52. package/.codex/agents/swarm-orqx.md +4 -64
  53. package/.codex/agents/ux-design-expert.md +4 -532
  54. package/.codex/agents/ux-designer.md +4 -124
  55. package/.codex/command-registry.json +9 -9
  56. package/.codex/delegation-matrix.json +375 -839
  57. package/.codex/delegation-parity.json +658 -0
  58. package/.codex/handoff-packet.parity.schema.json +148 -0
  59. package/.codex/handoff-packet.template.json +26 -0
  60. package/.codex/instructions.md +8 -8
  61. package/.codex/scripts/resolve-codex-agent.js +482 -0
  62. package/.codex/scripts/resolve-codex-command.js +75 -12
  63. package/.codex/scripts/resolve-codex-delegation.js +131 -92
  64. package/.codex/skills/sinapse-claude/SKILL.md +3 -3
  65. package/.codex/skills/sinapse-po/SKILL.md +1 -1
  66. package/.codex/tasks/resolve-sinapse-conflict.md +1 -1
  67. package/.sinapse-ai/constitution.md +5 -5
  68. package/.sinapse-ai/core/doctor/checks/git-hooks.js +163 -19
  69. package/.sinapse-ai/core/events/dashboard-emitter.js +30 -9
  70. package/.sinapse-ai/core/execution/subagent-dispatcher.js +1 -1
  71. package/.sinapse-ai/core/synapse/engine.js +15 -0
  72. package/.sinapse-ai/core/ui/observability-panel.js +240 -0
  73. package/.sinapse-ai/core-config.yaml +0 -20
  74. package/.sinapse-ai/data/entity-registry.yaml +185 -236
  75. package/.sinapse-ai/development/agents/snps-orqx.md +16 -26
  76. package/.sinapse-ai/development/tasks/build-autonomous.md +11 -1
  77. package/.sinapse-ai/development/tasks/build-resume.md +8 -0
  78. package/.sinapse-ai/development/tasks/build-status.md +8 -0
  79. package/.sinapse-ai/development/tasks/build.md +8 -0
  80. package/.sinapse-ai/development/tasks/cleanup-worktrees.md +8 -1
  81. package/.sinapse-ai/development/tasks/gotcha.md +8 -0
  82. package/.sinapse-ai/development/tasks/gotchas.md +8 -0
  83. package/.sinapse-ai/development/tasks/ids-health.md +14 -6
  84. package/.sinapse-ai/development/tasks/list-mcps.md +15 -0
  85. package/.sinapse-ai/development/tasks/merge-worktree.md +8 -1
  86. package/.sinapse-ai/development/tasks/qa-review-build.md +18 -0
  87. package/.sinapse-ai/development/tasks/remove-mcp.md +8 -1
  88. package/.sinapse-ai/development/tasks/validate-agents.md +26 -14
  89. package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
  90. package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
  91. package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
  92. package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
  93. package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
  94. package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
  95. package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
  96. package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
  97. package/.sinapse-ai/git-hooks/lib/framework-guard.js +258 -0
  98. package/.sinapse-ai/git-hooks/lib/secret-scanner-core.js +355 -0
  99. package/.sinapse-ai/git-hooks/lib/staged-secret-scan.js +179 -0
  100. package/.sinapse-ai/git-hooks/lib/staged-sql-guard.js +204 -0
  101. package/.sinapse-ai/git-hooks/post-commit +28 -0
  102. package/.sinapse-ai/git-hooks/pre-commit +81 -0
  103. package/.sinapse-ai/git-hooks/pre-push +83 -0
  104. package/.sinapse-ai/hooks/ids-post-commit.js +13 -11
  105. package/.sinapse-ai/hooks/ids-pre-push.js +9 -7
  106. package/.sinapse-ai/infrastructure/scripts/codex-parity/resolve.js +161 -0
  107. package/.sinapse-ai/infrastructure/scripts/dashboard-status-writer.js +6 -2
  108. package/.sinapse-ai/infrastructure/scripts/ide-sync/index.js +65 -68
  109. package/.sinapse-ai/infrastructure/scripts/sync-codex-local-first.js +156 -1
  110. package/.sinapse-ai/infrastructure/scripts/validate-codex-delegation.js +1 -4
  111. package/.sinapse-ai/infrastructure/scripts/validate-codex-integration.js +41 -5
  112. package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
  113. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -16
  114. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -59
  115. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -12
  116. package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
  117. package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
  118. package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
  119. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
  120. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
  121. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
  122. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
  123. package/.sinapse-ai/infrastructure/templates/safe-collab/CODEOWNERS.template +16 -16
  124. package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
  125. package/.sinapse-ai/install-manifest.yaml +112 -164
  126. package/.sinapse-ai/local-config.yaml.template +65 -65
  127. package/.sinapse-ai/product/templates/adr.hbs +126 -126
  128. package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
  129. package/.sinapse-ai/product/templates/epic.hbs +213 -213
  130. package/.sinapse-ai/product/templates/ide-rules/codex-rules.md +30 -0
  131. package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
  132. package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
  133. package/.sinapse-ai/product/templates/prd.hbs +202 -202
  134. package/.sinapse-ai/product/templates/statusline/statusline-script.js +31 -8
  135. package/.sinapse-ai/product/templates/statusline/track-agent-clear.cjs +79 -0
  136. package/.sinapse-ai/product/templates/statusline/track-agent.cjs +218 -0
  137. package/.sinapse-ai/product/templates/story.hbs +264 -264
  138. package/.sinapse-ai/product/templates/task.hbs +171 -171
  139. package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
  140. package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
  141. package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
  142. package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
  143. package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
  144. package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
  145. package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
  146. package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
  147. package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
  148. package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
  149. package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
  150. package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
  151. package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
  152. package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
  153. package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
  154. package/AGENTS.md +193 -0
  155. package/CHANGELOG.md +1247 -0
  156. package/LICENSE +63 -63
  157. package/README.en.md +17 -18
  158. package/README.md +18 -19
  159. package/bin/cli.js +1 -1
  160. package/bin/commands/install.js +194 -22
  161. package/bin/commands/status.js +14 -1
  162. package/bin/commands/uninstall.js +2 -2
  163. package/bin/commands/update.js +52 -0
  164. package/bin/lib/setup-statusline.js +191 -0
  165. package/bin/sinapse-init.js +11 -83
  166. package/bin/utils/framework-guard.js +17 -4
  167. package/bin/utils/secret-scanner-core.js +109 -7
  168. package/bin/utils/staged-sql-guard.js +204 -0
  169. package/bin/utils/validate-publish.js +63 -0
  170. package/docs/agent-reference-guide.md +5 -7
  171. package/docs/framework/agent-prefix-convention.md +58 -0
  172. package/docs/framework/architecture-overview.md +4 -4
  173. package/docs/framework/collaboration-activation.md +45 -0
  174. package/docs/framework/guiding-principles.md +9 -9
  175. package/docs/getting-started.md +1 -1
  176. package/docs/guides/agent-reference.md +1 -1
  177. package/docs/guides/codex-config.md +4 -5
  178. package/docs/pt/architecture/sub-orqx-pattern.md +20 -18
  179. package/docs/security/overview.md +1 -1
  180. package/package.json +16 -12
  181. package/packages/installer/src/index.js +26 -0
  182. package/packages/installer/src/installer/git-hooks-installer.js +211 -47
  183. package/packages/installer/src/installer/sinapse-ai-installer.js +71 -0
  184. package/packages/installer/src/wizard/feedback.js +1 -1
  185. package/packages/installer/src/wizard/ide-config-generator.js +26 -26
  186. package/packages/installer/src/wizard/index.js +53 -4
  187. package/packages/sinapse-install/bin/edmcp.js +0 -0
  188. package/packages/sinapse-install/bin/sinapse-install.js +0 -0
  189. package/scripts/audit-tasks.cjs +112 -91
  190. package/scripts/check-markdown-links.py +352 -352
  191. package/scripts/prepare-hooks.js +58 -0
  192. package/scripts/regenerate-orqx-stubs.ps1 +2 -3
  193. package/scripts/sync-counts.js +10 -2
  194. package/scripts/sync-squad-yaml-components.js +108 -6
  195. package/scripts/validate-agents-md.js +128 -0
  196. package/scripts/validate-all.js +1 -0
  197. package/scripts/validate-squad-orqx.js +19 -9
  198. package/sinapse/agents/sinapse-orqx.md +16 -26
  199. package/sinapse/agents/snps-orqx.md +15 -25
  200. package/sinapse/knowledge-base/routing-catalog.md +1 -1
  201. package/sinapse/tasks/diagnose-and-route.md +1 -1
  202. package/sinapse/tasks/squad-status-report.md +1 -1
  203. package/squads/claude-code-mastery/agents/claude-mastery-chief.md +1 -1
  204. package/squads/claude-code-mastery/agents/hooks-architect.md +60 -68
  205. package/squads/claude-code-mastery/knowledge-base/swarm-orchestration-patterns.md +1 -1
  206. package/squads/claude-code-mastery/squad.yaml +8 -0
  207. package/squads/claude-code-mastery/tasks/audit-setup.md +1 -1
  208. package/squads/claude-code-mastery/workflows/optimization-cycle.yaml +4 -4
  209. package/squads/claude-code-mastery/workflows/project-setup-cycle.yaml +4 -4
  210. package/squads/squad-animations/README.md +1 -1
  211. package/squads/squad-animations/squad.yaml +1 -1
  212. package/squads/squad-brand/squad.yaml +1 -1
  213. package/squads/squad-cloning/README.md +1 -1
  214. package/squads/squad-cloning/squad.yaml +1 -1
  215. package/squads/squad-commercial/README.md +1 -1
  216. package/squads/squad-commercial/squad.yaml +2 -3
  217. package/squads/squad-content/README.md +1 -1
  218. package/squads/squad-content/squad.yaml +1 -1
  219. package/squads/squad-copy/README.md +1 -1
  220. package/squads/squad-copy/squad.yaml +2 -3
  221. package/squads/squad-council/README.md +1 -1
  222. package/squads/squad-courses/README.md +1 -1
  223. package/squads/squad-courses/squad.yaml +1 -1
  224. package/squads/squad-cybersecurity/README.md +1 -1
  225. package/squads/squad-cybersecurity/squad.yaml +2 -3
  226. package/squads/squad-design/README.md +1 -1
  227. package/squads/{squad-artdir → squad-design}/agents/cro-persuasion.md +1 -1
  228. package/squads/{squad-artdir → squad-design}/agents/platform-aesthetic-director.md +2 -2
  229. package/squads/{squad-artdir → squad-design}/agents/premium-packaging-strategist.md +2 -2
  230. package/squads/{squad-artdir → squad-design}/agents/product-surface-director.md +3 -3
  231. package/squads/squad-design/squad.yaml +6 -3
  232. package/squads/squad-finance/README.md +1 -1
  233. package/squads/squad-finance/squad.yaml +7 -1
  234. package/squads/squad-growth/README.md +1 -1
  235. package/squads/squad-growth/squad.yaml +1 -1
  236. package/squads/squad-paidmedia/README.md +1 -1
  237. package/squads/squad-paidmedia/squad.yaml +2 -3
  238. package/squads/squad-product/README.md +1 -1
  239. package/squads/squad-product/squad.yaml +1 -1
  240. package/squads/squad-research/README.md +1 -1
  241. package/squads/squad-research/squad.yaml +2 -3
  242. package/squads/squad-storytelling/README.md +1 -1
  243. package/squads/squad-storytelling/squad.yaml +2 -3
  244. package/.codex/agents/brad-frost.md +0 -46
  245. package/.codex/agents/claude-orqx.md +0 -72
  246. package/.codex/agents/copy-chief.md +0 -162
  247. package/.codex/agents/cyber-chief.md +0 -169
  248. package/.codex/agents/dan-mall.md +0 -43
  249. package/.codex/agents/data-chief.md +0 -198
  250. package/.codex/agents/dave-malouf.md +0 -43
  251. package/.codex/agents/db-sage.md +0 -152
  252. package/.codex/agents/design-chief.md +0 -226
  253. package/.codex/agents/dev.md +0 -102
  254. package/.codex/agents/legal-chief.md +0 -199
  255. package/.codex/agents/nano-banana-generator.md +0 -42
  256. package/.codex/agents/pm.md +0 -81
  257. package/.codex/agents/po.md +0 -85
  258. package/.codex/agents/qa.md +0 -98
  259. package/.codex/agents/sm.md +0 -77
  260. package/.codex/agents/squad-chief.md +0 -1553
  261. package/.codex/agents/squad.md +0 -66
  262. package/.codex/agents/story-chief.md +0 -180
  263. package/.codex/agents/tools-orqx.md +0 -219
  264. package/.codex/agents/traffic-masters-chief.md +0 -211
  265. package/.sinapse-ai/core/memory/__tests__/active-modules.verify.js +0 -265
  266. package/.sinapse-ai/core/permissions/__tests__/permission-mode.test.js +0 -293
  267. package/.sinapse-ai/data/registry-update-log.jsonl +0 -158
  268. package/.sinapse-ai/infrastructure/scripts/ide-sync/gemini-commands.js +0 -298
  269. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/antigravity.js +0 -121
  270. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/cursor.js +0 -119
  271. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/github-copilot.js +0 -191
  272. package/.sinapse-ai/infrastructure/scripts/ide-sync/transformers/kimi.js +0 -448
  273. package/.sinapse-ai/infrastructure/tests/project-status-loader.test.js +0 -569
  274. package/.sinapse-ai/infrastructure/tests/regression-suite-v2.md +0 -622
  275. package/.sinapse-ai/infrastructure/tests/validate-module.js +0 -98
  276. package/.sinapse-ai/infrastructure/tests/worktree-manager.test.js +0 -620
  277. package/.sinapse-ai/monitor/hooks/lib/__init__.py +0 -2
  278. package/.sinapse-ai/monitor/hooks/lib/enrich.py +0 -59
  279. package/.sinapse-ai/monitor/hooks/lib/send_event.py +0 -48
  280. package/.sinapse-ai/monitor/hooks/notification.py +0 -30
  281. package/.sinapse-ai/monitor/hooks/post_tool_use.py +0 -46
  282. package/.sinapse-ai/monitor/hooks/pre_compact.py +0 -30
  283. package/.sinapse-ai/monitor/hooks/pre_tool_use.py +0 -41
  284. package/.sinapse-ai/monitor/hooks/stop.py +0 -30
  285. package/.sinapse-ai/monitor/hooks/subagent_stop.py +0 -30
  286. package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +0 -39
  287. package/.sinapse-ai/product/templates/statusline/track-agent.sh +0 -69
  288. package/.sinapse-ai/workflow-intelligence/__tests__/confidence-scorer.test.js +0 -335
  289. package/.sinapse-ai/workflow-intelligence/__tests__/integration.test.js +0 -340
  290. package/.sinapse-ai/workflow-intelligence/__tests__/suggestion-engine.test.js +0 -438
  291. package/.sinapse-ai/workflow-intelligence/__tests__/wave-analyzer.test.js +0 -448
  292. package/.sinapse-ai/workflow-intelligence/__tests__/workflow-registry.test.js +0 -303
  293. package/bin/sinapse-graph.js +0 -19
  294. package/docs/codex-integration-process.md +0 -22
  295. package/docs/codex-parity-program.md +0 -27
  296. package/packages/installer/src/__tests__/performance-benchmark.js +0 -383
  297. package/packages/installer/tests/integration/environment-configuration.test.js +0 -332
  298. package/packages/installer/tests/integration/wizard-detection.test.js +0 -352
  299. package/packages/installer/tests/unit/artifact-copy-pipeline/artifact-copy-pipeline.test.js +0 -383
  300. package/packages/installer/tests/unit/claude-md-template-v5/claude-md-template-v5.test.js +0 -193
  301. package/packages/installer/tests/unit/config-validator.test.js +0 -315
  302. package/packages/installer/tests/unit/detection/detect-project-type.test.js +0 -539
  303. package/packages/installer/tests/unit/doctor/doctor-checks.test.js +0 -636
  304. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +0 -192
  305. package/packages/installer/tests/unit/entity-registry-bootstrap.test.js +0 -186
  306. package/packages/installer/tests/unit/env-template.test.js +0 -187
  307. package/packages/installer/tests/unit/generate-settings-json/generate-settings-json.test.js +0 -310
  308. package/packages/installer/tests/unit/git-hooks-installer.test.js +0 -262
  309. package/packages/installer/tests/unit/ide-sync-integration/ide-sync-integration.test.js +0 -231
  310. package/packages/installer/tests/unit/merger/env-merger.test.js +0 -191
  311. package/packages/installer/tests/unit/merger/markdown-merger.test.js +0 -262
  312. package/packages/installer/tests/unit/merger/strategies.test.js +0 -154
  313. package/packages/installer/tests/unit/merger/yaml-merger.test.js +0 -328
  314. package/packages/sinapse-install/tests/unit/chrome-brain.smoke.test.js +0 -66
  315. package/scripts/install-monitor-hooks.sh +0 -82
  316. package/squads/squad-artdir/README.md +0 -90
  317. package/squads/squad-artdir/agents/accessibility-guardian.md +0 -184
  318. package/squads/squad-artdir/agents/artdir-orqx.md +0 -222
  319. package/squads/squad-artdir/agents/color-psychologist.md +0 -166
  320. package/squads/squad-artdir/agents/design-system-architect.md +0 -100
  321. package/squads/squad-artdir/agents/ia-architect.md +0 -169
  322. package/squads/squad-artdir/agents/interaction-designer.md +0 -162
  323. package/squads/squad-artdir/agents/layout-engineer.md +0 -163
  324. package/squads/squad-artdir/agents/motion-architect.md +0 -185
  325. package/squads/squad-artdir/agents/type-systemist.md +0 -138
  326. package/squads/squad-artdir/agents/visual-strategist.md +0 -127
  327. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +0 -172
  328. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +0 -289
  329. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +0 -457
  330. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +0 -247
  331. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +0 -133
  332. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +0 -229
  333. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +0 -242
  334. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +0 -289
  335. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +0 -221
  336. package/squads/squad-artdir/package.json +0 -20
  337. package/squads/squad-artdir/squad.yaml +0 -299
  338. package/squads/squad-artdir/tasks/audit-conversion.md +0 -97
  339. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +0 -55
  340. package/squads/squad-artdir/tasks/consult-saas-canon.md +0 -54
  341. package/squads/squad-artdir/tasks/create-art-direction-brief.md +0 -110
  342. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +0 -61
  343. package/squads/squad-artdir/tasks/create-wireflow.md +0 -84
  344. package/squads/squad-artdir/tasks/design-color-system.md +0 -81
  345. package/squads/squad-artdir/tasks/design-product-surface.md +0 -60
  346. package/squads/squad-artdir/tasks/design-token-system.md +0 -58
  347. package/squads/squad-artdir/tasks/diagnose-visual-language.md +0 -92
  348. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +0 -65
  349. package/squads/squad-artdir/tasks/specify-motion-system.md +0 -84
  350. package/squads/squad-artdir/tasks/validate-against-pillars.md +0 -143
  351. package/squads/squad-artdir/templates/art-direction-brief-template.md +0 -215
  352. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +0 -142
  353. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +0 -179
  354. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +0 -338
  355. package/squads/squad-commercial/agents/legal-chief.md +0 -199
  356. package/squads/squad-copy/agents/copy-chief.md +0 -162
  357. package/squads/squad-cybersecurity/agents/cyber-chief.md +0 -169
  358. package/squads/squad-design/agents/design-chief.md +0 -226
  359. package/squads/squad-paidmedia/agents/traffic-masters-chief.md +0 -211
  360. package/squads/squad-research/agents/data-chief.md +0 -198
  361. package/squads/squad-storytelling/agents/story-chief.md +0 -180
@@ -1,153 +1,153 @@
1
- -- Multi-Tenant RLS Policy Template
2
- -- Table: :table_name
3
- -- Security Model: Tenant isolation with user permissions
4
- -- Created: :created_date
5
- --
6
- -- This template creates RLS policies for multi-tenant applications
7
- -- where data is isolated by organization/tenant
8
-
9
- -- =============================================================================
10
- -- PREREQUISITES: Tenant Infrastructure
11
- -- =============================================================================
12
-
13
- -- Tenants/Organizations table (if not exists)
14
- CREATE TABLE IF NOT EXISTS tenants (
15
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
16
- name TEXT NOT NULL,
17
- slug TEXT UNIQUE NOT NULL,
18
- settings JSONB DEFAULT '{}'::JSONB,
19
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
20
- updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
21
- );
22
-
23
- -- Tenant memberships (which users belong to which tenants)
24
- CREATE TABLE IF NOT EXISTS tenant_members (
25
- id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
26
- tenant_id UUID NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
27
- user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE,
28
- role TEXT NOT NULL DEFAULT 'member' CHECK (role IN ('owner', 'admin', 'member', 'viewer')),
29
- created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
30
-
31
- UNIQUE(tenant_id, user_id)
32
- );
33
-
34
- CREATE INDEX IF NOT EXISTS idx_tenant_members_user ON tenant_members(user_id);
35
- CREATE INDEX IF NOT EXISTS idx_tenant_members_tenant ON tenant_members(tenant_id);
36
-
37
- -- =============================================================================
38
- -- HELPER FUNCTIONS
39
- -- =============================================================================
40
-
41
- -- Get current user's tenant IDs
42
- CREATE OR REPLACE FUNCTION get_user_tenant_ids()
43
- RETURNS UUID[] AS $$
44
- BEGIN
45
- RETURN ARRAY(
46
- SELECT tenant_id
47
- FROM tenant_members
48
- WHERE user_id = auth.uid()
49
- );
50
- END;
51
- $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
52
-
53
- -- Check if user is member of tenant
54
- CREATE OR REPLACE FUNCTION is_tenant_member(check_tenant_id UUID)
55
- RETURNS BOOLEAN AS $$
56
- BEGIN
57
- RETURN EXISTS (
58
- SELECT 1
59
- FROM tenant_members
60
- WHERE tenant_id = check_tenant_id
61
- AND user_id = auth.uid()
62
- );
63
- END;
64
- $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
65
-
66
- -- Check user's role in tenant
67
- CREATE OR REPLACE FUNCTION get_tenant_role(check_tenant_id UUID)
68
- RETURNS TEXT AS $$
69
- BEGIN
70
- RETURN (
71
- SELECT role
72
- FROM tenant_members
73
- WHERE tenant_id = check_tenant_id
74
- AND user_id = auth.uid()
75
- );
76
- END;
77
- $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
78
-
79
- -- =============================================================================
80
- -- TABLE WITH TENANT COLUMN
81
- -- =============================================================================
82
- -- Your table should have a tenant_id column:
83
- --
84
- -- ALTER TABLE :table_name ADD COLUMN IF NOT EXISTS tenant_id UUID REFERENCES tenants(id);
85
- -- CREATE INDEX IF NOT EXISTS idx_:table_name_tenant ON :table_name(tenant_id);
86
-
87
- -- =============================================================================
88
- -- RLS POLICIES FOR TENANT ISOLATION
89
- -- =============================================================================
90
-
91
- ALTER TABLE :table_name ENABLE ROW LEVEL SECURITY;
92
-
93
- -- SELECT: Users can only see rows from their tenants
94
- DROP POLICY IF EXISTS ":table_name_tenant_select" ON :table_name;
95
- CREATE POLICY ":table_name_tenant_select"
96
- ON :table_name
97
- FOR SELECT
98
- TO authenticated
99
- USING (
100
- tenant_id = ANY(get_user_tenant_ids())
101
- );
102
-
103
- -- INSERT: Users can only insert into tenants they belong to
104
- DROP POLICY IF EXISTS ":table_name_tenant_insert" ON :table_name;
105
- CREATE POLICY ":table_name_tenant_insert"
106
- ON :table_name
107
- FOR INSERT
108
- TO authenticated
109
- WITH CHECK (
110
- is_tenant_member(tenant_id)
111
- );
112
-
113
- -- UPDATE: Only admins/owners can update
114
- DROP POLICY IF EXISTS ":table_name_tenant_update" ON :table_name;
115
- CREATE POLICY ":table_name_tenant_update"
116
- ON :table_name
117
- FOR UPDATE
118
- TO authenticated
119
- USING (
120
- tenant_id = ANY(get_user_tenant_ids())
121
- AND get_tenant_role(tenant_id) IN ('owner', 'admin')
122
- )
123
- WITH CHECK (
124
- tenant_id = ANY(get_user_tenant_ids())
125
- );
126
-
127
- -- DELETE: Only owners can delete
128
- DROP POLICY IF EXISTS ":table_name_tenant_delete" ON :table_name;
129
- CREATE POLICY ":table_name_tenant_delete"
130
- ON :table_name
131
- FOR DELETE
132
- TO authenticated
133
- USING (
134
- get_tenant_role(tenant_id) = 'owner'
135
- );
136
-
137
- -- =============================================================================
138
- -- RLS ON TENANT TABLES THEMSELVES
139
- -- =============================================================================
140
-
141
- ALTER TABLE tenants ENABLE ROW LEVEL SECURITY;
142
- ALTER TABLE tenant_members ENABLE ROW LEVEL SECURITY;
143
-
144
- -- Tenants: Members can see their tenants
145
- CREATE POLICY "tenants_member_select" ON tenants
146
- FOR SELECT TO authenticated
147
- USING (id = ANY(get_user_tenant_ids()));
148
-
149
- -- Tenant members: Members can see their tenant's members
150
- CREATE POLICY "tenant_members_select" ON tenant_members
151
- FOR SELECT TO authenticated
152
- USING (tenant_id = ANY(get_user_tenant_ids()));
153
-
1
+ -- Multi-Tenant RLS Policy Template
2
+ -- Table: :table_name
3
+ -- Security Model: Tenant isolation with user permissions
4
+ -- Created: :created_date
5
+ --
6
+ -- This template creates RLS policies for multi-tenant applications
7
+ -- where data is isolated by organization/tenant
8
+
9
+ -- =============================================================================
10
+ -- PREREQUISITES: Tenant Infrastructure
11
+ -- =============================================================================
12
+
13
+ -- Tenants/Organizations table (if not exists)
14
+ CREATE TABLE IF NOT EXISTS tenants (
15
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
16
+ name TEXT NOT NULL,
17
+ slug TEXT UNIQUE NOT NULL,
18
+ settings JSONB DEFAULT '{}'::JSONB,
19
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
20
+ updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
21
+ );
22
+
23
+ -- Tenant memberships (which users belong to which tenants)
24
+ CREATE TABLE IF NOT EXISTS tenant_members (
25
+ id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
26
+ tenant_id UUID NOT NULL REFERENCES tenants(id) ON DELETE CASCADE,
27
+ user_id UUID NOT NULL REFERENCES auth.users(id) ON DELETE CASCADE,
28
+ role TEXT NOT NULL DEFAULT 'member' CHECK (role IN ('owner', 'admin', 'member', 'viewer')),
29
+ created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
30
+
31
+ UNIQUE(tenant_id, user_id)
32
+ );
33
+
34
+ CREATE INDEX IF NOT EXISTS idx_tenant_members_user ON tenant_members(user_id);
35
+ CREATE INDEX IF NOT EXISTS idx_tenant_members_tenant ON tenant_members(tenant_id);
36
+
37
+ -- =============================================================================
38
+ -- HELPER FUNCTIONS
39
+ -- =============================================================================
40
+
41
+ -- Get current user's tenant IDs
42
+ CREATE OR REPLACE FUNCTION get_user_tenant_ids()
43
+ RETURNS UUID[] AS $$
44
+ BEGIN
45
+ RETURN ARRAY(
46
+ SELECT tenant_id
47
+ FROM tenant_members
48
+ WHERE user_id = auth.uid()
49
+ );
50
+ END;
51
+ $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
52
+
53
+ -- Check if user is member of tenant
54
+ CREATE OR REPLACE FUNCTION is_tenant_member(check_tenant_id UUID)
55
+ RETURNS BOOLEAN AS $$
56
+ BEGIN
57
+ RETURN EXISTS (
58
+ SELECT 1
59
+ FROM tenant_members
60
+ WHERE tenant_id = check_tenant_id
61
+ AND user_id = auth.uid()
62
+ );
63
+ END;
64
+ $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
65
+
66
+ -- Check user's role in tenant
67
+ CREATE OR REPLACE FUNCTION get_tenant_role(check_tenant_id UUID)
68
+ RETURNS TEXT AS $$
69
+ BEGIN
70
+ RETURN (
71
+ SELECT role
72
+ FROM tenant_members
73
+ WHERE tenant_id = check_tenant_id
74
+ AND user_id = auth.uid()
75
+ );
76
+ END;
77
+ $$ LANGUAGE plpgsql SECURITY DEFINER STABLE;
78
+
79
+ -- =============================================================================
80
+ -- TABLE WITH TENANT COLUMN
81
+ -- =============================================================================
82
+ -- Your table should have a tenant_id column:
83
+ --
84
+ -- ALTER TABLE :table_name ADD COLUMN IF NOT EXISTS tenant_id UUID REFERENCES tenants(id);
85
+ -- CREATE INDEX IF NOT EXISTS idx_:table_name_tenant ON :table_name(tenant_id);
86
+
87
+ -- =============================================================================
88
+ -- RLS POLICIES FOR TENANT ISOLATION
89
+ -- =============================================================================
90
+
91
+ ALTER TABLE :table_name ENABLE ROW LEVEL SECURITY;
92
+
93
+ -- SELECT: Users can only see rows from their tenants
94
+ DROP POLICY IF EXISTS ":table_name_tenant_select" ON :table_name;
95
+ CREATE POLICY ":table_name_tenant_select"
96
+ ON :table_name
97
+ FOR SELECT
98
+ TO authenticated
99
+ USING (
100
+ tenant_id = ANY(get_user_tenant_ids())
101
+ );
102
+
103
+ -- INSERT: Users can only insert into tenants they belong to
104
+ DROP POLICY IF EXISTS ":table_name_tenant_insert" ON :table_name;
105
+ CREATE POLICY ":table_name_tenant_insert"
106
+ ON :table_name
107
+ FOR INSERT
108
+ TO authenticated
109
+ WITH CHECK (
110
+ is_tenant_member(tenant_id)
111
+ );
112
+
113
+ -- UPDATE: Only admins/owners can update
114
+ DROP POLICY IF EXISTS ":table_name_tenant_update" ON :table_name;
115
+ CREATE POLICY ":table_name_tenant_update"
116
+ ON :table_name
117
+ FOR UPDATE
118
+ TO authenticated
119
+ USING (
120
+ tenant_id = ANY(get_user_tenant_ids())
121
+ AND get_tenant_role(tenant_id) IN ('owner', 'admin')
122
+ )
123
+ WITH CHECK (
124
+ tenant_id = ANY(get_user_tenant_ids())
125
+ );
126
+
127
+ -- DELETE: Only owners can delete
128
+ DROP POLICY IF EXISTS ":table_name_tenant_delete" ON :table_name;
129
+ CREATE POLICY ":table_name_tenant_delete"
130
+ ON :table_name
131
+ FOR DELETE
132
+ TO authenticated
133
+ USING (
134
+ get_tenant_role(tenant_id) = 'owner'
135
+ );
136
+
137
+ -- =============================================================================
138
+ -- RLS ON TENANT TABLES THEMSELVES
139
+ -- =============================================================================
140
+
141
+ ALTER TABLE tenants ENABLE ROW LEVEL SECURITY;
142
+ ALTER TABLE tenant_members ENABLE ROW LEVEL SECURITY;
143
+
144
+ -- Tenants: Members can see their tenants
145
+ CREATE POLICY "tenants_member_select" ON tenants
146
+ FOR SELECT TO authenticated
147
+ USING (id = ANY(get_user_tenant_ids()));
148
+
149
+ -- Tenant members: Members can see their tenant's members
150
+ CREATE POLICY "tenant_members_select" ON tenant_members
151
+ FOR SELECT TO authenticated
152
+ USING (tenant_id = ANY(get_user_tenant_ids()));
153
+
@@ -1,78 +1,78 @@
1
- -- Rollback Script Template
2
- -- Rollback for Migration: :migration_name
3
- -- Created: :created_date
4
- -- Author: :author
5
- -- Description: Reverses the changes made by :migration_name
6
- --
7
- -- IMPORTANT: Test this rollback in development before using in production
8
- -- WARNING: Data migrations may not be fully reversible
9
-
10
- BEGIN;
11
-
12
- -- =============================================================================
13
- -- PRE-ROLLBACK VERIFICATION
14
- -- =============================================================================
15
-
16
- DO $$
17
- BEGIN
18
- -- Verify we're rolling back the correct migration
19
- RAISE NOTICE 'Starting rollback of migration: :migration_name';
20
-
21
- -- Add any safety checks here
22
- -- Example: Check if dependent objects exist
23
- END $$;
24
-
25
- -- =============================================================================
26
- -- REVERSE DATA MIGRATION (if applicable)
27
- -- =============================================================================
28
-
29
- -- If data was migrated, restore from backup or reverse transformation
30
- -- WARNING: This may result in data loss if no backup exists
31
- -- INSERT INTO :old_table (old_col1, old_col2)
32
- -- SELECT col1, col2 FROM :new_table;
33
-
34
- -- =============================================================================
35
- -- REVERSE SCHEMA CHANGES
36
- -- =============================================================================
37
-
38
- -- Remove triggers
39
- DROP TRIGGER IF EXISTS trigger_update_:table_name_updated_at ON :table_name;
40
-
41
- -- Remove indexes
42
- -- DROP INDEX IF EXISTS idx_:table_:column;
43
-
44
- -- Remove columns from existing tables
45
- -- ALTER TABLE :existing_table DROP COLUMN IF EXISTS :new_column;
46
-
47
- -- Drop tables (DANGEROUS - ensure data is backed up)
48
- -- DROP TABLE IF EXISTS :table_name CASCADE;
49
-
50
- -- =============================================================================
51
- -- POST-ROLLBACK VERIFICATION
52
- -- =============================================================================
53
-
54
- DO $$
55
- BEGIN
56
- -- Verify rollback was successful
57
- -- Example: Verify table no longer exists
58
- -- ASSERT NOT (SELECT EXISTS (
59
- -- SELECT 1 FROM information_schema.tables
60
- -- WHERE table_name = ':table_name'
61
- -- )), 'Table :table_name still exists after rollback';
62
-
63
- RAISE NOTICE 'Rollback completed successfully';
64
- END $$;
65
-
66
- COMMIT;
67
-
68
- -- =============================================================================
69
- -- POST-ROLLBACK NOTES
70
- -- =============================================================================
71
- --
72
- -- After running this rollback:
73
- -- 1. Verify application still functions correctly
74
- -- 2. Check for any orphaned data
75
- -- 3. Update migration tracking if applicable
76
- -- 4. Document reason for rollback
77
- --
78
-
1
+ -- Rollback Script Template
2
+ -- Rollback for Migration: :migration_name
3
+ -- Created: :created_date
4
+ -- Author: :author
5
+ -- Description: Reverses the changes made by :migration_name
6
+ --
7
+ -- IMPORTANT: Test this rollback in development before using in production
8
+ -- WARNING: Data migrations may not be fully reversible
9
+
10
+ BEGIN;
11
+
12
+ -- =============================================================================
13
+ -- PRE-ROLLBACK VERIFICATION
14
+ -- =============================================================================
15
+
16
+ DO $$
17
+ BEGIN
18
+ -- Verify we're rolling back the correct migration
19
+ RAISE NOTICE 'Starting rollback of migration: :migration_name';
20
+
21
+ -- Add any safety checks here
22
+ -- Example: Check if dependent objects exist
23
+ END $$;
24
+
25
+ -- =============================================================================
26
+ -- REVERSE DATA MIGRATION (if applicable)
27
+ -- =============================================================================
28
+
29
+ -- If data was migrated, restore from backup or reverse transformation
30
+ -- WARNING: This may result in data loss if no backup exists
31
+ -- INSERT INTO :old_table (old_col1, old_col2)
32
+ -- SELECT col1, col2 FROM :new_table;
33
+
34
+ -- =============================================================================
35
+ -- REVERSE SCHEMA CHANGES
36
+ -- =============================================================================
37
+
38
+ -- Remove triggers
39
+ DROP TRIGGER IF EXISTS trigger_update_:table_name_updated_at ON :table_name;
40
+
41
+ -- Remove indexes
42
+ -- DROP INDEX IF EXISTS idx_:table_:column;
43
+
44
+ -- Remove columns from existing tables
45
+ -- ALTER TABLE :existing_table DROP COLUMN IF EXISTS :new_column;
46
+
47
+ -- Drop tables (DANGEROUS - ensure data is backed up)
48
+ -- DROP TABLE IF EXISTS :table_name CASCADE;
49
+
50
+ -- =============================================================================
51
+ -- POST-ROLLBACK VERIFICATION
52
+ -- =============================================================================
53
+
54
+ DO $$
55
+ BEGIN
56
+ -- Verify rollback was successful
57
+ -- Example: Verify table no longer exists
58
+ -- ASSERT NOT (SELECT EXISTS (
59
+ -- SELECT 1 FROM information_schema.tables
60
+ -- WHERE table_name = ':table_name'
61
+ -- )), 'Table :table_name still exists after rollback';
62
+
63
+ RAISE NOTICE 'Rollback completed successfully';
64
+ END $$;
65
+
66
+ COMMIT;
67
+
68
+ -- =============================================================================
69
+ -- POST-ROLLBACK NOTES
70
+ -- =============================================================================
71
+ --
72
+ -- After running this rollback:
73
+ -- 1. Verify application still functions correctly
74
+ -- 2. Check for any orphaned data
75
+ -- 3. Update migration tracking if applicable
76
+ -- 4. Document reason for rollback
77
+ --
78
+