sinapse-ai 9.4.0 → 9.5.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 (266) hide show
  1. package/.claude/CLAUDE.md +10 -4
  2. package/.claude/hooks/enforce-architecture-first.py +197 -197
  3. package/.claude/hooks/enforce-git-push-authority.sh +25 -4
  4. package/.claude/hooks/mind-clone-governance.py +193 -193
  5. package/.claude/hooks/read-protection.py +152 -152
  6. package/.claude/hooks/sql-governance.py +183 -183
  7. package/.claude/hooks/verify-packages.cjs +83 -0
  8. package/.claude/hooks/write-path-validation.py +195 -195
  9. package/.claude/rules/hook-governance.md +1 -0
  10. package/.claude/rules/mandatory-delegation.md +24 -0
  11. package/.claude/rules/project-intelligence.md +63 -0
  12. package/.claude/rules/response-format.md +4 -0
  13. package/.claude/rules/safe-collaboration.md +4 -2
  14. package/.claude/rules/security-data-protection.md +18 -0
  15. package/.claude/rules/squad-awareness.md +93 -67
  16. package/.claude/rules/token-economy.md +148 -0
  17. package/.codex/agents/analyst.md +90 -0
  18. package/.codex/agents/architect.md +78 -0
  19. package/.codex/agents/data-engineer.md +38 -0
  20. package/.codex/agents/developer.md +97 -0
  21. package/.codex/agents/devops.md +121 -0
  22. package/.codex/agents/product-lead.md +27 -0
  23. package/.codex/agents/project-lead.md +28 -0
  24. package/.codex/agents/quality-gate.md +89 -0
  25. package/.codex/agents/sprint-lead.md +28 -0
  26. package/.codex/agents/squad-creator.md +58 -0
  27. package/.codex/agents/ux-design-expert.md +28 -0
  28. package/.sinapse-ai/core/code-intel/registry-syncer.js +56 -3
  29. package/.sinapse-ai/core/doctor/checks/agent-memory.js +5 -1
  30. package/.sinapse-ai/core/doctor/checks/claude-md.js +4 -1
  31. package/.sinapse-ai/core/doctor/checks/code-intel.js +5 -1
  32. package/.sinapse-ai/core/doctor/checks/commands-count.js +4 -1
  33. package/.sinapse-ai/core/doctor/checks/constitution-consistency.js +4 -1
  34. package/.sinapse-ai/core/doctor/checks/core-config.js +4 -1
  35. package/.sinapse-ai/core/doctor/checks/entity-registry.js +6 -1
  36. package/.sinapse-ai/core/doctor/checks/git-hooks.js +5 -1
  37. package/.sinapse-ai/core/doctor/checks/graph-dashboard.js +4 -1
  38. package/.sinapse-ai/core/doctor/checks/hooks-claude-count.js +5 -1
  39. package/.sinapse-ai/core/doctor/checks/ide-sync.js +4 -1
  40. package/.sinapse-ai/core/doctor/checks/node-version.js +4 -1
  41. package/.sinapse-ai/core/doctor/checks/npm-packages.js +4 -1
  42. package/.sinapse-ai/core/doctor/checks/rules-files.js +4 -1
  43. package/.sinapse-ai/core/doctor/checks/settings-json.js +4 -1
  44. package/.sinapse-ai/core/doctor/checks/skills-count.js +4 -1
  45. package/.sinapse-ai/core/doctor/index.js +157 -50
  46. package/.sinapse-ai/core/ids/registry-updater.js +6 -1
  47. package/.sinapse-ai/core/logger/index.js +319 -0
  48. package/.sinapse-ai/core/orchestration/terminal-spawner.js +2 -2
  49. package/.sinapse-ai/core/telemetry/index.js +247 -0
  50. package/.sinapse-ai/data/entity-registry.yaml +1384 -944
  51. package/.sinapse-ai/development/agents/architect.md +5 -0
  52. package/.sinapse-ai/development/agents/data-engineer.md +38 -0
  53. package/.sinapse-ai/development/agents/developer.md +28 -0
  54. package/.sinapse-ai/development/agents/devops.md +4 -0
  55. package/.sinapse-ai/development/agents/product-lead.md +27 -0
  56. package/.sinapse-ai/development/agents/project-lead.md +28 -0
  57. package/.sinapse-ai/development/agents/quality-gate.md +4 -0
  58. package/.sinapse-ai/development/agents/sprint-lead/MEMORY.md +8 -0
  59. package/.sinapse-ai/development/agents/sprint-lead.md +28 -0
  60. package/.sinapse-ai/development/agents/squad-creator.md +58 -0
  61. package/.sinapse-ai/development/agents/ux-design-expert.md +28 -0
  62. package/.sinapse-ai/development/knowledge-base/agent-communication-protocol.md +127 -0
  63. package/.sinapse-ai/development/knowledge-base/database-scaling-patterns.md +374 -0
  64. package/.sinapse-ai/development/knowledge-base/environment-deployment-patterns.md +353 -0
  65. package/.sinapse-ai/development/knowledge-base/gotchas-patterns.md +224 -0
  66. package/.sinapse-ai/development/knowledge-base/infrastructure-decision-framework.md +221 -0
  67. package/.sinapse-ai/development/knowledge-base/security-pre-deploy-checklist.md +410 -0
  68. package/.sinapse-ai/development/knowledge-base/software-architecture-patterns.md +299 -0
  69. package/.sinapse-ai/development/knowledge-base/token-economy-guide.md +198 -0
  70. package/.sinapse-ai/development/scripts/populate-entity-registry.js +5 -1
  71. package/.sinapse-ai/development/skills/captcha-handler.md +82 -0
  72. package/.sinapse-ai/development/skills/chrome-brain.md +81 -0
  73. package/.sinapse-ai/development/skills/deploy-readiness.md +93 -0
  74. package/.sinapse-ai/development/skills/model-router.md +92 -0
  75. package/.sinapse-ai/development/skills/sinapse-methodology.md +175 -0
  76. package/.sinapse-ai/development/skills/story-fast-track.md +71 -0
  77. package/.sinapse-ai/development/tasks/dev-develop-story.md +10 -0
  78. package/.sinapse-ai/development/tasks/environment-promotion-pipeline.md +582 -0
  79. package/.sinapse-ai/development/tasks/generate-agent-handoff.md +223 -0
  80. package/.sinapse-ai/development/tasks/infrastructure-assessment.md +432 -0
  81. package/.sinapse-ai/development/tasks/load-testing-setup.md +611 -0
  82. package/.sinapse-ai/development/tasks/observability-blueprint.md +562 -0
  83. package/.sinapse-ai/development/templates/legal/breach-notification-tmpl.md +113 -0
  84. package/.sinapse-ai/development/templates/legal/privacy-policy-tmpl.md +93 -0
  85. package/.sinapse-ai/development/templates/legal/terms-of-service-tmpl.md +85 -0
  86. package/.sinapse-ai/development/templates/service-template/README.md.hbs +159 -159
  87. package/.sinapse-ai/development/templates/service-template/__tests__/index.test.ts.hbs +238 -238
  88. package/.sinapse-ai/development/templates/service-template/client.ts.hbs +404 -404
  89. package/.sinapse-ai/development/templates/service-template/errors.ts.hbs +183 -183
  90. package/.sinapse-ai/development/templates/service-template/index.ts.hbs +121 -121
  91. package/.sinapse-ai/development/templates/service-template/package.json.hbs +88 -88
  92. package/.sinapse-ai/development/templates/service-template/types.ts.hbs +146 -146
  93. package/.sinapse-ai/development/templates/squad-template/LICENSE +22 -22
  94. package/.sinapse-ai/development/workflows/story-development-cycle.yaml +40 -1
  95. package/.sinapse-ai/hooks/ids-post-commit.js +22 -0
  96. package/.sinapse-ai/infrastructure/contracts/compatibility/README.md +42 -0
  97. package/.sinapse-ai/infrastructure/contracts/compatibility/sinapse-current.yaml +35 -0
  98. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/claude-free-tracked.cmd +127 -127
  99. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-proxy.cmd +71 -71
  100. package/.sinapse-ai/infrastructure/scripts/llm-routing/templates/deepseek-usage.cmd +51 -51
  101. package/.sinapse-ai/infrastructure/scripts/pr-review-ai.js +16 -13
  102. package/.sinapse-ai/infrastructure/scripts/setup-project-infra.js +128 -0
  103. package/.sinapse-ai/infrastructure/scripts/test-discovery.js +8 -3
  104. package/.sinapse-ai/infrastructure/scripts/validate-manifest-parity.js +380 -0
  105. package/.sinapse-ai/infrastructure/scripts/validate-parity.js +76 -25
  106. package/.sinapse-ai/infrastructure/templates/coderabbit.yaml.template +280 -280
  107. package/.sinapse-ai/infrastructure/templates/config/env.example +16 -0
  108. package/.sinapse-ai/infrastructure/templates/config/gitignore-additions.tmpl +59 -0
  109. package/.sinapse-ai/infrastructure/templates/github/CODEOWNERS.template +12 -0
  110. package/.sinapse-ai/infrastructure/templates/github/PULL_REQUEST_TEMPLATE.md +29 -0
  111. package/.sinapse-ai/infrastructure/templates/github/ci-template.yml +77 -0
  112. package/.sinapse-ai/infrastructure/templates/github/issue-templates/bug_report.md +34 -0
  113. package/.sinapse-ai/infrastructure/templates/github/issue-templates/feature_request.md +19 -0
  114. package/.sinapse-ai/infrastructure/templates/github-workflows/ci.yml.template +170 -170
  115. package/.sinapse-ai/infrastructure/templates/github-workflows/pr-automation.yml.template +331 -331
  116. package/.sinapse-ai/infrastructure/templates/github-workflows/release.yml.template +197 -197
  117. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-brownfield-merge.tmpl +19 -19
  118. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-node.tmpl +86 -86
  119. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-python.tmpl +146 -146
  120. package/.sinapse-ai/infrastructure/templates/gitignore/gitignore-sinapse-base.tmpl +64 -64
  121. package/.sinapse-ai/infrastructure/templates/sinapse-sync.yaml.template +183 -183
  122. package/.sinapse-ai/install-manifest.yaml +275 -140
  123. package/.sinapse-ai/local-config.yaml.template +65 -65
  124. package/.sinapse-ai/monitor/hooks/lib/__init__.py +2 -2
  125. package/.sinapse-ai/monitor/hooks/lib/enrich.py +59 -59
  126. package/.sinapse-ai/monitor/hooks/lib/send_event.py +48 -48
  127. package/.sinapse-ai/monitor/hooks/notification.py +30 -30
  128. package/.sinapse-ai/monitor/hooks/post_tool_use.py +46 -46
  129. package/.sinapse-ai/monitor/hooks/pre_compact.py +30 -30
  130. package/.sinapse-ai/monitor/hooks/pre_tool_use.py +41 -41
  131. package/.sinapse-ai/monitor/hooks/stop.py +30 -30
  132. package/.sinapse-ai/monitor/hooks/subagent_stop.py +30 -30
  133. package/.sinapse-ai/monitor/hooks/user_prompt_submit.py +39 -39
  134. package/.sinapse-ai/product/templates/adr.hbs +126 -126
  135. package/.sinapse-ai/product/templates/dbdr.hbs +242 -242
  136. package/.sinapse-ai/product/templates/epic.hbs +213 -213
  137. package/.sinapse-ai/product/templates/pmdr.hbs +187 -187
  138. package/.sinapse-ai/product/templates/prd-v2.0.hbs +217 -217
  139. package/.sinapse-ai/product/templates/prd.hbs +202 -202
  140. package/.sinapse-ai/product/templates/story-tmpl.yaml +59 -0
  141. package/.sinapse-ai/product/templates/story.hbs +264 -264
  142. package/.sinapse-ai/product/templates/task.hbs +171 -171
  143. package/.sinapse-ai/product/templates/tmpl-comment-on-examples.sql +159 -159
  144. package/.sinapse-ai/product/templates/tmpl-migration-script.sql +92 -92
  145. package/.sinapse-ai/product/templates/tmpl-rls-granular-policies.sql +105 -105
  146. package/.sinapse-ai/product/templates/tmpl-rls-kiss-policy.sql +11 -11
  147. package/.sinapse-ai/product/templates/tmpl-rls-roles.sql +136 -136
  148. package/.sinapse-ai/product/templates/tmpl-rls-simple.sql +78 -78
  149. package/.sinapse-ai/product/templates/tmpl-rls-tenant.sql +153 -153
  150. package/.sinapse-ai/product/templates/tmpl-rollback-script.sql +78 -78
  151. package/.sinapse-ai/product/templates/tmpl-seed-data.sql +141 -141
  152. package/.sinapse-ai/product/templates/tmpl-smoke-test.sql +17 -17
  153. package/.sinapse-ai/product/templates/tmpl-staging-copy-merge.sql +140 -140
  154. package/.sinapse-ai/product/templates/tmpl-stored-proc.sql +141 -141
  155. package/.sinapse-ai/product/templates/tmpl-trigger.sql +153 -153
  156. package/.sinapse-ai/product/templates/tmpl-view-materialized.sql +134 -134
  157. package/.sinapse-ai/product/templates/tmpl-view.sql +178 -178
  158. package/.sinapse-ai/scripts/diagnostics/health-dashboard/package-lock.json +427 -355
  159. package/LICENSE +34 -34
  160. package/README.en.md +167 -20
  161. package/README.md +190 -22
  162. package/bin/cli.js +510 -196
  163. package/bin/postinstall.js +564 -0
  164. package/bin/sinapse-cli +283 -283
  165. package/bin/sinapse-graph.js +9 -0
  166. package/bin/sinapse-init.js +36 -4
  167. package/bin/sinapse-minimal.js +20 -9
  168. package/bin/sinapse.js +202 -122
  169. package/bin/utils/deprecation-warning.js +46 -0
  170. package/bin/utils/pre-push-safety.js +14 -0
  171. package/docs/TELEMETRY.md +131 -0
  172. package/docs/chrome-brain-upgrade-plan.md +624 -0
  173. package/docs/framework/orqx-plan.md +1 -1
  174. package/docs/installation/chrome-brain.md +17 -7
  175. package/docs/mega-upgrade-orchestration-plan.md +71 -0
  176. package/docs/pt/contributing.md +20 -0
  177. package/docs/research-synthesis-for-upgrade.md +511 -0
  178. package/docs/security-audit-report.md +306 -0
  179. package/package.json +20 -8
  180. package/packages/installer/src/config/configure-environment.js +19 -44
  181. package/packages/installer/src/detection/detect-project-type.js +181 -63
  182. package/packages/installer/src/installer/manifest-signature.js +32 -17
  183. package/packages/installer/src/wizard/i18n.js +12 -0
  184. package/packages/installer/src/wizard/ide-config-generator.js +8 -39
  185. package/packages/installer/src/wizard/index.js +119 -14
  186. package/packages/installer/src/wizard/questions.js +2 -3
  187. package/packages/installer/tests/integration/environment-configuration.test.js +7 -5
  188. package/packages/installer/tests/unit/detection/detect-project-type.test.js +138 -1
  189. package/packages/installer/tests/unit/doctor/doctor-orchestrator.test.js +3 -3
  190. package/packages/sinapse-install/bin/edmcp.js +0 -0
  191. package/packages/sinapse-install/bin/sinapse-install.js +0 -0
  192. package/packages/sinapse-pro-cli/bin/sinapse-pro.js +0 -0
  193. package/scripts/check-markdown-links.py +353 -353
  194. package/scripts/coverage-report-summary.js +169 -0
  195. package/scripts/generate-install-manifest.js +6 -2
  196. package/scripts/release-readiness.js +169 -0
  197. package/scripts/test-install-matrix-local.sh +153 -0
  198. package/scripts/validate-install-docs.js +394 -0
  199. package/scripts/validate-no-external-refs.js +376 -0
  200. package/scripts/validate-squad-orqx.js +302 -0
  201. package/scripts/validate-story-meta.js +263 -0
  202. package/squads/claude-code-mastery/CHANGELOG.md +1 -1
  203. package/squads/claude-code-mastery/README.md +2 -2
  204. package/squads/claude-code-mastery/squad.yaml +1 -1
  205. package/squads/squad-artdir/README.md +90 -0
  206. package/squads/squad-artdir/agents/accessibility-guardian.md +184 -0
  207. package/squads/squad-artdir/agents/artdir-orqx.md +145 -0
  208. package/squads/squad-artdir/agents/color-psychologist.md +166 -0
  209. package/squads/squad-artdir/agents/cro-persuasion.md +161 -0
  210. package/squads/squad-artdir/agents/design-system-architect.md +100 -0
  211. package/squads/squad-artdir/agents/ia-architect.md +169 -0
  212. package/squads/squad-artdir/agents/interaction-designer.md +162 -0
  213. package/squads/squad-artdir/agents/layout-engineer.md +163 -0
  214. package/squads/squad-artdir/agents/motion-architect.md +185 -0
  215. package/squads/squad-artdir/agents/platform-aesthetic-director.md +84 -0
  216. package/squads/squad-artdir/agents/premium-packaging-strategist.md +107 -0
  217. package/squads/squad-artdir/agents/product-surface-director.md +86 -0
  218. package/squads/squad-artdir/agents/type-systemist.md +138 -0
  219. package/squads/squad-artdir/agents/visual-strategist.md +127 -0
  220. package/squads/squad-artdir/checklists/seven-pillars-validation-checklist.md +172 -0
  221. package/squads/squad-artdir/knowledge-base/case-nyo-ia-reference.md +289 -0
  222. package/squads/squad-artdir/knowledge-base/deliverables-templates.md +457 -0
  223. package/squads/squad-artdir/knowledge-base/motion-technique-catalog.md +247 -0
  224. package/squads/squad-artdir/knowledge-base/premium-packaging-principles.md +133 -0
  225. package/squads/squad-artdir/knowledge-base/psychological-toolkit.md +229 -0
  226. package/squads/squad-artdir/knowledge-base/saas-art-direction-canon.md +242 -0
  227. package/squads/squad-artdir/knowledge-base/seven-pillars-framework.md +289 -0
  228. package/squads/squad-artdir/knowledge-base/ten-pillars-framework.md +221 -0
  229. package/squads/squad-artdir/package.json +20 -0
  230. package/squads/squad-artdir/squad.yaml +271 -0
  231. package/squads/squad-artdir/tasks/audit-conversion.md +97 -0
  232. package/squads/squad-artdir/tasks/audit-drift-multi-surface.md +55 -0
  233. package/squads/squad-artdir/tasks/consult-saas-canon.md +54 -0
  234. package/squads/squad-artdir/tasks/create-art-direction-brief.md +110 -0
  235. package/squads/squad-artdir/tasks/create-premium-packaging-brief.md +61 -0
  236. package/squads/squad-artdir/tasks/create-wireflow.md +84 -0
  237. package/squads/squad-artdir/tasks/design-color-system.md +81 -0
  238. package/squads/squad-artdir/tasks/design-product-surface.md +60 -0
  239. package/squads/squad-artdir/tasks/design-token-system.md +58 -0
  240. package/squads/squad-artdir/tasks/diagnose-visual-language.md +92 -0
  241. package/squads/squad-artdir/tasks/first-5-minutes-choreography.md +65 -0
  242. package/squads/squad-artdir/tasks/specify-motion-system.md +84 -0
  243. package/squads/squad-artdir/tasks/validate-against-pillars.md +143 -0
  244. package/squads/squad-artdir/templates/art-direction-brief-template.md +215 -0
  245. package/squads/squad-artdir/workflows/conversion-audit-cycle.yaml +78 -0
  246. package/squads/squad-artdir/workflows/full-art-direction-cycle.yaml +98 -0
  247. package/squads/squad-artdir/workflows/saas-platform-art-direction-cycle.yaml +174 -0
  248. package/squads/squad-brand/knowledge-base/ai-visual-generation-canon.md +234 -0
  249. package/squads/squad-brand/squad.yaml +20 -6
  250. package/squads/squad-claude/knowledge-base/context-window-optimization.md +1 -1
  251. package/squads/squad-claude/knowledge-base/swarm-orchestration-patterns.md +2 -2
  252. package/squads/squad-content/knowledge-base/ai-native-content-loop.md +220 -0
  253. package/squads/squad-content/knowledge-base/signal-intelligence-v2.md +234 -0
  254. package/squads/squad-content/knowledge-base/task-ownership-map.md +235 -0
  255. package/squads/squad-content/squad.yaml +187 -27
  256. package/squads/squad-copy/knowledge-base/ai-copy-human-loop-canon.md +235 -0
  257. package/squads/squad-copy/squad.yaml +19 -4
  258. package/squads/squad-design/knowledge-base/cross-surface-token-canon.md +209 -0
  259. package/squads/squad-design/squad.yaml +19 -4
  260. package/.sinapse-ai/core/registry/service-registry.json +0 -6346
  261. package/.sinapse-ai/data/registry-update-log.jsonl +0 -1323
  262. package/.sinapse-ai/manifests/agents.csv +0 -29
  263. package/.sinapse-ai/manifests/tasks.csv +0 -204
  264. package/.sinapse-ai/manifests/workers.csv +0 -196
  265. package/squads/squad-growth/tasks/calculate-sample-size.md +0 -121
  266. package/squads/squad-paidmedia/tasks/calculate-sample-size.md +0 -57
@@ -1,30 +1,30 @@
1
- #!/usr/bin/env python3
2
- """
3
- Stop hook - captures when Claude stops execution.
4
- """
5
-
6
- import json
7
- import sys
8
- import os
9
-
10
- # Add lib to path
11
- sys.path.insert(0, os.path.dirname(__file__))
12
-
13
- from lib.send_event import send_event
14
- from lib.enrich import enrich_event
15
-
16
-
17
- def main():
18
- # Read event from stdin
19
- data = json.load(sys.stdin)
20
-
21
- # Enrich with SINAPSE context
22
- data = enrich_event(data)
23
-
24
- # Send to monitor server
25
- send_event("Stop", data)
26
-
27
-
28
- if __name__ == "__main__":
29
- main()
30
-
1
+ #!/usr/bin/env python3
2
+ """
3
+ Stop hook - captures when Claude stops execution.
4
+ """
5
+
6
+ import json
7
+ import sys
8
+ import os
9
+
10
+ # Add lib to path
11
+ sys.path.insert(0, os.path.dirname(__file__))
12
+
13
+ from lib.send_event import send_event
14
+ from lib.enrich import enrich_event
15
+
16
+
17
+ def main():
18
+ # Read event from stdin
19
+ data = json.load(sys.stdin)
20
+
21
+ # Enrich with SINAPSE context
22
+ data = enrich_event(data)
23
+
24
+ # Send to monitor server
25
+ send_event("Stop", data)
26
+
27
+
28
+ if __name__ == "__main__":
29
+ main()
30
+
@@ -1,30 +1,30 @@
1
- #!/usr/bin/env python3
2
- """
3
- SubagentStop hook - captures when a subagent (Task tool) stops.
4
- """
5
-
6
- import json
7
- import sys
8
- import os
9
-
10
- # Add lib to path
11
- sys.path.insert(0, os.path.dirname(__file__))
12
-
13
- from lib.send_event import send_event
14
- from lib.enrich import enrich_event
15
-
16
-
17
- def main():
18
- # Read event from stdin
19
- data = json.load(sys.stdin)
20
-
21
- # Enrich with SINAPSE context
22
- data = enrich_event(data)
23
-
24
- # Send to monitor server
25
- send_event("SubagentStop", data)
26
-
27
-
28
- if __name__ == "__main__":
29
- main()
30
-
1
+ #!/usr/bin/env python3
2
+ """
3
+ SubagentStop hook - captures when a subagent (Task tool) stops.
4
+ """
5
+
6
+ import json
7
+ import sys
8
+ import os
9
+
10
+ # Add lib to path
11
+ sys.path.insert(0, os.path.dirname(__file__))
12
+
13
+ from lib.send_event import send_event
14
+ from lib.enrich import enrich_event
15
+
16
+
17
+ def main():
18
+ # Read event from stdin
19
+ data = json.load(sys.stdin)
20
+
21
+ # Enrich with SINAPSE context
22
+ data = enrich_event(data)
23
+
24
+ # Send to monitor server
25
+ send_event("SubagentStop", data)
26
+
27
+
28
+ if __name__ == "__main__":
29
+ main()
30
+
@@ -1,39 +1,39 @@
1
- #!/usr/bin/env python3
2
- """
3
- UserPromptSubmit hook - captures when user sends a prompt.
4
-
5
- This is the starting point of each interaction.
6
- """
7
-
8
- import json
9
- import sys
10
- import os
11
-
12
- # Add lib to path
13
- sys.path.insert(0, os.path.dirname(__file__))
14
-
15
- from lib.send_event import send_event
16
- from lib.enrich import enrich_event
17
-
18
-
19
- def main():
20
- # Read event from stdin
21
- data = json.load(sys.stdin)
22
-
23
- # Store user prompt for agent detection
24
- if "user_prompt" in data:
25
- # Truncate if too long
26
- prompt = data["user_prompt"]
27
- if isinstance(prompt, str) and len(prompt) > 1000:
28
- data["user_prompt"] = prompt[:1000] + "..."
29
-
30
- # Enrich with SINAPSE context
31
- data = enrich_event(data)
32
-
33
- # Send to monitor server
34
- send_event("UserPromptSubmit", data)
35
-
36
-
37
- if __name__ == "__main__":
38
- main()
39
-
1
+ #!/usr/bin/env python3
2
+ """
3
+ UserPromptSubmit hook - captures when user sends a prompt.
4
+
5
+ This is the starting point of each interaction.
6
+ """
7
+
8
+ import json
9
+ import sys
10
+ import os
11
+
12
+ # Add lib to path
13
+ sys.path.insert(0, os.path.dirname(__file__))
14
+
15
+ from lib.send_event import send_event
16
+ from lib.enrich import enrich_event
17
+
18
+
19
+ def main():
20
+ # Read event from stdin
21
+ data = json.load(sys.stdin)
22
+
23
+ # Store user prompt for agent detection
24
+ if "user_prompt" in data:
25
+ # Truncate if too long
26
+ prompt = data["user_prompt"]
27
+ if isinstance(prompt, str) and len(prompt) > 1000:
28
+ data["user_prompt"] = prompt[:1000] + "..."
29
+
30
+ # Enrich with SINAPSE context
31
+ data = enrich_event(data)
32
+
33
+ # Send to monitor server
34
+ send_event("UserPromptSubmit", data)
35
+
36
+
37
+ if __name__ == "__main__":
38
+ main()
39
+
@@ -1,126 +1,126 @@
1
- ---
2
- template_id: adr
3
- template_name: Architecture Decision Record
4
- version: 1.0
5
- variables:
6
- - name: number
7
- type: number
8
- required: true
9
- auto: next_adr_number
10
- - name: title
11
- type: string
12
- required: true
13
- prompt: "Title of the architectural decision:"
14
- - name: status
15
- type: choice
16
- required: true
17
- choices: [Proposed, Accepted, Deprecated, Superseded]
18
- default: Proposed
19
- - name: deciders
20
- type: string
21
- required: true
22
- prompt: "Who participated in this decision? (comma-separated names):"
23
- - name: context
24
- type: text
25
- required: true
26
- prompt: "What is the context and problem that led to this decision?"
27
- - name: decision
28
- type: text
29
- required: true
30
- prompt: "What is the decision being made?"
31
- - name: positiveConsequences
32
- type: array
33
- required: true
34
- prompt: "What are the positive consequences? (comma-separated):"
35
- - name: negativeConsequences
36
- type: array
37
- required: false
38
- prompt: "What are the negative consequences/trade-offs? (comma-separated):"
39
- ---
40
-
41
- # ADR {{padNumber number 3}}: {{title}}
42
-
43
- **Status:** {{status}}
44
- **Date:** {{formatDate now "YYYY-MM-DD"}}
45
- **Deciders:** {{deciders}}
46
-
47
- ---
48
-
49
- ## Context
50
-
51
- {{context}}
52
-
53
- ---
54
-
55
- ## Decision
56
-
57
- {{decision}}
58
-
59
- ---
60
-
61
- ## Consequences
62
-
63
- ### Positive
64
-
65
- {{#each positiveConsequences}}
66
- - ✅ {{this}}
67
- {{/each}}
68
-
69
- ### Negative
70
-
71
- {{#if negativeConsequences}}
72
- {{#each negativeConsequences}}
73
- - ⚠️ {{this}}
74
- {{/each}}
75
- {{else}}
76
- _No significant negative consequences identified._
77
- {{/if}}
78
-
79
- ---
80
-
81
- {{#if alternatives}}
82
- ## Alternatives Considered
83
-
84
- {{#each alternatives}}
85
- ### Option {{add @index 1}}: {{this.name}}
86
-
87
- {{this.description}}
88
-
89
- | Aspect | Details |
90
- |--------|---------|
91
- | **Pros** | {{this.pros}} |
92
- | **Cons** | {{this.cons}} |
93
- | **Why Not Chosen** | {{this.whyNot}} |
94
-
95
- {{/each}}
96
- {{/if}}
97
-
98
- ---
99
-
100
- ## Related Decisions
101
-
102
- {{#if relatedADRs}}
103
- {{#each relatedADRs}}
104
- - [ADR {{this.number}}](./adr-{{padNumber this.number 3}}.md): {{this.title}}
105
- {{/each}}
106
- {{else}}
107
- _No related decisions._
108
- {{/if}}
109
-
110
- ---
111
-
112
- ## References
113
-
114
- {{#if references}}
115
- {{#each references}}
116
- - {{this}}
117
- {{/each}}
118
- {{else}}
119
- _No external references._
120
- {{/if}}
121
-
122
- ---
123
-
124
- **Generated by:** SINAPSE Template Engine v2.0
125
- **Template Version:** adr-1.0
126
-
1
+ ---
2
+ template_id: adr
3
+ template_name: Architecture Decision Record
4
+ version: 1.0
5
+ variables:
6
+ - name: number
7
+ type: number
8
+ required: true
9
+ auto: next_adr_number
10
+ - name: title
11
+ type: string
12
+ required: true
13
+ prompt: "Title of the architectural decision:"
14
+ - name: status
15
+ type: choice
16
+ required: true
17
+ choices: [Proposed, Accepted, Deprecated, Superseded]
18
+ default: Proposed
19
+ - name: deciders
20
+ type: string
21
+ required: true
22
+ prompt: "Who participated in this decision? (comma-separated names):"
23
+ - name: context
24
+ type: text
25
+ required: true
26
+ prompt: "What is the context and problem that led to this decision?"
27
+ - name: decision
28
+ type: text
29
+ required: true
30
+ prompt: "What is the decision being made?"
31
+ - name: positiveConsequences
32
+ type: array
33
+ required: true
34
+ prompt: "What are the positive consequences? (comma-separated):"
35
+ - name: negativeConsequences
36
+ type: array
37
+ required: false
38
+ prompt: "What are the negative consequences/trade-offs? (comma-separated):"
39
+ ---
40
+
41
+ # ADR {{padNumber number 3}}: {{title}}
42
+
43
+ **Status:** {{status}}
44
+ **Date:** {{formatDate now "YYYY-MM-DD"}}
45
+ **Deciders:** {{deciders}}
46
+
47
+ ---
48
+
49
+ ## Context
50
+
51
+ {{context}}
52
+
53
+ ---
54
+
55
+ ## Decision
56
+
57
+ {{decision}}
58
+
59
+ ---
60
+
61
+ ## Consequences
62
+
63
+ ### Positive
64
+
65
+ {{#each positiveConsequences}}
66
+ - ✅ {{this}}
67
+ {{/each}}
68
+
69
+ ### Negative
70
+
71
+ {{#if negativeConsequences}}
72
+ {{#each negativeConsequences}}
73
+ - ⚠️ {{this}}
74
+ {{/each}}
75
+ {{else}}
76
+ _No significant negative consequences identified._
77
+ {{/if}}
78
+
79
+ ---
80
+
81
+ {{#if alternatives}}
82
+ ## Alternatives Considered
83
+
84
+ {{#each alternatives}}
85
+ ### Option {{add @index 1}}: {{this.name}}
86
+
87
+ {{this.description}}
88
+
89
+ | Aspect | Details |
90
+ |--------|---------|
91
+ | **Pros** | {{this.pros}} |
92
+ | **Cons** | {{this.cons}} |
93
+ | **Why Not Chosen** | {{this.whyNot}} |
94
+
95
+ {{/each}}
96
+ {{/if}}
97
+
98
+ ---
99
+
100
+ ## Related Decisions
101
+
102
+ {{#if relatedADRs}}
103
+ {{#each relatedADRs}}
104
+ - [ADR {{this.number}}](./adr-{{padNumber this.number 3}}.md): {{this.title}}
105
+ {{/each}}
106
+ {{else}}
107
+ _No related decisions._
108
+ {{/if}}
109
+
110
+ ---
111
+
112
+ ## References
113
+
114
+ {{#if references}}
115
+ {{#each references}}
116
+ - {{this}}
117
+ {{/each}}
118
+ {{else}}
119
+ _No external references._
120
+ {{/if}}
121
+
122
+ ---
123
+
124
+ **Generated by:** SINAPSE Template Engine v2.0
125
+ **Template Version:** adr-1.0
126
+