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,88 +1,88 @@
1
- {
2
- "name": "@sinapse/{{kebabCase serviceName}}",
3
- "version": "1.0.0",
4
- "description": "{{description}}",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "type": "module",
8
- "exports": {
9
- ".": {
10
- "types": "./dist/index.d.ts",
11
- "import": "./dist/index.js",
12
- "require": "./dist/index.cjs"
13
- },
14
- "./types": {
15
- "types": "./dist/types.d.ts",
16
- "import": "./dist/types.js"
17
- },
18
- "./errors": {
19
- "types": "./dist/errors.d.ts",
20
- "import": "./dist/errors.js"
21
- }{{#if isApiIntegration}},
22
- "./client": {
23
- "types": "./dist/client.d.ts",
24
- "import": "./dist/client.js"
25
- }{{/if}}
26
- },
27
- "files": [
28
- "dist",
29
- "README.md"
30
- ],
31
- "scripts": {
32
- "build": "tsc",
33
- "build:watch": "tsc --watch",
34
- "clean": "rimraf dist coverage",
35
- "test": "jest",
36
- "test:watch": "jest --watch",
37
- "test:coverage": "jest --coverage",
38
- "typecheck": "tsc --noEmit",
39
- "lint": "eslint . --ext .ts",
40
- "lint:fix": "eslint . --ext .ts --fix",
41
- "prepublishOnly": "npm run clean && npm run build && npm test"
42
- },
43
- "keywords": [
44
- "sinapse",
45
- "{{kebabCase serviceName}}",
46
- "service"{{#if isApiIntegration}},
47
- "api",
48
- "integration"{{/if}}
49
- ],
50
- "author": "SINAPSE-FullStack",
51
- "license": "MIT",
52
- "engines": {
53
- "node": ">=18.0.0"
54
- },
55
- "devDependencies": {
56
- "@types/jest": "^29.5.12",
57
- "@types/node": "^20.11.0",
58
- "@typescript-eslint/eslint-plugin": "^6.19.0",
59
- "@typescript-eslint/parser": "^6.19.0",
60
- "eslint": "^8.56.0",
61
- "jest": "^29.7.0",
62
- "rimraf": "^5.0.5",
63
- "ts-jest": "^29.1.2",
64
- "typescript": "^5.3.3"
65
- },
66
- "peerDependencies": {
67
- "typescript": ">=5.0.0"
68
- },
69
- "peerDependenciesMeta": {
70
- "typescript": {
71
- "optional": true
72
- }
73
- },
74
- "repository": {
75
- "type": "git",
76
- "url": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}.git"
77
- },
78
- "bugs": {
79
- "url": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}/issues"
80
- },
81
- "homepage": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}#readme",
82
- "sinapse": {
83
- "storyId": "{{storyId}}",
84
- "type": "{{#if isApiIntegration}}api-integration{{else}}utility-service{{/if}}",
85
- "generatedAt": "{{generatedAt}}"
86
- }
87
- }
88
-
1
+ {
2
+ "name": "@sinapse/{{kebabCase serviceName}}",
3
+ "version": "1.0.0",
4
+ "description": "{{description}}",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "type": "module",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs"
13
+ },
14
+ "./types": {
15
+ "types": "./dist/types.d.ts",
16
+ "import": "./dist/types.js"
17
+ },
18
+ "./errors": {
19
+ "types": "./dist/errors.d.ts",
20
+ "import": "./dist/errors.js"
21
+ }{{#if isApiIntegration}},
22
+ "./client": {
23
+ "types": "./dist/client.d.ts",
24
+ "import": "./dist/client.js"
25
+ }{{/if}}
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "README.md"
30
+ ],
31
+ "scripts": {
32
+ "build": "tsc",
33
+ "build:watch": "tsc --watch",
34
+ "clean": "rimraf dist coverage",
35
+ "test": "jest",
36
+ "test:watch": "jest --watch",
37
+ "test:coverage": "jest --coverage",
38
+ "typecheck": "tsc --noEmit",
39
+ "lint": "eslint . --ext .ts",
40
+ "lint:fix": "eslint . --ext .ts --fix",
41
+ "prepublishOnly": "npm run clean && npm run build && npm test"
42
+ },
43
+ "keywords": [
44
+ "sinapse",
45
+ "{{kebabCase serviceName}}",
46
+ "service"{{#if isApiIntegration}},
47
+ "api",
48
+ "integration"{{/if}}
49
+ ],
50
+ "author": "SINAPSE-FullStack",
51
+ "license": "MIT",
52
+ "engines": {
53
+ "node": ">=18.0.0"
54
+ },
55
+ "devDependencies": {
56
+ "@types/jest": "^29.5.12",
57
+ "@types/node": "^20.11.0",
58
+ "@typescript-eslint/eslint-plugin": "^6.19.0",
59
+ "@typescript-eslint/parser": "^6.19.0",
60
+ "eslint": "^8.56.0",
61
+ "jest": "^29.7.0",
62
+ "rimraf": "^5.0.5",
63
+ "ts-jest": "^29.1.2",
64
+ "typescript": "^5.3.3"
65
+ },
66
+ "peerDependencies": {
67
+ "typescript": ">=5.0.0"
68
+ },
69
+ "peerDependenciesMeta": {
70
+ "typescript": {
71
+ "optional": true
72
+ }
73
+ },
74
+ "repository": {
75
+ "type": "git",
76
+ "url": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}.git"
77
+ },
78
+ "bugs": {
79
+ "url": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}/issues"
80
+ },
81
+ "homepage": "https://github.com/sinapse-fullstack/{{kebabCase serviceName}}#readme",
82
+ "sinapse": {
83
+ "storyId": "{{storyId}}",
84
+ "type": "{{#if isApiIntegration}}api-integration{{else}}utility-service{{/if}}",
85
+ "generatedAt": "{{generatedAt}}"
86
+ }
87
+ }
88
+
@@ -1,146 +1,146 @@
1
- /**
2
- * Type definitions for {{pascalCase serviceName}} service.
3
- * @module @sinapse/{{kebabCase serviceName}}/types
4
- * @story {{storyId}}
5
- */
6
-
7
- /**
8
- * Configuration options for the {{pascalCase serviceName}} service.
9
- */
10
- export interface {{pascalCase serviceName}}Config {
11
- {{#each envVars}}
12
- /**
13
- * {{this.description}}
14
- {{#if this.required}}
15
- * @required
16
- {{/if}}
17
- */
18
- {{camelCase this.name}}{{#unless this.required}}?{{/unless}}: string;
19
-
20
- {{/each}}
21
- {{#if isApiIntegration}}
22
- /**
23
- * Base URL for the API.
24
- * @default '{{apiBaseUrl}}'
25
- */
26
- baseUrl?: string;
27
-
28
- /**
29
- * Request timeout in milliseconds.
30
- * @default 30000
31
- */
32
- timeout?: number;
33
-
34
- /**
35
- * Maximum number of retry attempts.
36
- * @default 3
37
- */
38
- maxRetries?: number;
39
-
40
- /**
41
- * Enable debug logging.
42
- * @default false
43
- */
44
- debug?: boolean;
45
-
46
- {{/if}}
47
- }
48
-
49
- /**
50
- * The {{pascalCase serviceName}} service interface.
51
- */
52
- export interface {{pascalCase serviceName}}Service {
53
- /**
54
- * Execute the primary service operation.
55
- */
56
- execute(): Promise<void>;
57
-
58
- /**
59
- * Get the current configuration (without sensitive values).
60
- */
61
- getConfig(): Partial<{{pascalCase serviceName}}Config>;
62
-
63
- /**
64
- * Check if the service is properly configured and operational.
65
- */
66
- healthCheck(): Promise<boolean>;
67
- }
68
-
69
- {{#if isApiIntegration}}
70
- /**
71
- * Base API response structure.
72
- */
73
- export interface {{pascalCase serviceName}}ApiResponse<T = unknown> {
74
- success: boolean;
75
- data?: T;
76
- error?: {
77
- code: string;
78
- message: string;
79
- details?: Record<string, unknown>;
80
- };
81
- meta?: {
82
- requestId?: string;
83
- rateLimit?: {
84
- remaining: number;
85
- reset: number;
86
- };
87
- };
88
- }
89
-
90
- /**
91
- * Request options for API calls.
92
- */
93
- export interface {{pascalCase serviceName}}RequestOptions {
94
- /**
95
- * HTTP method.
96
- */
97
- method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
98
-
99
- /**
100
- * Request headers.
101
- */
102
- headers?: Record<string, string>;
103
-
104
- /**
105
- * Request body.
106
- */
107
- body?: unknown;
108
-
109
- /**
110
- * Query parameters.
111
- */
112
- params?: Record<string, string | number | boolean>;
113
-
114
- /**
115
- * Request timeout override.
116
- */
117
- timeout?: number;
118
-
119
- /**
120
- * Skip retry on failure.
121
- */
122
- noRetry?: boolean;
123
- }
124
-
125
- /**
126
- * Rate limit information.
127
- */
128
- export interface {{pascalCase serviceName}}RateLimit {
129
- /**
130
- * Maximum requests allowed.
131
- */
132
- limit: number;
133
-
134
- /**
135
- * Remaining requests in current window.
136
- */
137
- remaining: number;
138
-
139
- /**
140
- * Unix timestamp when the rate limit resets.
141
- */
142
- reset: number;
143
- }
144
-
145
- {{/if}}
146
-
1
+ /**
2
+ * Type definitions for {{pascalCase serviceName}} service.
3
+ * @module @sinapse/{{kebabCase serviceName}}/types
4
+ * @story {{storyId}}
5
+ */
6
+
7
+ /**
8
+ * Configuration options for the {{pascalCase serviceName}} service.
9
+ */
10
+ export interface {{pascalCase serviceName}}Config {
11
+ {{#each envVars}}
12
+ /**
13
+ * {{this.description}}
14
+ {{#if this.required}}
15
+ * @required
16
+ {{/if}}
17
+ */
18
+ {{camelCase this.name}}{{#unless this.required}}?{{/unless}}: string;
19
+
20
+ {{/each}}
21
+ {{#if isApiIntegration}}
22
+ /**
23
+ * Base URL for the API.
24
+ * @default '{{apiBaseUrl}}'
25
+ */
26
+ baseUrl?: string;
27
+
28
+ /**
29
+ * Request timeout in milliseconds.
30
+ * @default 30000
31
+ */
32
+ timeout?: number;
33
+
34
+ /**
35
+ * Maximum number of retry attempts.
36
+ * @default 3
37
+ */
38
+ maxRetries?: number;
39
+
40
+ /**
41
+ * Enable debug logging.
42
+ * @default false
43
+ */
44
+ debug?: boolean;
45
+
46
+ {{/if}}
47
+ }
48
+
49
+ /**
50
+ * The {{pascalCase serviceName}} service interface.
51
+ */
52
+ export interface {{pascalCase serviceName}}Service {
53
+ /**
54
+ * Execute the primary service operation.
55
+ */
56
+ execute(): Promise<void>;
57
+
58
+ /**
59
+ * Get the current configuration (without sensitive values).
60
+ */
61
+ getConfig(): Partial<{{pascalCase serviceName}}Config>;
62
+
63
+ /**
64
+ * Check if the service is properly configured and operational.
65
+ */
66
+ healthCheck(): Promise<boolean>;
67
+ }
68
+
69
+ {{#if isApiIntegration}}
70
+ /**
71
+ * Base API response structure.
72
+ */
73
+ export interface {{pascalCase serviceName}}ApiResponse<T = unknown> {
74
+ success: boolean;
75
+ data?: T;
76
+ error?: {
77
+ code: string;
78
+ message: string;
79
+ details?: Record<string, unknown>;
80
+ };
81
+ meta?: {
82
+ requestId?: string;
83
+ rateLimit?: {
84
+ remaining: number;
85
+ reset: number;
86
+ };
87
+ };
88
+ }
89
+
90
+ /**
91
+ * Request options for API calls.
92
+ */
93
+ export interface {{pascalCase serviceName}}RequestOptions {
94
+ /**
95
+ * HTTP method.
96
+ */
97
+ method?: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
98
+
99
+ /**
100
+ * Request headers.
101
+ */
102
+ headers?: Record<string, string>;
103
+
104
+ /**
105
+ * Request body.
106
+ */
107
+ body?: unknown;
108
+
109
+ /**
110
+ * Query parameters.
111
+ */
112
+ params?: Record<string, string | number | boolean>;
113
+
114
+ /**
115
+ * Request timeout override.
116
+ */
117
+ timeout?: number;
118
+
119
+ /**
120
+ * Skip retry on failure.
121
+ */
122
+ noRetry?: boolean;
123
+ }
124
+
125
+ /**
126
+ * Rate limit information.
127
+ */
128
+ export interface {{pascalCase serviceName}}RateLimit {
129
+ /**
130
+ * Maximum requests allowed.
131
+ */
132
+ limit: number;
133
+
134
+ /**
135
+ * Remaining requests in current window.
136
+ */
137
+ remaining: number;
138
+
139
+ /**
140
+ * Unix timestamp when the rate limit resets.
141
+ */
142
+ reset: number;
143
+ }
144
+
145
+ {{/if}}
146
+
@@ -1,22 +1,22 @@
1
- MIT License
2
-
3
- Copyright (c) {{year}} {{author}}
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
22
-
1
+ MIT License
2
+
3
+ Copyright (c) {{year}} {{author}}
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
@@ -272,14 +272,53 @@ workflow:
272
272
 
273
273
  Retornando para Dev corrigir...
274
274
 
275
+ # ──────────────────────────────────────────────────────────────────────────
276
+ # Agent Handoff Compaction — wired v1.1 (fw-v2.6, EPIC-framework-upgrade-v2)
277
+ # ──────────────────────────────────────────────────────────────────────────
278
+ # Operational enforcement of the handoff compaction protocol. The outgoing
279
+ # agent of each phase MUST run `generate-agent-handoff` task before the
280
+ # incoming agent is activated. This collapses persona context from ~3-5K
281
+ # tokens to ~379 per switch (90%+ compaction).
282
+ #
283
+ # Reference:
284
+ # - Task: .sinapse-ai/development/tasks/generate-agent-handoff.md
285
+ # - Rule: .claude/rules/agent-handoff.md
286
+ # - Template: .sinapse-ai/development/templates/agent-handoff-tmpl.yaml
287
+ handoff_hooks:
288
+ enabled: true
289
+ task: generate-agent-handoff
290
+ transitions:
291
+ - from: create # sprint-lead (sm)
292
+ to: validate # product-lead (po)
293
+ required: true
294
+ - from: validate # product-lead (po)
295
+ to: implement # developer (dev)
296
+ required: true
297
+ - from: implement # developer (dev)
298
+ to: review # quality-gate (qa)
299
+ required: true
300
+ storage: ".sinapse/handoffs/"
301
+ max_tokens_per_artifact: 500
302
+ on_failure: "warn-and-proceed" # per graceful-degradation principle in ids-principles.md
303
+
275
304
  metadata:
276
305
  author: Orion (SINAPSE Master)
277
306
  created_date: 2025-01-30
278
- version: 1.0.0
307
+ version: 1.1.0
308
+ version_history:
309
+ - version: 1.0.0
310
+ date: 2025-01-30
311
+ author: Orion
312
+ notes: "Initial 4-phase SDC workflow"
313
+ - version: 1.1.0
314
+ date: 2026-04-12
315
+ author: "Imperator (sinapse-orqx) via fw-v2.6"
316
+ notes: "Wired handoff_hooks to enforce agent handoff compaction between phase transitions. No breaking changes — existing sequence untouched."
279
317
  tags:
280
318
  - story
281
319
  - development-cycle
282
320
  - quality-gate
283
321
  - agile
284
322
  - generic
323
+ - handoff-compaction
285
324
 
@@ -111,6 +111,28 @@ async function main() {
111
111
  // Post-commit hook should NEVER block workflow
112
112
  console.error(`[IDS-Hook] Registry update failed (non-blocking): ${err.message}`);
113
113
  }
114
+
115
+ // Story 10.27 — When .sinapse-ai/ files changed, the registry update we
116
+ // just ran (and any other auto-managed file under .sinapse-ai/) needs the
117
+ // install-manifest.yaml to be refreshed too, otherwise the next commit's
118
+ // pre-commit hook will print "manifest outdated". Regenerate it here so
119
+ // the working tree converges to a clean state after every commit.
120
+ const sinapseChanges = changes.some(
121
+ (c) => c.relativePath && c.relativePath.startsWith('.sinapse-ai/'),
122
+ );
123
+ if (sinapseChanges) {
124
+ try {
125
+ const { generateManifest, writeManifest } = require(
126
+ path.resolve(REPO_ROOT, 'scripts/generate-install-manifest.js'),
127
+ );
128
+ const manifest = await generateManifest();
129
+ await writeManifest(manifest);
130
+ console.log('[IDS-Hook] install-manifest.yaml regenerated to stay in sync.');
131
+ } catch (err) {
132
+ // Same non-blocking philosophy as the registry update
133
+ console.error(`[IDS-Hook] Manifest regen failed (non-blocking): ${err.message}`);
134
+ }
135
+ }
114
136
  }
115
137
 
116
138
  main();
@@ -0,0 +1,42 @@
1
+ # Compatibility Contracts
2
+
3
+ This directory stores the cross-IDE compatibility contracts read by
4
+ `.sinapse-ai/infrastructure/scripts/validate-parity.js`.
5
+
6
+ ## Files
7
+
8
+ | File | Purpose | When to edit |
9
+ |------|---------|--------------|
10
+ | `sinapse-current.yaml` | Authoritative contract for the current release | Whenever the IDE matrix, required-checks, or expected statuses change |
11
+ | `sinapse-4.0.4.yaml` | Historical snapshot of the 4.0.4-era contract | Never (kept as a frozen reference for diffing) |
12
+
13
+ ## Resolution Policy
14
+
15
+ The validator's `getDefaultContractPath()` always prefers `sinapse-current.yaml`
16
+ when it exists on disk. The legacy `sinapse-4.0.4.yaml` is read only as a
17
+ fallback for repositories that have not yet been migrated.
18
+
19
+ Story 10.18 introduced this split because pinning the validator to a single
20
+ versioned filename caused the contract to silently track a stale release for
21
+ five major versions (4.0.4 → 9.4.0 → v10.0.0 target).
22
+
23
+ ## Updating the Contract
24
+
25
+ 1. Edit `sinapse-current.yaml` in place.
26
+ 2. Bump the `release` field to the new SINAPSE version label (e.g. `SINAPSE 10.1.0`).
27
+ 3. Bump `updated_at` to today's date (ISO format).
28
+ 4. Run `npm run validate:parity` to verify the new contract still passes.
29
+ 5. If the change adds or removes a required check, run `npm test` to make
30
+ sure no parity unit test is hard-coded to the old shape.
31
+
32
+ ## Diffing Two Contracts
33
+
34
+ Use the validator's `--diff` flag to compare the current contract against
35
+ any historical snapshot:
36
+
37
+ ```bash
38
+ npm run validate:parity -- --diff=.sinapse-ai/infrastructure/contracts/compatibility/sinapse-4.0.4.yaml
39
+ ```
40
+
41
+ The diff output is shown both in the human-readable report and in `--json`
42
+ mode under `contractDiff`.
@@ -0,0 +1,35 @@
1
+ # Compatibility Contract — current
2
+ #
3
+ # This file is the authoritative compatibility contract for the CURRENT release.
4
+ # When the IDE matrix or required-checks set changes, edit this file in place
5
+ # and bump the release/updated_at fields.
6
+ #
7
+ # A snapshot of the previous contract may be kept under a versioned name
8
+ # (e.g. sinapse-4.0.4.yaml) to support contract diffing via the validator's
9
+ # --diff=<path> flag, but the loader always prefers sinapse-current.yaml.
10
+ #
11
+ # See README.md in this directory for the versioning policy.
12
+
13
+ release: "SINAPSE 10.0.0"
14
+ updated_at: "2026-04-12"
15
+ source_of_truth:
16
+ docs_matrix: "docs/ide-integration.md"
17
+ validator: ".sinapse-ai/infrastructure/scripts/validate-parity.js"
18
+
19
+ global_required_checks:
20
+ - paths
21
+
22
+ ide_matrix:
23
+ - ide: "claude-code"
24
+ display_name: "Claude Code"
25
+ expected_status: "Works"
26
+ required_checks:
27
+ - claude-sync
28
+ - claude-integration
29
+ - ide: "codex"
30
+ display_name: "Codex CLI"
31
+ expected_status: "Limited"
32
+ required_checks:
33
+ - codex-sync
34
+ - codex-integration
35
+ - codex-skills