gentyr 1.3.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 (599) hide show
  1. package/.claude/agents/antipattern-hunter.md +176 -0
  2. package/.claude/agents/code-reviewer.md +205 -0
  3. package/.claude/agents/code-writer.md +154 -0
  4. package/.claude/agents/deputy-cto.md +309 -0
  5. package/.claude/agents/feedback-agent.md +101 -0
  6. package/.claude/agents/investigator.md +136 -0
  7. package/.claude/agents/product-manager.md +97 -0
  8. package/.claude/agents/project-manager.md +116 -0
  9. package/.claude/agents/repo-hygiene-expert.md +626 -0
  10. package/.claude/agents/secret-manager.md +324 -0
  11. package/.claude/agents/test-writer.md +354 -0
  12. package/.claude/commands/configure-personas.md +144 -0
  13. package/.claude/commands/cto-report.md +36 -0
  14. package/.claude/commands/demo.md +89 -0
  15. package/.claude/commands/deputy-cto.md +345 -0
  16. package/.claude/commands/hotfix.md +31 -0
  17. package/.claude/commands/overdrive-gentyr.md +167 -0
  18. package/.claude/commands/product-manager.md +32 -0
  19. package/.claude/commands/push-migrations.md +86 -0
  20. package/.claude/commands/push-secrets.md +97 -0
  21. package/.claude/commands/services.json.example +30 -0
  22. package/.claude/commands/setup-gentyr.md +396 -0
  23. package/.claude/commands/show.md +42 -0
  24. package/.claude/commands/spawn-tasks.md +79 -0
  25. package/.claude/commands/toggle-automation-gentyr.md +75 -0
  26. package/.claude/commands/toggle-product-manager.md +19 -0
  27. package/.claude/commands/triage.md +69 -0
  28. package/.claude/hooks/README.md +686 -0
  29. package/.claude/hooks/__tests__/README.md +129 -0
  30. package/.claude/hooks/agent-tracker.js +434 -0
  31. package/.claude/hooks/antipattern-hunter-hook.js +401 -0
  32. package/.claude/hooks/api-key-watcher.js +289 -0
  33. package/.claude/hooks/block-no-verify.js +301 -0
  34. package/.claude/hooks/bypass-approval-hook.js +313 -0
  35. package/.claude/hooks/compliance-checker.js +1309 -0
  36. package/.claude/hooks/config-reader.js +143 -0
  37. package/.claude/hooks/credential-file-guard.js +1139 -0
  38. package/.claude/hooks/credential-health-check.js +168 -0
  39. package/.claude/hooks/credential-sync-hook.js +79 -0
  40. package/.claude/hooks/cto-notification-hook.js +656 -0
  41. package/.claude/hooks/feedback-launcher.js +424 -0
  42. package/.claude/hooks/feedback-orchestrator.js +367 -0
  43. package/.claude/hooks/gentyr-splash.js +47 -0
  44. package/.claude/hooks/gentyr-sync.js +389 -0
  45. package/.claude/hooks/hourly-automation.js +3340 -0
  46. package/.claude/hooks/key-sync.js +899 -0
  47. package/.claude/hooks/lib/approval-utils.js +731 -0
  48. package/.claude/hooks/lib/feature-branch-helper.js +102 -0
  49. package/.claude/hooks/lib/worktree-manager.js +330 -0
  50. package/.claude/hooks/mapping-validator.js +285 -0
  51. package/.claude/hooks/plan-executor.js +398 -0
  52. package/.claude/hooks/playwright-cli-guard.js +104 -0
  53. package/.claude/hooks/playwright-health-check.js +71 -0
  54. package/.claude/hooks/pre-commit-review.js +725 -0
  55. package/.claude/hooks/prompts/local-spec-enforcement.md +310 -0
  56. package/.claude/hooks/prompts/mapping-fix.md +92 -0
  57. package/.claude/hooks/prompts/mapping-review.md +140 -0
  58. package/.claude/hooks/prompts/schema-mapper.md +185 -0
  59. package/.claude/hooks/prompts/spec-enforcement.md +233 -0
  60. package/.claude/hooks/protected-action-approval-hook.js +336 -0
  61. package/.claude/hooks/protected-action-gate.js +562 -0
  62. package/.claude/hooks/protected-actions.json +208 -0
  63. package/.claude/hooks/protected-actions.json.template +122 -0
  64. package/.claude/hooks/quota-monitor.js +490 -0
  65. package/.claude/hooks/reporters/jest-failure-reporter.js +401 -0
  66. package/.claude/hooks/reporters/playwright-failure-reporter.js +446 -0
  67. package/.claude/hooks/reporters/vitest-failure-reporter.js +443 -0
  68. package/.claude/hooks/schema-mapper-hook.js +544 -0
  69. package/.claude/hooks/secret-leak-detector.js +216 -0
  70. package/.claude/hooks/session-reviver.js +514 -0
  71. package/.claude/hooks/slash-command-prefetch.js +1145 -0
  72. package/.claude/hooks/stale-work-detector.js +205 -0
  73. package/.claude/hooks/stop-continue-hook.js +414 -0
  74. package/.claude/hooks/todo-maintenance.js +522 -0
  75. package/.claude/hooks/todo-processing-prompt.md +75 -0
  76. package/.claude/hooks/usage-optimizer.js +791 -0
  77. package/.claude/mcp/README.md +246 -0
  78. package/.claude/settings.json.template +168 -0
  79. package/.mcp.json.template +207 -0
  80. package/CLAUDE.md +340 -0
  81. package/CLAUDE.md.gentyr-section +89 -0
  82. package/LICENSE +21 -0
  83. package/README.md +297 -0
  84. package/cli/commands/init.js +471 -0
  85. package/cli/commands/migrate.js +132 -0
  86. package/cli/commands/protect.js +271 -0
  87. package/cli/commands/scaffold.js +48 -0
  88. package/cli/commands/status.js +133 -0
  89. package/cli/commands/sync.js +101 -0
  90. package/cli/commands/uninstall.js +207 -0
  91. package/cli/index.js +111 -0
  92. package/cli/lib/config-gen.js +214 -0
  93. package/cli/lib/resolve-framework.js +97 -0
  94. package/cli/lib/state.js +140 -0
  95. package/cli/lib/symlinks.js +260 -0
  96. package/docs/AUTOMATION-SYSTEMS.md +484 -0
  97. package/docs/BINARY-PATCHING.md +212 -0
  98. package/docs/CHANGELOG.md +2830 -0
  99. package/docs/CREDENTIAL-DETECTION.md +151 -0
  100. package/docs/CTO-DASHBOARD.md +476 -0
  101. package/docs/DEPLOYMENT-FLOW.md +477 -0
  102. package/docs/DEVELOPER.md +116 -0
  103. package/docs/Executive.md +372 -0
  104. package/docs/SECRET-PATHS.md +77 -0
  105. package/docs/SETUP-GUIDE.md +419 -0
  106. package/docs/STACK.md +109 -0
  107. package/docs/TESTING.md +440 -0
  108. package/docs/assets/claude-logo.svg +3 -0
  109. package/docs/sessions/2026-01-24-spec-suite-implementation.md +190 -0
  110. package/docs/sessions/2026-02-15-feedback-e2e-audit.md +484 -0
  111. package/docs/sessions/2026-02-20-credential-rotation-experiments.md +340 -0
  112. package/docs/sessions/TEST-COVERAGE-REPORT-2026-02-20.md +168 -0
  113. package/docs/shared/EPHEMERAL-STATE-FILES.md +115 -0
  114. package/docs/shared/PROTECTION-SYSTEM.md +341 -0
  115. package/husky/post-commit +10 -0
  116. package/husky/pre-commit +40 -0
  117. package/husky/pre-push +94 -0
  118. package/package.json +43 -0
  119. package/packages/cto-dashboard/package-lock.json +3510 -0
  120. package/packages/cto-dashboard/package.json +41 -0
  121. package/packages/cto-dashboard/pnpm-lock.yaml +2168 -0
  122. package/packages/mcp-servers/dist/__testUtils__/fixtures.d.ts +220 -0
  123. package/packages/mcp-servers/dist/__testUtils__/fixtures.d.ts.map +1 -0
  124. package/packages/mcp-servers/dist/__testUtils__/fixtures.js +376 -0
  125. package/packages/mcp-servers/dist/__testUtils__/fixtures.js.map +1 -0
  126. package/packages/mcp-servers/dist/__testUtils__/index.d.ts +121 -0
  127. package/packages/mcp-servers/dist/__testUtils__/index.d.ts.map +1 -0
  128. package/packages/mcp-servers/dist/__testUtils__/index.js +180 -0
  129. package/packages/mcp-servers/dist/__testUtils__/index.js.map +1 -0
  130. package/packages/mcp-servers/dist/__testUtils__/schemas.d.ts +84 -0
  131. package/packages/mcp-servers/dist/__testUtils__/schemas.d.ts.map +1 -0
  132. package/packages/mcp-servers/dist/__testUtils__/schemas.js +309 -0
  133. package/packages/mcp-servers/dist/__testUtils__/schemas.js.map +1 -0
  134. package/packages/mcp-servers/dist/agent-reports/index.d.ts +7 -0
  135. package/packages/mcp-servers/dist/agent-reports/index.d.ts.map +1 -0
  136. package/packages/mcp-servers/dist/agent-reports/index.js +8 -0
  137. package/packages/mcp-servers/dist/agent-reports/index.js.map +1 -0
  138. package/packages/mcp-servers/dist/agent-reports/server.d.ts +22 -0
  139. package/packages/mcp-servers/dist/agent-reports/server.d.ts.map +1 -0
  140. package/packages/mcp-servers/dist/agent-reports/server.js +535 -0
  141. package/packages/mcp-servers/dist/agent-reports/server.js.map +1 -0
  142. package/packages/mcp-servers/dist/agent-reports/types.d.ts +258 -0
  143. package/packages/mcp-servers/dist/agent-reports/types.d.ts.map +1 -0
  144. package/packages/mcp-servers/dist/agent-reports/types.js +81 -0
  145. package/packages/mcp-servers/dist/agent-reports/types.js.map +1 -0
  146. package/packages/mcp-servers/dist/agent-tracker/index.d.ts +5 -0
  147. package/packages/mcp-servers/dist/agent-tracker/index.d.ts.map +1 -0
  148. package/packages/mcp-servers/dist/agent-tracker/index.js +5 -0
  149. package/packages/mcp-servers/dist/agent-tracker/index.js.map +1 -0
  150. package/packages/mcp-servers/dist/agent-tracker/server.d.ts +12 -0
  151. package/packages/mcp-servers/dist/agent-tracker/server.d.ts.map +1 -0
  152. package/packages/mcp-servers/dist/agent-tracker/server.js +919 -0
  153. package/packages/mcp-servers/dist/agent-tracker/server.js.map +1 -0
  154. package/packages/mcp-servers/dist/agent-tracker/types.d.ts +328 -0
  155. package/packages/mcp-servers/dist/agent-tracker/types.d.ts.map +1 -0
  156. package/packages/mcp-servers/dist/agent-tracker/types.js +128 -0
  157. package/packages/mcp-servers/dist/agent-tracker/types.js.map +1 -0
  158. package/packages/mcp-servers/dist/chrome-bridge/browser-tips.d.ts +27 -0
  159. package/packages/mcp-servers/dist/chrome-bridge/browser-tips.d.ts.map +1 -0
  160. package/packages/mcp-servers/dist/chrome-bridge/browser-tips.js +167 -0
  161. package/packages/mcp-servers/dist/chrome-bridge/browser-tips.js.map +1 -0
  162. package/packages/mcp-servers/dist/chrome-bridge/index.d.ts +6 -0
  163. package/packages/mcp-servers/dist/chrome-bridge/index.d.ts.map +1 -0
  164. package/packages/mcp-servers/dist/chrome-bridge/index.js +6 -0
  165. package/packages/mcp-servers/dist/chrome-bridge/index.js.map +1 -0
  166. package/packages/mcp-servers/dist/chrome-bridge/server.d.ts +13 -0
  167. package/packages/mcp-servers/dist/chrome-bridge/server.d.ts.map +1 -0
  168. package/packages/mcp-servers/dist/chrome-bridge/server.js +959 -0
  169. package/packages/mcp-servers/dist/chrome-bridge/server.js.map +1 -0
  170. package/packages/mcp-servers/dist/chrome-bridge/types.d.ts +41 -0
  171. package/packages/mcp-servers/dist/chrome-bridge/types.d.ts.map +1 -0
  172. package/packages/mcp-servers/dist/chrome-bridge/types.js +8 -0
  173. package/packages/mcp-servers/dist/chrome-bridge/types.js.map +1 -0
  174. package/packages/mcp-servers/dist/cloudflare/index.d.ts +8 -0
  175. package/packages/mcp-servers/dist/cloudflare/index.d.ts.map +1 -0
  176. package/packages/mcp-servers/dist/cloudflare/index.js +8 -0
  177. package/packages/mcp-servers/dist/cloudflare/index.js.map +1 -0
  178. package/packages/mcp-servers/dist/cloudflare/server.d.ts +16 -0
  179. package/packages/mcp-servers/dist/cloudflare/server.d.ts.map +1 -0
  180. package/packages/mcp-servers/dist/cloudflare/server.js +253 -0
  181. package/packages/mcp-servers/dist/cloudflare/server.js.map +1 -0
  182. package/packages/mcp-servers/dist/cloudflare/types.d.ts +141 -0
  183. package/packages/mcp-servers/dist/cloudflare/types.d.ts.map +1 -0
  184. package/packages/mcp-servers/dist/cloudflare/types.js +53 -0
  185. package/packages/mcp-servers/dist/cloudflare/types.js.map +1 -0
  186. package/packages/mcp-servers/dist/codecov/index.d.ts +7 -0
  187. package/packages/mcp-servers/dist/codecov/index.d.ts.map +1 -0
  188. package/packages/mcp-servers/dist/codecov/index.js +7 -0
  189. package/packages/mcp-servers/dist/codecov/index.js.map +1 -0
  190. package/packages/mcp-servers/dist/codecov/server.d.ts +21 -0
  191. package/packages/mcp-servers/dist/codecov/server.d.ts.map +1 -0
  192. package/packages/mcp-servers/dist/codecov/server.js +376 -0
  193. package/packages/mcp-servers/dist/codecov/server.js.map +1 -0
  194. package/packages/mcp-servers/dist/codecov/types.d.ts +269 -0
  195. package/packages/mcp-servers/dist/codecov/types.d.ts.map +1 -0
  196. package/packages/mcp-servers/dist/codecov/types.js +128 -0
  197. package/packages/mcp-servers/dist/codecov/types.js.map +1 -0
  198. package/packages/mcp-servers/dist/cto-report/index.d.ts +9 -0
  199. package/packages/mcp-servers/dist/cto-report/index.d.ts.map +1 -0
  200. package/packages/mcp-servers/dist/cto-report/index.js +9 -0
  201. package/packages/mcp-servers/dist/cto-report/index.js.map +1 -0
  202. package/packages/mcp-servers/dist/cto-report/server.d.ts +14 -0
  203. package/packages/mcp-servers/dist/cto-report/server.d.ts.map +1 -0
  204. package/packages/mcp-servers/dist/cto-report/server.js +859 -0
  205. package/packages/mcp-servers/dist/cto-report/server.js.map +1 -0
  206. package/packages/mcp-servers/dist/cto-report/types.d.ts +213 -0
  207. package/packages/mcp-servers/dist/cto-report/types.d.ts.map +1 -0
  208. package/packages/mcp-servers/dist/cto-report/types.js +29 -0
  209. package/packages/mcp-servers/dist/cto-report/types.js.map +1 -0
  210. package/packages/mcp-servers/dist/cto-reports/index.d.ts +7 -0
  211. package/packages/mcp-servers/dist/cto-reports/index.d.ts.map +1 -0
  212. package/packages/mcp-servers/dist/cto-reports/index.js +8 -0
  213. package/packages/mcp-servers/dist/cto-reports/index.js.map +1 -0
  214. package/packages/mcp-servers/dist/cto-reports/server.d.ts +20 -0
  215. package/packages/mcp-servers/dist/cto-reports/server.d.ts.map +1 -0
  216. package/packages/mcp-servers/dist/cto-reports/server.js +538 -0
  217. package/packages/mcp-servers/dist/cto-reports/server.js.map +1 -0
  218. package/packages/mcp-servers/dist/cto-reports/types.d.ts +236 -0
  219. package/packages/mcp-servers/dist/cto-reports/types.d.ts.map +1 -0
  220. package/packages/mcp-servers/dist/cto-reports/types.js +77 -0
  221. package/packages/mcp-servers/dist/cto-reports/types.js.map +1 -0
  222. package/packages/mcp-servers/dist/deputy-cto/index.d.ts +7 -0
  223. package/packages/mcp-servers/dist/deputy-cto/index.d.ts.map +1 -0
  224. package/packages/mcp-servers/dist/deputy-cto/index.js +8 -0
  225. package/packages/mcp-servers/dist/deputy-cto/index.js.map +1 -0
  226. package/packages/mcp-servers/dist/deputy-cto/server.d.ts +23 -0
  227. package/packages/mcp-servers/dist/deputy-cto/server.d.ts.map +1 -0
  228. package/packages/mcp-servers/dist/deputy-cto/server.js +1700 -0
  229. package/packages/mcp-servers/dist/deputy-cto/server.js.map +1 -0
  230. package/packages/mcp-servers/dist/deputy-cto/types.d.ts +439 -0
  231. package/packages/mcp-servers/dist/deputy-cto/types.d.ts.map +1 -0
  232. package/packages/mcp-servers/dist/deputy-cto/types.js +102 -0
  233. package/packages/mcp-servers/dist/deputy-cto/types.js.map +1 -0
  234. package/packages/mcp-servers/dist/elastic-logs/index.d.ts +5 -0
  235. package/packages/mcp-servers/dist/elastic-logs/index.d.ts.map +1 -0
  236. package/packages/mcp-servers/dist/elastic-logs/index.js +5 -0
  237. package/packages/mcp-servers/dist/elastic-logs/index.js.map +1 -0
  238. package/packages/mcp-servers/dist/elastic-logs/server.d.ts +18 -0
  239. package/packages/mcp-servers/dist/elastic-logs/server.d.ts.map +1 -0
  240. package/packages/mcp-servers/dist/elastic-logs/server.js +259 -0
  241. package/packages/mcp-servers/dist/elastic-logs/server.js.map +1 -0
  242. package/packages/mcp-servers/dist/elastic-logs/types.d.ts +107 -0
  243. package/packages/mcp-servers/dist/elastic-logs/types.d.ts.map +1 -0
  244. package/packages/mcp-servers/dist/elastic-logs/types.js +31 -0
  245. package/packages/mcp-servers/dist/elastic-logs/types.js.map +1 -0
  246. package/packages/mcp-servers/dist/feedback-explorer/index.d.ts +2 -0
  247. package/packages/mcp-servers/dist/feedback-explorer/index.d.ts.map +1 -0
  248. package/packages/mcp-servers/dist/feedback-explorer/index.js +2 -0
  249. package/packages/mcp-servers/dist/feedback-explorer/index.js.map +1 -0
  250. package/packages/mcp-servers/dist/feedback-explorer/server.d.ts +21 -0
  251. package/packages/mcp-servers/dist/feedback-explorer/server.d.ts.map +1 -0
  252. package/packages/mcp-servers/dist/feedback-explorer/server.js +580 -0
  253. package/packages/mcp-servers/dist/feedback-explorer/server.js.map +1 -0
  254. package/packages/mcp-servers/dist/feedback-explorer/types.d.ts +331 -0
  255. package/packages/mcp-servers/dist/feedback-explorer/types.d.ts.map +1 -0
  256. package/packages/mcp-servers/dist/feedback-explorer/types.js +40 -0
  257. package/packages/mcp-servers/dist/feedback-explorer/types.js.map +1 -0
  258. package/packages/mcp-servers/dist/feedback-reporter/index.d.ts +9 -0
  259. package/packages/mcp-servers/dist/feedback-reporter/index.d.ts.map +1 -0
  260. package/packages/mcp-servers/dist/feedback-reporter/index.js +9 -0
  261. package/packages/mcp-servers/dist/feedback-reporter/index.js.map +1 -0
  262. package/packages/mcp-servers/dist/feedback-reporter/server.d.ts +36 -0
  263. package/packages/mcp-servers/dist/feedback-reporter/server.d.ts.map +1 -0
  264. package/packages/mcp-servers/dist/feedback-reporter/server.js +392 -0
  265. package/packages/mcp-servers/dist/feedback-reporter/server.js.map +1 -0
  266. package/packages/mcp-servers/dist/feedback-reporter/types.d.ts +152 -0
  267. package/packages/mcp-servers/dist/feedback-reporter/types.d.ts.map +1 -0
  268. package/packages/mcp-servers/dist/feedback-reporter/types.js +67 -0
  269. package/packages/mcp-servers/dist/feedback-reporter/types.js.map +1 -0
  270. package/packages/mcp-servers/dist/github/index.d.ts +7 -0
  271. package/packages/mcp-servers/dist/github/index.d.ts.map +1 -0
  272. package/packages/mcp-servers/dist/github/index.js +7 -0
  273. package/packages/mcp-servers/dist/github/index.js.map +1 -0
  274. package/packages/mcp-servers/dist/github/server.d.ts +15 -0
  275. package/packages/mcp-servers/dist/github/server.d.ts.map +1 -0
  276. package/packages/mcp-servers/dist/github/server.js +686 -0
  277. package/packages/mcp-servers/dist/github/server.js.map +1 -0
  278. package/packages/mcp-servers/dist/github/types.d.ts +660 -0
  279. package/packages/mcp-servers/dist/github/types.d.ts.map +1 -0
  280. package/packages/mcp-servers/dist/github/types.js +209 -0
  281. package/packages/mcp-servers/dist/github/types.js.map +1 -0
  282. package/packages/mcp-servers/dist/index.d.ts +30 -0
  283. package/packages/mcp-servers/dist/index.d.ts.map +1 -0
  284. package/packages/mcp-servers/dist/index.js +32 -0
  285. package/packages/mcp-servers/dist/index.js.map +1 -0
  286. package/packages/mcp-servers/dist/makerkit-docs/index.d.ts +5 -0
  287. package/packages/mcp-servers/dist/makerkit-docs/index.d.ts.map +1 -0
  288. package/packages/mcp-servers/dist/makerkit-docs/index.js +5 -0
  289. package/packages/mcp-servers/dist/makerkit-docs/index.js.map +1 -0
  290. package/packages/mcp-servers/dist/makerkit-docs/server.d.ts +15 -0
  291. package/packages/mcp-servers/dist/makerkit-docs/server.d.ts.map +1 -0
  292. package/packages/mcp-servers/dist/makerkit-docs/server.js +252 -0
  293. package/packages/mcp-servers/dist/makerkit-docs/server.js.map +1 -0
  294. package/packages/mcp-servers/dist/makerkit-docs/types.d.ts +74 -0
  295. package/packages/mcp-servers/dist/makerkit-docs/types.d.ts.map +1 -0
  296. package/packages/mcp-servers/dist/makerkit-docs/types.js +20 -0
  297. package/packages/mcp-servers/dist/makerkit-docs/types.js.map +1 -0
  298. package/packages/mcp-servers/dist/onepassword/index.d.ts +2 -0
  299. package/packages/mcp-servers/dist/onepassword/index.d.ts.map +1 -0
  300. package/packages/mcp-servers/dist/onepassword/index.js +2 -0
  301. package/packages/mcp-servers/dist/onepassword/index.js.map +1 -0
  302. package/packages/mcp-servers/dist/onepassword/server.d.ts +2 -0
  303. package/packages/mcp-servers/dist/onepassword/server.d.ts.map +1 -0
  304. package/packages/mcp-servers/dist/onepassword/server.js +159 -0
  305. package/packages/mcp-servers/dist/onepassword/server.js.map +1 -0
  306. package/packages/mcp-servers/dist/onepassword/types.d.ts +55 -0
  307. package/packages/mcp-servers/dist/onepassword/types.d.ts.map +1 -0
  308. package/packages/mcp-servers/dist/onepassword/types.js +22 -0
  309. package/packages/mcp-servers/dist/onepassword/types.js.map +1 -0
  310. package/packages/mcp-servers/dist/playwright/helpers.d.ts +20 -0
  311. package/packages/mcp-servers/dist/playwright/helpers.d.ts.map +1 -0
  312. package/packages/mcp-servers/dist/playwright/helpers.js +31 -0
  313. package/packages/mcp-servers/dist/playwright/helpers.js.map +1 -0
  314. package/packages/mcp-servers/dist/playwright/index.d.ts +5 -0
  315. package/packages/mcp-servers/dist/playwright/index.d.ts.map +1 -0
  316. package/packages/mcp-servers/dist/playwright/index.js +5 -0
  317. package/packages/mcp-servers/dist/playwright/index.js.map +1 -0
  318. package/packages/mcp-servers/dist/playwright/server.d.ts +13 -0
  319. package/packages/mcp-servers/dist/playwright/server.d.ts.map +1 -0
  320. package/packages/mcp-servers/dist/playwright/server.js +1201 -0
  321. package/packages/mcp-servers/dist/playwright/server.js.map +1 -0
  322. package/packages/mcp-servers/dist/playwright/types.d.ts +216 -0
  323. package/packages/mcp-servers/dist/playwright/types.d.ts.map +1 -0
  324. package/packages/mcp-servers/dist/playwright/types.js +172 -0
  325. package/packages/mcp-servers/dist/playwright/types.js.map +1 -0
  326. package/packages/mcp-servers/dist/playwright-feedback/browser-manager.d.ts +39 -0
  327. package/packages/mcp-servers/dist/playwright-feedback/browser-manager.d.ts.map +1 -0
  328. package/packages/mcp-servers/dist/playwright-feedback/browser-manager.js +71 -0
  329. package/packages/mcp-servers/dist/playwright-feedback/browser-manager.js.map +1 -0
  330. package/packages/mcp-servers/dist/playwright-feedback/index.d.ts +5 -0
  331. package/packages/mcp-servers/dist/playwright-feedback/index.d.ts.map +1 -0
  332. package/packages/mcp-servers/dist/playwright-feedback/index.js +5 -0
  333. package/packages/mcp-servers/dist/playwright-feedback/index.js.map +1 -0
  334. package/packages/mcp-servers/dist/playwright-feedback/server.d.ts +34 -0
  335. package/packages/mcp-servers/dist/playwright-feedback/server.d.ts.map +1 -0
  336. package/packages/mcp-servers/dist/playwright-feedback/server.js +538 -0
  337. package/packages/mcp-servers/dist/playwright-feedback/server.js.map +1 -0
  338. package/packages/mcp-servers/dist/playwright-feedback/types.d.ts +305 -0
  339. package/packages/mcp-servers/dist/playwright-feedback/types.d.ts.map +1 -0
  340. package/packages/mcp-servers/dist/playwright-feedback/types.js +123 -0
  341. package/packages/mcp-servers/dist/playwright-feedback/types.js.map +1 -0
  342. package/packages/mcp-servers/dist/product-manager/server.d.ts +17 -0
  343. package/packages/mcp-servers/dist/product-manager/server.d.ts.map +1 -0
  344. package/packages/mcp-servers/dist/product-manager/server.js +690 -0
  345. package/packages/mcp-servers/dist/product-manager/server.js.map +1 -0
  346. package/packages/mcp-servers/dist/product-manager/types.d.ts +286 -0
  347. package/packages/mcp-servers/dist/product-manager/types.d.ts.map +1 -0
  348. package/packages/mcp-servers/dist/product-manager/types.js +99 -0
  349. package/packages/mcp-servers/dist/product-manager/types.js.map +1 -0
  350. package/packages/mcp-servers/dist/programmatic-feedback/index.d.ts +7 -0
  351. package/packages/mcp-servers/dist/programmatic-feedback/index.d.ts.map +1 -0
  352. package/packages/mcp-servers/dist/programmatic-feedback/index.js +7 -0
  353. package/packages/mcp-servers/dist/programmatic-feedback/index.js.map +1 -0
  354. package/packages/mcp-servers/dist/programmatic-feedback/sandbox.d.ts +19 -0
  355. package/packages/mcp-servers/dist/programmatic-feedback/sandbox.d.ts.map +1 -0
  356. package/packages/mcp-servers/dist/programmatic-feedback/sandbox.js +174 -0
  357. package/packages/mcp-servers/dist/programmatic-feedback/sandbox.js.map +1 -0
  358. package/packages/mcp-servers/dist/programmatic-feedback/server.d.ts +35 -0
  359. package/packages/mcp-servers/dist/programmatic-feedback/server.d.ts.map +1 -0
  360. package/packages/mcp-servers/dist/programmatic-feedback/server.js +465 -0
  361. package/packages/mcp-servers/dist/programmatic-feedback/server.js.map +1 -0
  362. package/packages/mcp-servers/dist/programmatic-feedback/types.d.ts +127 -0
  363. package/packages/mcp-servers/dist/programmatic-feedback/types.d.ts.map +1 -0
  364. package/packages/mcp-servers/dist/programmatic-feedback/types.js +80 -0
  365. package/packages/mcp-servers/dist/programmatic-feedback/types.js.map +1 -0
  366. package/packages/mcp-servers/dist/render/index.d.ts +8 -0
  367. package/packages/mcp-servers/dist/render/index.d.ts.map +1 -0
  368. package/packages/mcp-servers/dist/render/index.js +8 -0
  369. package/packages/mcp-servers/dist/render/index.js.map +1 -0
  370. package/packages/mcp-servers/dist/render/server.d.ts +15 -0
  371. package/packages/mcp-servers/dist/render/server.d.ts.map +1 -0
  372. package/packages/mcp-servers/dist/render/server.js +428 -0
  373. package/packages/mcp-servers/dist/render/server.js.map +1 -0
  374. package/packages/mcp-servers/dist/render/types.d.ts +273 -0
  375. package/packages/mcp-servers/dist/render/types.d.ts.map +1 -0
  376. package/packages/mcp-servers/dist/render/types.js +102 -0
  377. package/packages/mcp-servers/dist/render/types.js.map +1 -0
  378. package/packages/mcp-servers/dist/resend/index.d.ts +7 -0
  379. package/packages/mcp-servers/dist/resend/index.d.ts.map +1 -0
  380. package/packages/mcp-servers/dist/resend/index.js +7 -0
  381. package/packages/mcp-servers/dist/resend/index.js.map +1 -0
  382. package/packages/mcp-servers/dist/resend/server.d.ts +15 -0
  383. package/packages/mcp-servers/dist/resend/server.d.ts.map +1 -0
  384. package/packages/mcp-servers/dist/resend/server.js +298 -0
  385. package/packages/mcp-servers/dist/resend/server.js.map +1 -0
  386. package/packages/mcp-servers/dist/resend/types.d.ts +222 -0
  387. package/packages/mcp-servers/dist/resend/types.d.ts.map +1 -0
  388. package/packages/mcp-servers/dist/resend/types.js +58 -0
  389. package/packages/mcp-servers/dist/resend/types.js.map +1 -0
  390. package/packages/mcp-servers/dist/review-queue/index.d.ts +6 -0
  391. package/packages/mcp-servers/dist/review-queue/index.d.ts.map +1 -0
  392. package/packages/mcp-servers/dist/review-queue/index.js +6 -0
  393. package/packages/mcp-servers/dist/review-queue/index.js.map +1 -0
  394. package/packages/mcp-servers/dist/review-queue/server.d.ts +17 -0
  395. package/packages/mcp-servers/dist/review-queue/server.d.ts.map +1 -0
  396. package/packages/mcp-servers/dist/review-queue/server.js +348 -0
  397. package/packages/mcp-servers/dist/review-queue/server.js.map +1 -0
  398. package/packages/mcp-servers/dist/review-queue/types.d.ts +162 -0
  399. package/packages/mcp-servers/dist/review-queue/types.d.ts.map +1 -0
  400. package/packages/mcp-servers/dist/review-queue/types.js +56 -0
  401. package/packages/mcp-servers/dist/review-queue/types.js.map +1 -0
  402. package/packages/mcp-servers/dist/secret-sync/server.d.ts +19 -0
  403. package/packages/mcp-servers/dist/secret-sync/server.d.ts.map +1 -0
  404. package/packages/mcp-servers/dist/secret-sync/server.js +1139 -0
  405. package/packages/mcp-servers/dist/secret-sync/server.js.map +1 -0
  406. package/packages/mcp-servers/dist/secret-sync/types.d.ts +442 -0
  407. package/packages/mcp-servers/dist/secret-sync/types.d.ts.map +1 -0
  408. package/packages/mcp-servers/dist/secret-sync/types.js +113 -0
  409. package/packages/mcp-servers/dist/secret-sync/types.js.map +1 -0
  410. package/packages/mcp-servers/dist/session-events/index.d.ts +5 -0
  411. package/packages/mcp-servers/dist/session-events/index.d.ts.map +1 -0
  412. package/packages/mcp-servers/dist/session-events/index.js +5 -0
  413. package/packages/mcp-servers/dist/session-events/index.js.map +1 -0
  414. package/packages/mcp-servers/dist/session-events/server.d.ts +11 -0
  415. package/packages/mcp-servers/dist/session-events/server.d.ts.map +1 -0
  416. package/packages/mcp-servers/dist/session-events/server.js +290 -0
  417. package/packages/mcp-servers/dist/session-events/server.js.map +1 -0
  418. package/packages/mcp-servers/dist/session-events/types.d.ts +213 -0
  419. package/packages/mcp-servers/dist/session-events/types.d.ts.map +1 -0
  420. package/packages/mcp-servers/dist/session-events/types.js +69 -0
  421. package/packages/mcp-servers/dist/session-events/types.js.map +1 -0
  422. package/packages/mcp-servers/dist/session-restart/index.d.ts +9 -0
  423. package/packages/mcp-servers/dist/session-restart/index.d.ts.map +1 -0
  424. package/packages/mcp-servers/dist/session-restart/index.js +9 -0
  425. package/packages/mcp-servers/dist/session-restart/index.js.map +1 -0
  426. package/packages/mcp-servers/dist/session-restart/server.d.ts +20 -0
  427. package/packages/mcp-servers/dist/session-restart/server.d.ts.map +1 -0
  428. package/packages/mcp-servers/dist/session-restart/server.js +411 -0
  429. package/packages/mcp-servers/dist/session-restart/server.js.map +1 -0
  430. package/packages/mcp-servers/dist/session-restart/types.d.ts +26 -0
  431. package/packages/mcp-servers/dist/session-restart/types.d.ts.map +1 -0
  432. package/packages/mcp-servers/dist/session-restart/types.js +16 -0
  433. package/packages/mcp-servers/dist/session-restart/types.js.map +1 -0
  434. package/packages/mcp-servers/dist/setup-helper/index.d.ts +5 -0
  435. package/packages/mcp-servers/dist/setup-helper/index.d.ts.map +1 -0
  436. package/packages/mcp-servers/dist/setup-helper/index.js +5 -0
  437. package/packages/mcp-servers/dist/setup-helper/index.js.map +1 -0
  438. package/packages/mcp-servers/dist/setup-helper/server.d.ts +14 -0
  439. package/packages/mcp-servers/dist/setup-helper/server.d.ts.map +1 -0
  440. package/packages/mcp-servers/dist/setup-helper/server.js +454 -0
  441. package/packages/mcp-servers/dist/setup-helper/server.js.map +1 -0
  442. package/packages/mcp-servers/dist/setup-helper/types.d.ts +81 -0
  443. package/packages/mcp-servers/dist/setup-helper/types.d.ts.map +1 -0
  444. package/packages/mcp-servers/dist/setup-helper/types.js +41 -0
  445. package/packages/mcp-servers/dist/setup-helper/types.js.map +1 -0
  446. package/packages/mcp-servers/dist/shared/audited-server.d.ts +31 -0
  447. package/packages/mcp-servers/dist/shared/audited-server.d.ts.map +1 -0
  448. package/packages/mcp-servers/dist/shared/audited-server.js +126 -0
  449. package/packages/mcp-servers/dist/shared/audited-server.js.map +1 -0
  450. package/packages/mcp-servers/dist/shared/constants.d.ts +26 -0
  451. package/packages/mcp-servers/dist/shared/constants.d.ts.map +1 -0
  452. package/packages/mcp-servers/dist/shared/constants.js +41 -0
  453. package/packages/mcp-servers/dist/shared/constants.js.map +1 -0
  454. package/packages/mcp-servers/dist/shared/index.d.ts +6 -0
  455. package/packages/mcp-servers/dist/shared/index.d.ts.map +1 -0
  456. package/packages/mcp-servers/dist/shared/index.js +6 -0
  457. package/packages/mcp-servers/dist/shared/index.js.map +1 -0
  458. package/packages/mcp-servers/dist/shared/readonly-db.d.ts +11 -0
  459. package/packages/mcp-servers/dist/shared/readonly-db.d.ts.map +1 -0
  460. package/packages/mcp-servers/dist/shared/readonly-db.js +47 -0
  461. package/packages/mcp-servers/dist/shared/readonly-db.js.map +1 -0
  462. package/packages/mcp-servers/dist/shared/resolve-framework.d.ts +20 -0
  463. package/packages/mcp-servers/dist/shared/resolve-framework.d.ts.map +1 -0
  464. package/packages/mcp-servers/dist/shared/resolve-framework.js +65 -0
  465. package/packages/mcp-servers/dist/shared/resolve-framework.js.map +1 -0
  466. package/packages/mcp-servers/dist/shared/server.d.ts +86 -0
  467. package/packages/mcp-servers/dist/shared/server.d.ts.map +1 -0
  468. package/packages/mcp-servers/dist/shared/server.js +291 -0
  469. package/packages/mcp-servers/dist/shared/server.js.map +1 -0
  470. package/packages/mcp-servers/dist/shared/types.d.ts +113 -0
  471. package/packages/mcp-servers/dist/shared/types.d.ts.map +1 -0
  472. package/packages/mcp-servers/dist/shared/types.js +36 -0
  473. package/packages/mcp-servers/dist/shared/types.js.map +1 -0
  474. package/packages/mcp-servers/dist/show/server.d.ts +12 -0
  475. package/packages/mcp-servers/dist/show/server.d.ts.map +1 -0
  476. package/packages/mcp-servers/dist/show/server.js +97 -0
  477. package/packages/mcp-servers/dist/show/server.js.map +1 -0
  478. package/packages/mcp-servers/dist/show/types.d.ts +19 -0
  479. package/packages/mcp-servers/dist/show/types.d.ts.map +1 -0
  480. package/packages/mcp-servers/dist/show/types.js +32 -0
  481. package/packages/mcp-servers/dist/show/types.js.map +1 -0
  482. package/packages/mcp-servers/dist/specs-browser/index.d.ts +5 -0
  483. package/packages/mcp-servers/dist/specs-browser/index.d.ts.map +1 -0
  484. package/packages/mcp-servers/dist/specs-browser/index.js +5 -0
  485. package/packages/mcp-servers/dist/specs-browser/index.js.map +1 -0
  486. package/packages/mcp-servers/dist/specs-browser/server.d.ts +13 -0
  487. package/packages/mcp-servers/dist/specs-browser/server.d.ts.map +1 -0
  488. package/packages/mcp-servers/dist/specs-browser/server.js +692 -0
  489. package/packages/mcp-servers/dist/specs-browser/server.js.map +1 -0
  490. package/packages/mcp-servers/dist/specs-browser/types.d.ts +337 -0
  491. package/packages/mcp-servers/dist/specs-browser/types.d.ts.map +1 -0
  492. package/packages/mcp-servers/dist/specs-browser/types.js +134 -0
  493. package/packages/mcp-servers/dist/specs-browser/types.js.map +1 -0
  494. package/packages/mcp-servers/dist/supabase/index.d.ts +10 -0
  495. package/packages/mcp-servers/dist/supabase/index.d.ts.map +1 -0
  496. package/packages/mcp-servers/dist/supabase/index.js +10 -0
  497. package/packages/mcp-servers/dist/supabase/index.js.map +1 -0
  498. package/packages/mcp-servers/dist/supabase/server.d.ts +20 -0
  499. package/packages/mcp-servers/dist/supabase/server.d.ts.map +1 -0
  500. package/packages/mcp-servers/dist/supabase/server.js +451 -0
  501. package/packages/mcp-servers/dist/supabase/server.js.map +1 -0
  502. package/packages/mcp-servers/dist/supabase/types.d.ts +196 -0
  503. package/packages/mcp-servers/dist/supabase/types.d.ts.map +1 -0
  504. package/packages/mcp-servers/dist/supabase/types.js +76 -0
  505. package/packages/mcp-servers/dist/supabase/types.js.map +1 -0
  506. package/packages/mcp-servers/dist/todo-db/index.d.ts +5 -0
  507. package/packages/mcp-servers/dist/todo-db/index.d.ts.map +1 -0
  508. package/packages/mcp-servers/dist/todo-db/index.js +5 -0
  509. package/packages/mcp-servers/dist/todo-db/index.js.map +1 -0
  510. package/packages/mcp-servers/dist/todo-db/server.d.ts +13 -0
  511. package/packages/mcp-servers/dist/todo-db/server.d.ts.map +1 -0
  512. package/packages/mcp-servers/dist/todo-db/server.js +649 -0
  513. package/packages/mcp-servers/dist/todo-db/server.js.map +1 -0
  514. package/packages/mcp-servers/dist/todo-db/types.d.ts +225 -0
  515. package/packages/mcp-servers/dist/todo-db/types.d.ts.map +1 -0
  516. package/packages/mcp-servers/dist/todo-db/types.js +69 -0
  517. package/packages/mcp-servers/dist/todo-db/types.js.map +1 -0
  518. package/packages/mcp-servers/dist/user-feedback/index.d.ts +7 -0
  519. package/packages/mcp-servers/dist/user-feedback/index.d.ts.map +1 -0
  520. package/packages/mcp-servers/dist/user-feedback/index.js +8 -0
  521. package/packages/mcp-servers/dist/user-feedback/index.js.map +1 -0
  522. package/packages/mcp-servers/dist/user-feedback/server.d.ts +25 -0
  523. package/packages/mcp-servers/dist/user-feedback/server.d.ts.map +1 -0
  524. package/packages/mcp-servers/dist/user-feedback/server.js +914 -0
  525. package/packages/mcp-servers/dist/user-feedback/server.js.map +1 -0
  526. package/packages/mcp-servers/dist/user-feedback/types.d.ts +415 -0
  527. package/packages/mcp-servers/dist/user-feedback/types.d.ts.map +1 -0
  528. package/packages/mcp-servers/dist/user-feedback/types.js +132 -0
  529. package/packages/mcp-servers/dist/user-feedback/types.js.map +1 -0
  530. package/packages/mcp-servers/dist/vercel/index.d.ts +9 -0
  531. package/packages/mcp-servers/dist/vercel/index.d.ts.map +1 -0
  532. package/packages/mcp-servers/dist/vercel/index.js +9 -0
  533. package/packages/mcp-servers/dist/vercel/index.js.map +1 -0
  534. package/packages/mcp-servers/dist/vercel/server.d.ts +17 -0
  535. package/packages/mcp-servers/dist/vercel/server.d.ts.map +1 -0
  536. package/packages/mcp-servers/dist/vercel/server.js +265 -0
  537. package/packages/mcp-servers/dist/vercel/server.js.map +1 -0
  538. package/packages/mcp-servers/dist/vercel/types.d.ts +189 -0
  539. package/packages/mcp-servers/dist/vercel/types.d.ts.map +1 -0
  540. package/packages/mcp-servers/dist/vercel/types.js +65 -0
  541. package/packages/mcp-servers/dist/vercel/types.js.map +1 -0
  542. package/packages/mcp-servers/package-lock.json +3765 -0
  543. package/packages/mcp-servers/package.json +64 -0
  544. package/packages/mcp-servers/test/reporters/test-failure-reporter.ts +372 -0
  545. package/packages/mcp-servers/vitest.config.ts +27 -0
  546. package/scripts/__tests__/README.md +163 -0
  547. package/scripts/apply-credential-hardening.sh +271 -0
  548. package/scripts/credential-providers/manual.js +56 -0
  549. package/scripts/credential-providers/onepassword.js +85 -0
  550. package/scripts/credential-providers/provider-interface.js +104 -0
  551. package/scripts/encrypt-credential.js +337 -0
  552. package/scripts/feedback-launcher.js +338 -0
  553. package/scripts/feedback-orchestrator.js +373 -0
  554. package/scripts/fix-mcp-launcher-issues.sh +97 -0
  555. package/scripts/force-spawn-tasks.js +651 -0
  556. package/scripts/force-triage-reports.js +560 -0
  557. package/scripts/generate-protected-actions-spec.js +142 -0
  558. package/scripts/generate-proxy-certs.sh +158 -0
  559. package/scripts/grant-chrome-ext-permissions.sh +242 -0
  560. package/scripts/mcp-launcher.js +125 -0
  561. package/scripts/merge-settings.cjs +167 -0
  562. package/scripts/patch-clawd.py +844 -0
  563. package/scripts/patch-credential-cache.py +313 -0
  564. package/scripts/patches/credential-file-guard-patched.mjs +573 -0
  565. package/scripts/patches/credential-file-guard.js.patched +573 -0
  566. package/scripts/patches/verify-tokenizer.mjs +132 -0
  567. package/scripts/protect-framework.sh +478 -0
  568. package/scripts/readme-chrome.template +12 -0
  569. package/scripts/reap-completed-agents.js +439 -0
  570. package/scripts/reinstall.sh +86 -0
  571. package/scripts/resign-node.sh +185 -0
  572. package/scripts/rotation-proxy.js +656 -0
  573. package/scripts/rotation-stress-monitor.mjs +862 -0
  574. package/scripts/setup-automation-service.sh +648 -0
  575. package/scripts/setup-check.js +251 -0
  576. package/scripts/watch-claude-version.js +142 -0
  577. package/specs/framework/CORE-INVARIANTS.md +161 -0
  578. package/specs/patterns/AGENT-PATTERNS.md +223 -0
  579. package/specs/patterns/HOOK-PATTERNS.md +242 -0
  580. package/specs/patterns/MCP-SERVER-PATTERNS.md +144 -0
  581. package/templates/config/gitignore.template +14 -0
  582. package/templates/config/merge-chain-check.yml.template +51 -0
  583. package/templates/config/package.json.template +18 -0
  584. package/templates/config/pnpm-workspace.yaml +5 -0
  585. package/templates/config/services.json.template +18 -0
  586. package/templates/config/tsconfig.base.json +17 -0
  587. package/templates/scaffold/integrations/_template/.gitkeep +0 -0
  588. package/templates/scaffold/packages/logger/package.json +17 -0
  589. package/templates/scaffold/packages/logger/src/logger.ts +44 -0
  590. package/templates/scaffold/packages/shared/package.json +17 -0
  591. package/templates/scaffold/packages/shared/src/errors.ts +43 -0
  592. package/templates/scaffold/products/_product/apps/backend/package.json +21 -0
  593. package/templates/scaffold/products/_product/apps/backend/src/index.ts +17 -0
  594. package/templates/scaffold/products/_product/apps/extension/.gitkeep +0 -0
  595. package/templates/scaffold/products/_product/apps/web/.gitkeep +0 -0
  596. package/templates/scaffold/specs/global/.gitkeep +0 -0
  597. package/templates/scaffold/specs/local/.gitkeep +0 -0
  598. package/templates/scaffold/specs/reference/.gitkeep +0 -0
  599. package/version.json +15 -0
@@ -0,0 +1,310 @@
1
+ # Enforce Local Specification Compliance - ODIN System
2
+
3
+ You are enforcing compliance with a local specification for the ODIN trading system.
4
+
5
+ ## Your Assignment
6
+
7
+ **Specification**: {{SPEC_NAME}}
8
+ **Spec File Path**: `{{SPEC_PATH}}`
9
+ {{#if SUITE_ID}}
10
+
11
+ ### Suite Context
12
+
13
+ **Suite**: `{{SUITE_ID}}`
14
+ **Suite Scope**: `{{SUITE_SCOPE}}`
15
+
16
+ This is a **suite exploratory spec**. You must ONLY explore files matching the scope pattern above.
17
+ {{/if}}
18
+
19
+ ## Specification Content
20
+
21
+ ```markdown
22
+ {{SPEC_CONTENT}}
23
+ ```
24
+
25
+ ## Instructions
26
+
27
+ Your task is to find the most relevant files in the codebase that should comply with this specification, then ensure they meet ALL requirements.
28
+
29
+ ### What You Must Do
30
+
31
+ 1. **Identify relevant files** - Use Glob/Grep to find files that should comply with this spec (up to 10 files)
32
+ 2. **Read and analyze files** - Understand what they do and how they're structured
33
+ 3. **Identify ALL violations** - Check against every rule in the spec
34
+ 4. **Get code-reviewer recommendation** - BEFORE fixing, ask code-reviewer if we should fix code OR update spec
35
+ 5. **Apply recommended fix** - Either update code OR update spec based on recommendation
36
+ 6. **Add/update tests** - If code was changed, ensure tests cover the fixed code paths
37
+ 7. **Verify compliance** - Double-check all fixes are correct
38
+
39
+ ### CRITICAL: Finding Relevant Files (Rate Limit: 10 Files Max)
40
+
41
+ **You have freedom to explore the codebase** to find files that should comply with this spec, but you are limited to checking **up to 10 files maximum** per run to stay within rate limits.
42
+
43
+ {{#if SUITE_SCOPE}}
44
+ ### Scope Constraint
45
+
46
+ ⚠️ **You are enforcing this spec within suite `{{SUITE_ID}}`.**
47
+
48
+ **ONLY explore files matching this pattern:**
49
+ ```
50
+ {{SUITE_SCOPE}}
51
+ ```
52
+
53
+ Use `Glob("{{SUITE_SCOPE}}")` to find relevant files. Do NOT check files outside this scope.
54
+ {{/if}}
55
+
56
+ **Exploration Strategy**:
57
+
58
+ 1. **Start Broad**: Use `Glob` to search by file patterns (e.g., `**/*Orchestrator*.js`){{#if SUITE_SCOPE}} - constrained to `{{SUITE_SCOPE}}`{{/if}}
59
+ 2. **Narrow Down**: Use `Grep` to search by content patterns (e.g., class names, function signatures)
60
+ 3. **Prioritize**: Read file names/paths to identify the most critical files
61
+ 4. **Select Wisely**: Choose up to 10 files that are most likely to have violations
62
+
63
+ **Examples**:
64
+ - THOR.md spec → search for `Thor*`, `VirtualClock`, `InterceptionManager`
65
+ - BARDE.md spec → search for `Barde*`, `UniversalStopLossManager`, `paper_trading*`
66
+ - OVERSEER.md spec → search for `Overseer*`, `ML*`, `ensemble*`
67
+
68
+ **Priority Guidelines**:
69
+ - Core implementation files > utility/helper files
70
+ - Files that directly implement spec requirements > tangentially related files
71
+ - Files with high complexity > simple configuration files
72
+
73
+ **Important**: Focus on quality over quantity. It's better to thoroughly check 10 critical files than to superficially check 20 files.
74
+
75
+ ### CRITICAL: Spec vs Code Decision
76
+
77
+ **BEFORE changing any code**, run the code-reviewer sub-agent to determine the correct action:
78
+
79
+ - **If spec is outdated**: Update the spec to match the intentional code behavior
80
+ - **If code is wrong**: Fix the code to match the spec
81
+
82
+ The code-reviewer will analyze whether:
83
+ 1. The code pattern is intentional and the spec is outdated
84
+ 2. The code depends on specific patterns (e.g., ID formats parsed by other code)
85
+ 3. Changing code would break other parts of the system
86
+ 4. The spec needs clarification or exceptions added
87
+
88
+ **Go with the code-reviewer's recommendation, even if that means updating the spec rather than the code.**
89
+
90
+ ### Critical Rules (from CLAUDE.md)
91
+
92
+ In addition to the spec requirements, you MUST enforce these global invariants:
93
+
94
+ - **NO GRACEFUL FALLBACKS** - Fail hard and loud when something doesn't meet specification
95
+ - **NO MOCKS IN PRODUCTION CODE** - No `isMockMode`, `MOCK_MODE`, `mockMode`, `isSimulation` checks in `src/**/*.js`
96
+ - **MONETARY PRECISION** - All monetary values rounded to 2 decimal places (float dollars OK)
97
+ - **ISO 8601 TIMESTAMPS** - All timestamps in ISO 8601 format
98
+ - **UNIQUE IDENTIFIERS** - UUIDs v4 preferred, but timestamp-based IDs acceptable if code parses them
99
+ - **FAIL-HARD ON MISSING DATA** - Never silently return null/undefined/empty when data is expected
100
+
101
+ **Note**: These rules have documented exceptions in `specs/global/CORE-INVARIANTS.md`. Check the spec for acceptable patterns before flagging violations.
102
+
103
+ ## Workflow
104
+
105
+ Use the standard sub-agent sequence per CLAUDE.md. The key difference here is that you explore the codebase to find relevant files, and code-reviewer runs BEFORE code-writer to decide the fix approach.
106
+
107
+ ### 1. Investigator (batch up to 3)
108
+
109
+ **Task**: Find files that should comply with this spec, then identify ALL violations.
110
+
111
+ **Phase 1 - Discovery**:
112
+ - Use Glob to search for files by name patterns
113
+ - Use Grep to search for files by content patterns
114
+ - Read files to assess relevance to the spec
115
+ - Build a list of files that MUST comply
116
+
117
+ **Phase 2 - Violation Detection**:
118
+ - For each relevant file, check against ALL spec requirements
119
+ - Document violations with line numbers, code snippets, rules violated
120
+
121
+ **Output**:
122
+ - List of relevant files found
123
+ - For each file, list of violations with:
124
+ - Line numbers
125
+ - Code snippets
126
+ - Rule violated
127
+ - Severity (critical/high/medium/low)
128
+ - Suggested fix
129
+
130
+ **Important**: Be thorough in discovery. Don't miss files that should comply.
131
+
132
+ ### 2. Code-Reviewer (DECISION PHASE - batch up to 3)
133
+
134
+ **Task**: For each identified violation, determine the correct fix approach.
135
+
136
+ **Analysis for each violation**:
137
+ 1. Is this code pattern intentional? (Check commit history, related code)
138
+ 2. Does other code depend on this pattern? (e.g., ID parsing, data formats)
139
+ 3. Would changing this code break other parts of the system?
140
+ 4. Is the spec outdated or missing an exception?
141
+
142
+ **Decision for each violation**:
143
+ - **FIX_CODE**: The code is wrong, fix it to match the spec
144
+ - **UPDATE_SPEC**: The code is correct, update the spec to document the pattern
145
+ - **ADD_EXCEPTION**: The code has a valid reason, add an exception to the spec
146
+
147
+ **Output**: For each violation, provide:
148
+ - Decision: FIX_CODE / UPDATE_SPEC / ADD_EXCEPTION
149
+ - Reasoning: Why this is the correct approach
150
+ - Impact: What would change with each option
151
+
152
+ **Important**: Your recommendation will be followed. Be thorough in your analysis.
153
+
154
+ ### 3. Code-Writer (batch up to 3)
155
+
156
+ **Task**: Apply the recommended fixes from the code-reviewer.
157
+
158
+ **For FIX_CODE decisions**:
159
+ - Make minimal changes (only what's needed to fix violations)
160
+ - Preserve existing functionality
161
+ - Follow existing code style
162
+ - Add comments explaining non-obvious changes
163
+
164
+ **For UPDATE_SPEC or ADD_EXCEPTION decisions**:
165
+ - Edit the spec file at `{{SPEC_PATH}}` (provided in assignment above)
166
+ - Add clear documentation of the exception or pattern
167
+ - Include rationale for why this is acceptable
168
+
169
+ **Important**: Do NOT introduce new violations while fixing old ones. Double-check your changes.
170
+
171
+ ### 4. Test-Writer (ONLY if code was changed - batch up to 3)
172
+
173
+ **Task**: Ensure tests cover any code changes made.
174
+
175
+ **When to run**:
176
+ - ALWAYS run if FIX_CODE was applied to any violation
177
+ - SKIP if only spec updates were made (no code changes)
178
+
179
+ **Requirements**:
180
+ - Add new tests if needed to cover fixes
181
+ - Update existing tests if they break
182
+ - Ensure tests verify spec compliance
183
+ - Follow test patterns in existing test files
184
+
185
+ **Important**: Tests should verify the spec requirements, not just that code doesn't crash.
186
+
187
+ ### 5. Code-Reviewer (FINAL REVIEW - batch up to 3)
188
+
189
+ **Task**: Review all changes for correctness.
190
+
191
+ **Check**:
192
+ - ✅ All violations addressed per the decision phase recommendations
193
+ - ✅ No new violations introduced
194
+ - ✅ Tests pass and cover code changes (if any)
195
+ - ✅ Spec updates are clear and accurate (if any)
196
+ - ✅ No unintended side effects
197
+
198
+ **Important**: Be critical. If something looks wrong, flag it and have code-writer fix it.
199
+
200
+ ### 6. Project-Manager (MANDATORY, ALWAYS LAST)
201
+
202
+ **Task**: Document all changes in the session report.
203
+
204
+ **Include**:
205
+ - Summary of files found that should comply
206
+ - Summary of violations found across all files
207
+ - For each violation: decision made (FIX_CODE/UPDATE_SPEC/ADD_EXCEPTION)
208
+ - Summary of code fixes applied
209
+ - Summary of spec updates made
210
+ - Test changes made (if any)
211
+ - Any remaining issues or concerns
212
+
213
+ **Important**: NEVER run project-manager in parallel. It must always be the final step.
214
+
215
+ ## Batching Example
216
+
217
+ If you find 3 relevant files with 2 violations each (6 total violations):
218
+
219
+ - **Round 1**: 3 investigators identify relevant files + violations in files 1-3
220
+ - **Round 2**: 3 investigators identify violations in remaining files (if needed)
221
+ - **Round 3**: 3 code-reviewers analyze violations 1-3 (DECISION PHASE - FIX_CODE/UPDATE_SPEC/ADD_EXCEPTION)
222
+ - **Round 4**: 3 code-reviewers analyze violations 4-6 (DECISION PHASE)
223
+ - **Round 5**: 3 code-writers apply fixes for violations 1-3 (code OR spec, per reviewer decision)
224
+ - **Round 6**: 3 code-writers apply fixes for violations 4-6 (code OR spec, per reviewer decision)
225
+ - **Round 7**: 3 test-writers add/update tests (ONLY for FIX_CODE decisions)
226
+ - **Round 8**: 3 code-reviewers review all changes (FINAL REVIEW)
227
+ - **Round 9**: 1 project-manager documents everything (LAST, NEVER PARALLEL)
228
+
229
+ **Key Change**: Code-reviewer runs TWICE - once to decide the approach (step 3-4), and once to verify the changes (step 8).
230
+
231
+ ## Output Format
232
+
233
+ Provide a compliance report at the end:
234
+
235
+ ```
236
+ ## Compliance Report: {{SPEC_NAME}}
237
+
238
+ ### Exploration Phase
239
+
240
+ **Files Found**: [TOTAL COUNT]
241
+ **Files Checked**: [COUNT] (max 10 due to rate limits)
242
+
243
+ **Search Patterns Used**:
244
+ - Glob: [patterns]
245
+ - Grep: [keywords]
246
+
247
+ **Selected Files** (checked):
248
+ 1. [path] - [reason for selection]
249
+ 2. [path] - [reason for selection]
250
+ ...
251
+
252
+ **Files Not Checked** (if total > 10):
253
+ - [path] - [reason for lower priority]
254
+ - ...
255
+
256
+ ### Total Violations Found: [COUNT]
257
+
258
+ #### File: [path/to/file1.js]
259
+
260
+ **Violation 1**: [Rule ID] [Brief description]
261
+ - Location: Line [N]
262
+ - Code: `[snippet]`
263
+ - Severity: [critical/high/medium/low]
264
+ - Decision: FIX_CODE / UPDATE_SPEC / ADD_EXCEPTION
265
+ - Reasoning: [Why this decision was made]
266
+ - Status: RESOLVED / NEEDS_MANUAL_REVIEW
267
+
268
+ **Violation 2**: ...
269
+
270
+ #### File: [path/to/file2.js]
271
+
272
+ ...
273
+
274
+ ### Code Changes Made
275
+
276
+ - [File path]: [Description of code fix]
277
+ - [Impact on codebase]
278
+
279
+ ### Spec Changes Made
280
+
281
+ - [Spec file]: [What was updated/added]
282
+ - [Reasoning for spec change]
283
+
284
+ ### Tests Added/Modified (if any code was changed)
285
+
286
+ - [Test file]: [What was added/changed]
287
+ - [Coverage impact]
288
+
289
+ ### Status: COMPLIANT / NEEDS_MANUAL_REVIEW
290
+
291
+ **Final Assessment**: [Brief statement on compliance status across all checked files]
292
+
293
+ **Remaining Issues**: [Any issues that couldn't be auto-fixed]
294
+
295
+ **Recommendation**: [If files not checked, recommend re-running compliance check on them]
296
+ ```
297
+
298
+ ## Important Notes
299
+
300
+ - **This is a TRADING SYSTEM** - Mistakes can cost money. Be thorough.
301
+ - **Rate limit: 10 files max** - Choose the most critical files for checking
302
+ - **You have freedom to explore** - Use Glob/Grep to find relevant files, but prioritize wisely
303
+ - **Quality over quantity** - Better to thoroughly check 10 critical files than superficially check 20
304
+ - **Spec updates are valid fixes** - If code is correct and spec is outdated, update the spec
305
+ - **Code-reviewer decides** - Follow the code-reviewer's recommendation for each violation
306
+ - **Test-writer follows code changes** - Always run test-writer after code is modified
307
+ - **Fail hard** - Per CLAUDE.md, never use graceful fallbacks or silent failures
308
+ - **NEVER run project-manager in parallel** - It must always be the final step
309
+ - **Document everything** - Future maintainers need to understand what changed and why
310
+ - **Document unchecked files** - If more than 10 relevant files found, list the ones not checked
@@ -0,0 +1,92 @@
1
+ # Fix Spec-File Mappings - Compliance Checker
2
+
3
+ You are fixing the `spec-file-mappings.json` file for the ODIN compliance checker system.
4
+
5
+ ## Problem
6
+
7
+ The spec-file-mappings.json file has validation errors that must be fixed before the compliance enforcer can run.
8
+
9
+ ## Validation Errors
10
+
11
+ ```
12
+ {{VALIDATION_ERRORS}}
13
+ ```
14
+
15
+ ## Current Mapping File Content
16
+
17
+ ```json
18
+ {{CURRENT_MAPPINGS}}
19
+ ```
20
+
21
+ ## Required Schema
22
+
23
+ ```json
24
+ {{SCHEMA_CONTENT}}
25
+ ```
26
+
27
+ ## Required Specs
28
+
29
+ Every spec in this list MUST have an entry in the mappings file:
30
+
31
+ {{REQUIRED_SPECS_LIST}}
32
+
33
+ ## Instructions
34
+
35
+ 1. **Read the validation errors carefully** - Understand each error before making changes
36
+ 2. **Fix each error in the mapping file** - Address all critical errors
37
+ 3. **Ensure the JSON is valid** - Proper syntax, no trailing commas
38
+ 4. **Ensure every required spec has an entry** with:
39
+ - `description`: Brief explanation (10+ chars)
40
+ - `priority`: One of "critical", "high", "medium", "low"
41
+ - `files`: Array of file objects with `path` (must start with "src/" and end with ".js") and `lastVerified` (ISO timestamp or null)
42
+ - `rationale`: Explanation of why these files are mapped (20+ chars)
43
+ 5. **Update `totalMappedFiles`** to reflect the sum of all files across all specs
44
+ 6. **Update `lastReviewed`** to current ISO timestamp
45
+ 7. **Update `lastReviewedBy`** to "claude-mapping-fixer"
46
+
47
+ ## Agent Limit - CRITICAL
48
+
49
+ **The total number of files across ALL specs must not exceed {{MAX_AGENTS}}.**
50
+
51
+ - Current count: {{CURRENT_AGENT_COUNT}}
52
+ - Limit: {{MAX_AGENTS}}
53
+ - Excess: {{EXCESS_COUNT}}
54
+
55
+ If the current count exceeds the limit, you MUST remove at least {{EXCESS_COUNT}} files to bring the total under the limit.
56
+
57
+ **Prioritize removing:**
58
+ - Files from low-priority specs
59
+ - Files unlikely to have violations
60
+ - Duplicate or redundant coverage
61
+ - Peripheral files that don't directly implement spec requirements
62
+
63
+ ## Workflow
64
+
65
+ Use the standard sub-agent sequence per CLAUDE.md:
66
+
67
+ 1. **Investigator**: Analyze the errors and understand what needs fixing. Read the current mapping file, schema, and errors.
68
+
69
+ 2. **Code-Writer**: Edit `.claude/hooks/spec-file-mappings.json` to fix all errors. Ensure:
70
+ - All required specs are present
71
+ - All file paths are valid (start with "src/", end with ".js")
72
+ - Total file count is within limit
73
+ - JSON is syntactically correct
74
+ - All required fields are present
75
+
76
+ 3. **Test-Writer**: Skip (no tests for JSON config)
77
+
78
+ 4. **Code-Reviewer**: Verify the fixed file:
79
+ - Valid JSON syntax
80
+ - All required specs present
81
+ - Total file count ≤ {{MAX_AGENTS}}
82
+ - All required fields present
83
+ - `totalMappedFiles` matches actual count
84
+
85
+ 5. **Project-Manager** (MANDATORY, ALWAYS LAST): Document the fixes made in the session report
86
+
87
+ ## Important Notes
88
+
89
+ - **NEVER run project-manager in parallel** - It must always be the final step
90
+ - **DO NOT add files without careful consideration** - Each file = 1 Claude agent = token cost
91
+ - **Be conservative** - Only map files with HIGH probability of spec violations
92
+ - **Fail hard if you cannot fix** - Per CLAUDE.md, never use graceful fallbacks
@@ -0,0 +1,140 @@
1
+ # Review Spec-File Mappings - Compliance Checker
2
+
3
+ You are reviewing the `spec-file-mappings.json` file for the ODIN compliance checker system.
4
+
5
+ ## Current Status
6
+
7
+ The mapping file is **VALID** and passes all validation checks. Your task is to review whether the mappings are optimal and make improvements if needed.
8
+
9
+ ## Current Mapping File
10
+
11
+ ```json
12
+ {{CURRENT_MAPPINGS}}
13
+ ```
14
+
15
+ ## Agent Budget
16
+
17
+ | Metric | Value |
18
+ |--------|-------|
19
+ | Current Total Files | {{CURRENT_AGENT_COUNT}} |
20
+ | Maximum Allowed | {{MAX_AGENTS}} |
21
+ | Utilization | {{UTILIZATION_PERCENT}}% |
22
+ | Remaining Budget | {{REMAINING_BUDGET}} files |
23
+
24
+ ## Per-Spec Breakdown
25
+
26
+ {{SPEC_BREAKDOWN_TABLE}}
27
+
28
+ ## Your Task
29
+
30
+ Review the mappings with a **CONSERVATIVE** approach. Each mapped file spawns a Claude agent, which costs tokens.
31
+
32
+ ### 1. Remove Files That Shouldn't Be Mapped
33
+
34
+ Look for:
35
+ - **Files unlikely to violate the spec** - Stable, well-tested, rarely-changing files
36
+ - **Low-risk or peripheral files** - Files that don't directly implement spec requirements
37
+ - **Duplicates** - Files already covered by other specs
38
+ - **Test files or fixtures** - Should not be in src/ anyway
39
+
40
+ ### 2. Add Files That Should Be Mapped (Only if Clearly Needed)
41
+
42
+ Only add files if:
43
+ - **Known violators** - Check CLAUDE.md for Bug #145-148 mentions
44
+ - **Core components** - Files that directly implement spec requirements
45
+ - **Historical violations** - Files that have had compliance issues before
46
+ - **High-risk files** - Complex files likely to violate architectural constraints
47
+
48
+ ### 3. Prioritize High-Impact Mappings
49
+
50
+ - **Critical/high priority specs** should have key files mapped
51
+ - **Low priority specs** might need fewer files
52
+ - Focus on files with HIGH probability of violations
53
+
54
+ ## Conservative Guidance - READ THIS CAREFULLY
55
+
56
+ - **Lean toward FEWER entries**, not more
57
+ - **Each file = 1 Claude agent = significant token cost**
58
+ - **Only map files with HIGH probability of spec violations**
59
+ - **Peripheral or rarely-changing files can often be skipped**
60
+ - **When in doubt, DON'T add a file**
61
+ - **The goal is PRECISION, not COVERAGE** - We want to catch violations efficiently, not check everything
62
+
63
+ ## Spec Reference
64
+
65
+ For reference, here are the specs and their key concerns:
66
+
67
+ | Spec | Key Concerns |
68
+ |------|--------------|
69
+ | **BARDE.md** | Paper trading, conservative bias (1% worse fills), 4 stop-loss types, object pooling, lock-free queues |
70
+ | **HEIMDALL.md** | 7 sensors, pre-flight tests, health monitoring, Thor integration, hourly reports |
71
+ | **HUGINN.md** | 75% confidence threshold, capital recycling ($10K per strategy), position lifecycle, REPLACES old veto system |
72
+ | **OVERSEER.md** | 150-dim feature vectors, [-1,1] normalization, 3-model ensemble, trains on strategy paper trades |
73
+ | **UNDERSEER.md** | 10 variations, fitness=(avgPnL*0.7 + winRate*0.3), 7-day cycles, 28-day epochs |
74
+ | **THOR.md** | 1:1 production parity, API interception, NO VirtualClock in production code, monkey-patching pattern |
75
+ | **SIGNALS.md** | 3-layer system (Asset→Position→Strategy), namespace isolation, fail-hard on missing signals |
76
+ | **CORE-INVARIANTS.md** | No mocks in production, fail-hard (no fallbacks), money as integers, ISO timestamps, UUIDs v4 |
77
+
78
+ ## Known Violators (from CLAUDE.md)
79
+
80
+ These files are **CONFIRMED** violators and should be mapped to CORE-INVARIANTS.md:
81
+
82
+ - `src/money-management/core/MoneyManager.js` (Bug #145 - has `isMockMode`)
83
+ - `src/orchestration/scheduling/StrategyScheduler.js` (Bug #146 - has `isMockMode`)
84
+ - `src/orchestration/resource-management/ResourceManager.js` (Bug #147 - has `isMockMode`)
85
+ - `src/services/HistoricalDataCache.js` (Bug #148 - has `isMockMode`)
86
+
87
+ ## Math Check - REQUIRED
88
+
89
+ Before finalizing, calculate:
90
+ - **New total file count** = sum of all files across all specs
91
+ - **Ensure new total ≤ {{MAX_AGENTS}}**
92
+ - **Report the delta** - How many files added/removed
93
+
94
+ ## Output Format
95
+
96
+ After your review, if changes are needed:
97
+
98
+ 1. Update the mapping file
99
+ 2. Update `totalMappedFiles` to the new count
100
+ 3. Update `lastReviewed` to current ISO timestamp
101
+ 4. Update `lastReviewedBy` to "claude-mapping-reviewer"
102
+ 5. Document all changes in your final report
103
+
104
+ ## Workflow
105
+
106
+ Use the standard sub-agent sequence per CLAUDE.md. If there are multiple changes to make, batch agents (up to 3 at a time):
107
+
108
+ 1. **Investigator** (batch up to 3):
109
+ - Explore the codebase to understand which files are most relevant
110
+ - Check for known violations in CLAUDE.md
111
+ - Analyze current mappings for appropriateness
112
+ - Identify files to add/remove
113
+
114
+ 2. **Code-Writer** (batch up to 3):
115
+ - Update `.claude/hooks/spec-file-mappings.json` with your changes
116
+ - Update `totalMappedFiles` to reflect actual count
117
+ - Update `lastReviewed` to current ISO timestamp
118
+ - Update `lastReviewedBy` to "claude-mapping-reviewer"
119
+
120
+ 3. **Test-Writer**: Skip (no tests for JSON config)
121
+
122
+ 4. **Code-Reviewer** (batch up to 3):
123
+ - Verify the updated file is valid JSON
124
+ - Verify file count is accurate and within limit
125
+ - Verify all paths start with "src/" and end with ".js"
126
+ - Verify all required fields are present
127
+
128
+ 5. **Project-Manager** (MANDATORY, ALWAYS LAST):
129
+ - Document all changes in session report
130
+ - List files removed with reasons
131
+ - List files added with reasons
132
+ - Report net change in file count
133
+
134
+ ## Important Notes
135
+
136
+ - **NEVER run project-manager in parallel** - It must always be the final step
137
+ - **Be conservative** - Removing a file is often better than adding one
138
+ - **Each file has a cost** - Only add files with clear, compelling reasons
139
+ - **The system has 315 source files** - We cannot check them all
140
+ - **Current utilization: {{UTILIZATION_PERCENT}}%** - Is this appropriate? Consider reducing if high.