@boshu2/vibe-check 1.8.0 → 2.0.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 (379) hide show
  1. package/.claude/settings.local.json +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/CLAUDE.md +58 -0
  4. package/Makefile +43 -6
  5. package/README.md +80 -27
  6. package/bin/vibe-check.js +1 -1
  7. package/claude-progress.json +18 -0
  8. package/dist/analysis/cross-session-analysis.d.ts +1 -1
  9. package/dist/analysis/cross-session-analysis.d.ts.map +1 -1
  10. package/dist/analysis/cross-session-analysis.js +9 -18
  11. package/dist/analysis/cross-session-analysis.js.map +1 -1
  12. package/dist/analysis/index.d.ts +1 -1
  13. package/dist/analysis/index.d.ts.map +1 -1
  14. package/dist/analysis/index.js +1 -11
  15. package/dist/analysis/index.js.map +1 -1
  16. package/dist/analyzers/audit.d.ts +28 -0
  17. package/dist/analyzers/audit.d.ts.map +1 -0
  18. package/dist/analyzers/audit.js +86 -0
  19. package/dist/analyzers/audit.js.map +1 -0
  20. package/dist/analyzers/patterns.d.ts +1 -1
  21. package/dist/analyzers/patterns.d.ts.map +1 -1
  22. package/dist/analyzers/patterns.js +4 -10
  23. package/dist/analyzers/patterns.js.map +1 -1
  24. package/dist/analyzers/quality.d.ts +1 -1
  25. package/dist/analyzers/quality.d.ts.map +1 -1
  26. package/dist/analyzers/quality.js +5 -12
  27. package/dist/analyzers/quality.js.map +1 -1
  28. package/dist/analyzers/sessions.d.ts +1 -1
  29. package/dist/analyzers/sessions.d.ts.map +1 -1
  30. package/dist/analyzers/sessions.js +1 -4
  31. package/dist/analyzers/sessions.js.map +1 -1
  32. package/dist/cli.js +20 -20
  33. package/dist/cli.js.map +1 -1
  34. package/dist/commands/analyze.d.ts.map +1 -1
  35. package/dist/commands/analyze.js +114 -149
  36. package/dist/commands/analyze.js.map +1 -1
  37. package/dist/commands/audit.d.ts +3 -0
  38. package/dist/commands/audit.d.ts.map +1 -0
  39. package/dist/commands/audit.js +77 -0
  40. package/dist/commands/audit.js.map +1 -0
  41. package/dist/commands/cache.js +31 -70
  42. package/dist/commands/cache.js.map +1 -1
  43. package/dist/commands/dashboard.d.ts.map +1 -1
  44. package/dist/commands/dashboard.js +22 -58
  45. package/dist/commands/dashboard.js.map +1 -1
  46. package/dist/commands/forensics.d.ts +2 -2
  47. package/dist/commands/forensics.d.ts.map +1 -1
  48. package/dist/commands/forensics.js +41 -48
  49. package/dist/commands/forensics.js.map +1 -1
  50. package/dist/commands/index.d.ts +14 -13
  51. package/dist/commands/index.d.ts.map +1 -1
  52. package/dist/commands/index.js +14 -33
  53. package/dist/commands/index.js.map +1 -1
  54. package/dist/commands/init-hook.js +26 -32
  55. package/dist/commands/init-hook.js.map +1 -1
  56. package/dist/commands/insights.js +39 -45
  57. package/dist/commands/insights.js.map +1 -1
  58. package/dist/commands/pipeline.js +39 -78
  59. package/dist/commands/pipeline.js.map +1 -1
  60. package/dist/commands/profile.js +68 -74
  61. package/dist/commands/profile.js.map +1 -1
  62. package/dist/commands/session.d.ts +9 -0
  63. package/dist/commands/session.d.ts.map +1 -1
  64. package/dist/commands/session.js +134 -118
  65. package/dist/commands/session.js.map +1 -1
  66. package/dist/commands/sessions.d.ts +1 -1
  67. package/dist/commands/sessions.d.ts.map +1 -1
  68. package/dist/commands/sessions.js +42 -49
  69. package/dist/commands/sessions.js.map +1 -1
  70. package/dist/commands/start.js +22 -67
  71. package/dist/commands/start.js.map +1 -1
  72. package/dist/commands/timeline.js +74 -81
  73. package/dist/commands/timeline.js.map +1 -1
  74. package/dist/commands/watch.d.ts.map +1 -1
  75. package/dist/commands/watch.js +117 -47
  76. package/dist/commands/watch.js.map +1 -1
  77. package/dist/gamification/achievements.d.ts +1 -1
  78. package/dist/gamification/achievements.d.ts.map +1 -1
  79. package/dist/gamification/achievements.js +7 -13
  80. package/dist/gamification/achievements.js.map +1 -1
  81. package/dist/gamification/index.d.ts +8 -8
  82. package/dist/gamification/index.d.ts.map +1 -1
  83. package/dist/gamification/index.js +8 -28
  84. package/dist/gamification/index.js.map +1 -1
  85. package/dist/gamification/profile.d.ts +2 -2
  86. package/dist/gamification/profile.d.ts.map +1 -1
  87. package/dist/gamification/profile.js +21 -64
  88. package/dist/gamification/profile.js.map +1 -1
  89. package/dist/gamification/stats.d.ts +1 -1
  90. package/dist/gamification/stats.d.ts.map +1 -1
  91. package/dist/gamification/stats.js +4 -10
  92. package/dist/gamification/stats.js.map +1 -1
  93. package/dist/gamification/streaks.d.ts +1 -1
  94. package/dist/gamification/streaks.d.ts.map +1 -1
  95. package/dist/gamification/streaks.js +8 -18
  96. package/dist/gamification/streaks.js.map +1 -1
  97. package/dist/gamification/types.js +3 -6
  98. package/dist/gamification/types.js.map +1 -1
  99. package/dist/gamification/xp.d.ts +1 -1
  100. package/dist/gamification/xp.d.ts.map +1 -1
  101. package/dist/gamification/xp.js +29 -38
  102. package/dist/gamification/xp.js.map +1 -1
  103. package/dist/git.d.ts +1 -1
  104. package/dist/git.d.ts.map +1 -1
  105. package/dist/git.js +15 -27
  106. package/dist/git.js.map +1 -1
  107. package/dist/inner-loop/context-amnesia.d.ts +20 -0
  108. package/dist/inner-loop/context-amnesia.d.ts.map +1 -0
  109. package/dist/inner-loop/context-amnesia.js +246 -0
  110. package/dist/inner-loop/context-amnesia.js.map +1 -0
  111. package/dist/inner-loop/index.d.ts +39 -0
  112. package/dist/inner-loop/index.d.ts.map +1 -0
  113. package/dist/inner-loop/index.js +181 -0
  114. package/dist/inner-loop/index.js.map +1 -0
  115. package/dist/inner-loop/instruction-drift.d.ts +28 -0
  116. package/dist/inner-loop/instruction-drift.d.ts.map +1 -0
  117. package/dist/inner-loop/instruction-drift.js +255 -0
  118. package/dist/inner-loop/instruction-drift.js.map +1 -0
  119. package/dist/inner-loop/logging-only.d.ts +30 -0
  120. package/dist/inner-loop/logging-only.d.ts.map +1 -0
  121. package/dist/inner-loop/logging-only.js +256 -0
  122. package/dist/inner-loop/logging-only.js.map +1 -0
  123. package/dist/inner-loop/tests-passing-lie.d.ts +34 -0
  124. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -0
  125. package/dist/inner-loop/tests-passing-lie.js +208 -0
  126. package/dist/inner-loop/tests-passing-lie.js.map +1 -0
  127. package/dist/inner-loop/types.d.ts +111 -0
  128. package/dist/inner-loop/types.d.ts.map +1 -0
  129. package/dist/inner-loop/types.js +26 -0
  130. package/dist/inner-loop/types.js.map +1 -0
  131. package/dist/insights/generators.d.ts +4 -4
  132. package/dist/insights/generators.d.ts.map +1 -1
  133. package/dist/insights/generators.js +9 -20
  134. package/dist/insights/generators.js.map +1 -1
  135. package/dist/insights/index.d.ts +4 -4
  136. package/dist/insights/index.d.ts.map +1 -1
  137. package/dist/insights/index.js +23 -27
  138. package/dist/insights/index.js.map +1 -1
  139. package/dist/insights/types.js +1 -2
  140. package/dist/insights/types.js.map +1 -1
  141. package/dist/metrics/code-stability.d.ts +1 -1
  142. package/dist/metrics/code-stability.d.ts.map +1 -1
  143. package/dist/metrics/code-stability.js +1 -4
  144. package/dist/metrics/code-stability.js.map +1 -1
  145. package/dist/metrics/file-churn.d.ts +1 -1
  146. package/dist/metrics/file-churn.d.ts.map +1 -1
  147. package/dist/metrics/file-churn.js +1 -4
  148. package/dist/metrics/file-churn.js.map +1 -1
  149. package/dist/metrics/flow.d.ts +1 -1
  150. package/dist/metrics/flow.d.ts.map +1 -1
  151. package/dist/metrics/flow.js +1 -4
  152. package/dist/metrics/flow.js.map +1 -1
  153. package/dist/metrics/index.d.ts +2 -2
  154. package/dist/metrics/index.d.ts.map +1 -1
  155. package/dist/metrics/index.js +15 -20
  156. package/dist/metrics/index.js.map +1 -1
  157. package/dist/metrics/rework.d.ts +1 -1
  158. package/dist/metrics/rework.d.ts.map +1 -1
  159. package/dist/metrics/rework.js +1 -4
  160. package/dist/metrics/rework.js.map +1 -1
  161. package/dist/metrics/spirals.d.ts +1 -1
  162. package/dist/metrics/spirals.d.ts.map +1 -1
  163. package/dist/metrics/spirals.js +5 -10
  164. package/dist/metrics/spirals.js.map +1 -1
  165. package/dist/metrics/time-spiral.d.ts +1 -1
  166. package/dist/metrics/time-spiral.d.ts.map +1 -1
  167. package/dist/metrics/time-spiral.js +1 -4
  168. package/dist/metrics/time-spiral.js.map +1 -1
  169. package/dist/metrics/trust.d.ts +1 -1
  170. package/dist/metrics/trust.d.ts.map +1 -1
  171. package/dist/metrics/trust.js +3 -6
  172. package/dist/metrics/trust.js.map +1 -1
  173. package/dist/metrics/velocity-anomaly.d.ts +1 -1
  174. package/dist/metrics/velocity-anomaly.d.ts.map +1 -1
  175. package/dist/metrics/velocity-anomaly.js +3 -6
  176. package/dist/metrics/velocity-anomaly.js.map +1 -1
  177. package/dist/metrics/velocity.d.ts +1 -1
  178. package/dist/metrics/velocity.d.ts.map +1 -1
  179. package/dist/metrics/velocity.js +6 -10
  180. package/dist/metrics/velocity.js.map +1 -1
  181. package/dist/output/index.d.ts +4 -4
  182. package/dist/output/index.d.ts.map +1 -1
  183. package/dist/output/index.js +10 -18
  184. package/dist/output/index.js.map +1 -1
  185. package/dist/output/json.d.ts +1 -1
  186. package/dist/output/json.d.ts.map +1 -1
  187. package/dist/output/json.js +1 -4
  188. package/dist/output/json.js.map +1 -1
  189. package/dist/output/markdown.d.ts +1 -1
  190. package/dist/output/markdown.d.ts.map +1 -1
  191. package/dist/output/markdown.js +5 -8
  192. package/dist/output/markdown.js.map +1 -1
  193. package/dist/output/terminal.d.ts +1 -1
  194. package/dist/output/terminal.d.ts.map +1 -1
  195. package/dist/output/terminal.js +55 -62
  196. package/dist/output/terminal.js.map +1 -1
  197. package/dist/output/timeline-html.d.ts +1 -1
  198. package/dist/output/timeline-html.d.ts.map +1 -1
  199. package/dist/output/timeline-html.js +5 -8
  200. package/dist/output/timeline-html.js.map +1 -1
  201. package/dist/output/timeline-markdown.d.ts +1 -1
  202. package/dist/output/timeline-markdown.d.ts.map +1 -1
  203. package/dist/output/timeline-markdown.js +5 -8
  204. package/dist/output/timeline-markdown.js.map +1 -1
  205. package/dist/output/timeline.d.ts +1 -1
  206. package/dist/output/timeline.d.ts.map +1 -1
  207. package/dist/output/timeline.js +46 -52
  208. package/dist/output/timeline.js.map +1 -1
  209. package/dist/patterns/detour.d.ts +1 -1
  210. package/dist/patterns/detour.d.ts.map +1 -1
  211. package/dist/patterns/detour.js +1 -4
  212. package/dist/patterns/detour.js.map +1 -1
  213. package/dist/patterns/flow-state.d.ts +1 -1
  214. package/dist/patterns/flow-state.d.ts.map +1 -1
  215. package/dist/patterns/flow-state.js +1 -4
  216. package/dist/patterns/flow-state.js.map +1 -1
  217. package/dist/patterns/index.d.ts +7 -7
  218. package/dist/patterns/index.d.ts.map +1 -1
  219. package/dist/patterns/index.js +7 -21
  220. package/dist/patterns/index.js.map +1 -1
  221. package/dist/patterns/intervention-effectiveness.d.ts +1 -1
  222. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -1
  223. package/dist/patterns/intervention-effectiveness.js +3 -8
  224. package/dist/patterns/intervention-effectiveness.js.map +1 -1
  225. package/dist/patterns/late-night.d.ts +1 -1
  226. package/dist/patterns/late-night.d.ts.map +1 -1
  227. package/dist/patterns/late-night.js +1 -4
  228. package/dist/patterns/late-night.js.map +1 -1
  229. package/dist/patterns/post-delete-sprint.d.ts +1 -1
  230. package/dist/patterns/post-delete-sprint.d.ts.map +1 -1
  231. package/dist/patterns/post-delete-sprint.js +1 -4
  232. package/dist/patterns/post-delete-sprint.js.map +1 -1
  233. package/dist/patterns/spiral-regression.d.ts +1 -1
  234. package/dist/patterns/spiral-regression.d.ts.map +1 -1
  235. package/dist/patterns/spiral-regression.js +3 -8
  236. package/dist/patterns/spiral-regression.js.map +1 -1
  237. package/dist/patterns/thrashing.d.ts +1 -1
  238. package/dist/patterns/thrashing.d.ts.map +1 -1
  239. package/dist/patterns/thrashing.js +3 -6
  240. package/dist/patterns/thrashing.js.map +1 -1
  241. package/dist/score/index.d.ts +3 -3
  242. package/dist/score/index.d.ts.map +1 -1
  243. package/dist/score/index.js +4 -10
  244. package/dist/score/index.js.map +1 -1
  245. package/dist/score/weights.js +2 -6
  246. package/dist/score/weights.js.map +1 -1
  247. package/dist/sessions/index.js +9 -51
  248. package/dist/sessions/index.js.map +1 -1
  249. package/dist/storage/atomic.js +10 -51
  250. package/dist/storage/atomic.js.map +1 -1
  251. package/dist/storage/commit-log.d.ts +1 -1
  252. package/dist/storage/commit-log.d.ts.map +1 -1
  253. package/dist/storage/commit-log.js +11 -51
  254. package/dist/storage/commit-log.js.map +1 -1
  255. package/dist/storage/index.d.ts +5 -5
  256. package/dist/storage/index.d.ts.map +1 -1
  257. package/dist/storage/index.js +5 -37
  258. package/dist/storage/index.js.map +1 -1
  259. package/dist/storage/schema.js +4 -9
  260. package/dist/storage/schema.js.map +1 -1
  261. package/dist/storage/spiral-history.js +14 -57
  262. package/dist/storage/spiral-history.js.map +1 -1
  263. package/dist/storage/timeline-store.d.ts +2 -2
  264. package/dist/storage/timeline-store.d.ts.map +1 -1
  265. package/dist/storage/timeline-store.js +17 -61
  266. package/dist/storage/timeline-store.js.map +1 -1
  267. package/dist/types.js +1 -2
  268. package/docs/ENHANCEMENT-PLAN.md +361 -0
  269. package/docs/FEATURES.md +340 -0
  270. package/feature-list.json +6 -0
  271. package/package.json +8 -7
  272. package/dist/calibration/ece.d.ts +0 -26
  273. package/dist/calibration/ece.d.ts.map +0 -1
  274. package/dist/calibration/ece.js +0 -93
  275. package/dist/calibration/ece.js.map +0 -1
  276. package/dist/calibration/index.d.ts +0 -3
  277. package/dist/calibration/index.d.ts.map +0 -1
  278. package/dist/calibration/index.js +0 -15
  279. package/dist/calibration/index.js.map +0 -1
  280. package/dist/calibration/storage.d.ts +0 -34
  281. package/dist/calibration/storage.d.ts.map +0 -1
  282. package/dist/calibration/storage.js +0 -188
  283. package/dist/calibration/storage.js.map +0 -1
  284. package/dist/commands/intervene.d.ts +0 -15
  285. package/dist/commands/intervene.d.ts.map +0 -1
  286. package/dist/commands/intervene.js +0 -183
  287. package/dist/commands/intervene.js.map +0 -1
  288. package/dist/commands/learn.d.ts +0 -3
  289. package/dist/commands/learn.d.ts.map +0 -1
  290. package/dist/commands/learn.js +0 -161
  291. package/dist/commands/learn.js.map +0 -1
  292. package/dist/commands/lesson.d.ts +0 -8
  293. package/dist/commands/lesson.d.ts.map +0 -1
  294. package/dist/commands/lesson.js +0 -206
  295. package/dist/commands/lesson.js.map +0 -1
  296. package/dist/commands/level.d.ts +0 -3
  297. package/dist/commands/level.d.ts.map +0 -1
  298. package/dist/commands/level.js +0 -277
  299. package/dist/commands/level.js.map +0 -1
  300. package/dist/gamification/badges.d.ts +0 -29
  301. package/dist/gamification/badges.d.ts.map +0 -1
  302. package/dist/gamification/badges.js +0 -114
  303. package/dist/gamification/badges.js.map +0 -1
  304. package/dist/gamification/challenges.d.ts +0 -42
  305. package/dist/gamification/challenges.d.ts.map +0 -1
  306. package/dist/gamification/challenges.js +0 -184
  307. package/dist/gamification/challenges.js.map +0 -1
  308. package/dist/gamification/hall-of-fame.d.ts +0 -17
  309. package/dist/gamification/hall-of-fame.d.ts.map +0 -1
  310. package/dist/gamification/hall-of-fame.js +0 -64
  311. package/dist/gamification/hall-of-fame.js.map +0 -1
  312. package/dist/gamification/intervention-memory.d.ts +0 -61
  313. package/dist/gamification/intervention-memory.d.ts.map +0 -1
  314. package/dist/gamification/intervention-memory.js +0 -229
  315. package/dist/gamification/intervention-memory.js.map +0 -1
  316. package/dist/gamification/leaderboards.d.ts +0 -49
  317. package/dist/gamification/leaderboards.d.ts.map +0 -1
  318. package/dist/gamification/leaderboards.js +0 -179
  319. package/dist/gamification/leaderboards.js.map +0 -1
  320. package/dist/gamification/pattern-memory.d.ts +0 -45
  321. package/dist/gamification/pattern-memory.d.ts.map +0 -1
  322. package/dist/gamification/pattern-memory.js +0 -188
  323. package/dist/gamification/pattern-memory.js.map +0 -1
  324. package/dist/gamification/share.d.ts +0 -29
  325. package/dist/gamification/share.d.ts.map +0 -1
  326. package/dist/gamification/share.js +0 -57
  327. package/dist/gamification/share.js.map +0 -1
  328. package/dist/learning/cadence.d.ts +0 -15
  329. package/dist/learning/cadence.d.ts.map +0 -1
  330. package/dist/learning/cadence.js +0 -130
  331. package/dist/learning/cadence.js.map +0 -1
  332. package/dist/learning/index.d.ts +0 -19
  333. package/dist/learning/index.d.ts.map +0 -1
  334. package/dist/learning/index.js +0 -35
  335. package/dist/learning/index.js.map +0 -1
  336. package/dist/learning/lessons-storage.d.ts +0 -48
  337. package/dist/learning/lessons-storage.d.ts.map +0 -1
  338. package/dist/learning/lessons-storage.js +0 -266
  339. package/dist/learning/lessons-storage.js.map +0 -1
  340. package/dist/learning/lessons-types.d.ts +0 -83
  341. package/dist/learning/lessons-types.d.ts.map +0 -1
  342. package/dist/learning/lessons-types.js +0 -15
  343. package/dist/learning/lessons-types.js.map +0 -1
  344. package/dist/learning/nudges.d.ts +0 -20
  345. package/dist/learning/nudges.d.ts.map +0 -1
  346. package/dist/learning/nudges.js +0 -68
  347. package/dist/learning/nudges.js.map +0 -1
  348. package/dist/learning/retrospective.d.ts +0 -27
  349. package/dist/learning/retrospective.d.ts.map +0 -1
  350. package/dist/learning/retrospective.js +0 -184
  351. package/dist/learning/retrospective.js.map +0 -1
  352. package/dist/learning/storage.d.ts +0 -44
  353. package/dist/learning/storage.d.ts.map +0 -1
  354. package/dist/learning/storage.js +0 -194
  355. package/dist/learning/storage.js.map +0 -1
  356. package/dist/learning/surfacing.d.ts +0 -36
  357. package/dist/learning/surfacing.d.ts.map +0 -1
  358. package/dist/learning/surfacing.js +0 -255
  359. package/dist/learning/surfacing.js.map +0 -1
  360. package/dist/learning/synthesis.d.ts +0 -17
  361. package/dist/learning/synthesis.d.ts.map +0 -1
  362. package/dist/learning/synthesis.js +0 -293
  363. package/dist/learning/synthesis.js.map +0 -1
  364. package/dist/learning/types.d.ts +0 -60
  365. package/dist/learning/types.d.ts.map +0 -1
  366. package/dist/learning/types.js +0 -17
  367. package/dist/learning/types.js.map +0 -1
  368. package/dist/recommend/index.d.ts +0 -3
  369. package/dist/recommend/index.d.ts.map +0 -1
  370. package/dist/recommend/index.js +0 -14
  371. package/dist/recommend/index.js.map +0 -1
  372. package/dist/recommend/ordered-logistic.d.ts +0 -49
  373. package/dist/recommend/ordered-logistic.d.ts.map +0 -1
  374. package/dist/recommend/ordered-logistic.js +0 -153
  375. package/dist/recommend/ordered-logistic.js.map +0 -1
  376. package/dist/recommend/questions.d.ts +0 -19
  377. package/dist/recommend/questions.d.ts.map +0 -1
  378. package/dist/recommend/questions.js +0 -73
  379. package/dist/recommend/questions.js.map +0 -1
@@ -1,17 +0,0 @@
1
- "use strict";
2
- /**
3
- * Learning System Types
4
- *
5
- * Types for the automatic learning cadence system including:
6
- * - Learning state persistence
7
- * - Nudge queue management
8
- * - Retrospective summaries
9
- */
10
- Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.PATTERN_WINDOW_DAYS = exports.PATTERN_REPEAT_THRESHOLD = exports.RETRO_CADENCE_DAYS = exports.MAX_PENDING_NUDGES = exports.NUDGE_TTL_DAYS = void 0;
12
- exports.NUDGE_TTL_DAYS = 7;
13
- exports.MAX_PENDING_NUDGES = 5;
14
- exports.RETRO_CADENCE_DAYS = 7;
15
- exports.PATTERN_REPEAT_THRESHOLD = 3;
16
- exports.PATTERN_WINDOW_DAYS = 7;
17
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/learning/types.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AA6DU,QAAA,cAAc,GAAG,CAAC,CAAC;AACnB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,kBAAkB,GAAG,CAAC,CAAC;AACvB,QAAA,wBAAwB,GAAG,CAAC,CAAC;AAC7B,QAAA,mBAAmB,GAAG,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export { predictProba, predict, predictWithConfidence, DEFAULT_MODEL, ModelState, partialFit, batchPartialFit } from './ordered-logistic';
2
- export { VIBE_QUESTIONS, calculateBaseLevel, Question } from './questions';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1I,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateBaseLevel = exports.VIBE_QUESTIONS = exports.batchPartialFit = exports.partialFit = exports.DEFAULT_MODEL = exports.predictWithConfidence = exports.predict = exports.predictProba = void 0;
4
- var ordered_logistic_1 = require("./ordered-logistic");
5
- Object.defineProperty(exports, "predictProba", { enumerable: true, get: function () { return ordered_logistic_1.predictProba; } });
6
- Object.defineProperty(exports, "predict", { enumerable: true, get: function () { return ordered_logistic_1.predict; } });
7
- Object.defineProperty(exports, "predictWithConfidence", { enumerable: true, get: function () { return ordered_logistic_1.predictWithConfidence; } });
8
- Object.defineProperty(exports, "DEFAULT_MODEL", { enumerable: true, get: function () { return ordered_logistic_1.DEFAULT_MODEL; } });
9
- Object.defineProperty(exports, "partialFit", { enumerable: true, get: function () { return ordered_logistic_1.partialFit; } });
10
- Object.defineProperty(exports, "batchPartialFit", { enumerable: true, get: function () { return ordered_logistic_1.batchPartialFit; } });
11
- var questions_1 = require("./questions");
12
- Object.defineProperty(exports, "VIBE_QUESTIONS", { enumerable: true, get: function () { return questions_1.VIBE_QUESTIONS; } });
13
- Object.defineProperty(exports, "calculateBaseLevel", { enumerable: true, get: function () { return questions_1.calculateBaseLevel; } });
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/recommend/index.ts"],"names":[],"mappings":";;;AAAA,uDAA0I;AAAjI,gHAAA,YAAY,OAAA;AAAE,2GAAA,OAAO,OAAA;AAAE,yHAAA,qBAAqB,OAAA;AAAE,iHAAA,aAAa,OAAA;AAAc,8GAAA,UAAU,OAAA;AAAE,mHAAA,eAAe,OAAA;AAC7G,yCAA2E;AAAlE,2GAAA,cAAc,OAAA;AAAE,+GAAA,kBAAkB,OAAA"}
@@ -1,49 +0,0 @@
1
- /**
2
- * Ordered Logistic Regression for Vibe Level Classification.
3
- * Respects ordinal structure: 0 < 1 < 2 < 3 < 4 < 5
4
- */
5
- export interface ModelState {
6
- weights: number[];
7
- thresholds: number[];
8
- }
9
- /**
10
- * Default model state (will be updated via calibration).
11
- */
12
- export declare const DEFAULT_MODEL: ModelState;
13
- /**
14
- * Predict probability distribution over levels 0-5.
15
- */
16
- export declare function predictProba(features: number[], model?: ModelState): number[];
17
- /**
18
- * Predict most likely level.
19
- */
20
- export declare function predict(features: number[], model?: ModelState): number;
21
- /**
22
- * Predict with confidence and CI.
23
- */
24
- export declare function predictWithConfidence(features: number[], model?: ModelState): {
25
- level: number;
26
- confidence: number;
27
- ci: [number, number];
28
- probs: number[];
29
- };
30
- /**
31
- * Single-step stochastic gradient descent update.
32
- * Updates weights based on one sample's prediction error.
33
- *
34
- * For ordered logistic regression:
35
- * - We minimize negative log-likelihood
36
- * - Gradient for weight[j] = (p_k - y_k) * x_j summed over cutpoints
37
- *
38
- * Learning rate decays: lr = initialLr / (1 + decay * n)
39
- */
40
- export declare function partialFit(model: ModelState, features: number[], trueLevel: number, learningRate?: number, sampleCount?: number): ModelState;
41
- /**
42
- * Batch partial fit - applies partialFit to multiple samples.
43
- * Processes samples in order, accumulating updates.
44
- */
45
- export declare function batchPartialFit(model: ModelState, samples: Array<{
46
- features: number[];
47
- trueLevel: number;
48
- }>, learningRate?: number): ModelState;
49
- //# sourceMappingURL=ordered-logistic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ordered-logistic.d.ts","sourceRoot":"","sources":["../../src/recommend/ordered-logistic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,UAa3B,CAAC;AASF;;GAEG;AACH,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,GAAE,UAA0B,GAChC,MAAM,EAAE,CAoBV;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,GAAE,UAA0B,GAChC,MAAM,CAWR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,GAAE,UAA0B,GAChC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAqB9E;AAED;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,UAAU,EACjB,QAAQ,EAAE,MAAM,EAAE,EAClB,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,MAAa,EAC3B,WAAW,GAAE,MAAU,GACtB,UAAU,CAyCZ;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,KAAK,CAAC;IAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,EACzD,YAAY,GAAE,MAAa,GAC1B,UAAU,CAYZ"}
@@ -1,153 +0,0 @@
1
- "use strict";
2
- /**
3
- * Ordered Logistic Regression for Vibe Level Classification.
4
- * Respects ordinal structure: 0 < 1 < 2 < 3 < 4 < 5
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.DEFAULT_MODEL = void 0;
8
- exports.predictProba = predictProba;
9
- exports.predict = predict;
10
- exports.predictWithConfidence = predictWithConfidence;
11
- exports.partialFit = partialFit;
12
- exports.batchPartialFit = batchPartialFit;
13
- const N_LEVELS = 6;
14
- /**
15
- * Default model state (will be updated via calibration).
16
- */
17
- exports.DEFAULT_MODEL = {
18
- weights: [
19
- 0.3, // reversibility
20
- -0.5, // blastRadius (negative = higher risk lowers level)
21
- -0.4, // verificationCost
22
- -0.4, // domainComplexity
23
- 0.3, // aiTrackRecord
24
- 0.8, // fileChurnScore
25
- 0.6, // timeSpiralScore
26
- 0.3, // velocityAnomalyScore
27
- 0.5, // codeStabilityScore
28
- ],
29
- thresholds: [-2.0, -0.8, 0.4, 1.6, 2.8], // 5 thresholds for 6 levels
30
- };
31
- /**
32
- * Sigmoid function.
33
- */
34
- function sigmoid(x) {
35
- return 1 / (1 + Math.exp(-x));
36
- }
37
- /**
38
- * Predict probability distribution over levels 0-5.
39
- */
40
- function predictProba(features, model = exports.DEFAULT_MODEL) {
41
- // Linear combination
42
- let eta = 0;
43
- for (let i = 0; i < features.length && i < model.weights.length; i++) {
44
- eta += features[i] * model.weights[i];
45
- }
46
- // Cumulative probabilities
47
- const cumProbs = model.thresholds.map(t => sigmoid(t - eta));
48
- // P(Y=k) = P(Y≤k) - P(Y≤k-1)
49
- const probs = [];
50
- probs[0] = cumProbs[0];
51
- for (let k = 1; k < N_LEVELS - 1; k++) {
52
- probs[k] = cumProbs[k] - cumProbs[k - 1];
53
- }
54
- probs[N_LEVELS - 1] = 1 - cumProbs[N_LEVELS - 2];
55
- // Ensure non-negative (numerical stability)
56
- return probs.map(p => Math.max(0, p));
57
- }
58
- /**
59
- * Predict most likely level.
60
- */
61
- function predict(features, model = exports.DEFAULT_MODEL) {
62
- const probs = predictProba(features, model);
63
- let maxIdx = 0;
64
- let maxProb = probs[0];
65
- for (let i = 1; i < probs.length; i++) {
66
- if (probs[i] > maxProb) {
67
- maxProb = probs[i];
68
- maxIdx = i;
69
- }
70
- }
71
- return maxIdx;
72
- }
73
- /**
74
- * Predict with confidence and CI.
75
- */
76
- function predictWithConfidence(features, model = exports.DEFAULT_MODEL) {
77
- const probs = predictProba(features, model);
78
- const level = probs.indexOf(Math.max(...probs));
79
- const confidence = Math.max(...probs);
80
- // Approximate CI from probability distribution variance
81
- let mean = 0;
82
- let variance = 0;
83
- for (let i = 0; i < probs.length; i++) {
84
- mean += i * probs[i];
85
- }
86
- for (let i = 0; i < probs.length; i++) {
87
- variance += probs[i] * Math.pow(i - mean, 2);
88
- }
89
- const stdDev = Math.sqrt(variance);
90
- const ci = [
91
- Math.max(0, mean - 1.96 * stdDev),
92
- Math.min(5, mean + 1.96 * stdDev),
93
- ];
94
- return { level, confidence, ci, probs };
95
- }
96
- /**
97
- * Single-step stochastic gradient descent update.
98
- * Updates weights based on one sample's prediction error.
99
- *
100
- * For ordered logistic regression:
101
- * - We minimize negative log-likelihood
102
- * - Gradient for weight[j] = (p_k - y_k) * x_j summed over cutpoints
103
- *
104
- * Learning rate decays: lr = initialLr / (1 + decay * n)
105
- */
106
- function partialFit(model, features, trueLevel, learningRate = 0.01, sampleCount = 1) {
107
- const effectiveLr = learningRate / (1 + 0.001 * sampleCount);
108
- // Get current predictions
109
- const probs = predictProba(features, model);
110
- // Create one-hot target
111
- const target = new Array(N_LEVELS).fill(0);
112
- target[Math.min(Math.max(0, Math.round(trueLevel)), N_LEVELS - 1)] = 1;
113
- // Gradient for weights: dL/dw_j = sum_k (p_k - y_k) * x_j
114
- const newWeights = [...model.weights];
115
- for (let j = 0; j < features.length && j < newWeights.length; j++) {
116
- let gradient = 0;
117
- for (let k = 0; k < N_LEVELS; k++) {
118
- gradient += (probs[k] - target[k]) * features[j];
119
- }
120
- newWeights[j] -= effectiveLr * gradient;
121
- }
122
- // Gradient for thresholds: dL/dt_k = p_k - cumTarget_k
123
- const newThresholds = [...model.thresholds];
124
- let cumTarget = 0;
125
- for (let k = 0; k < model.thresholds.length; k++) {
126
- cumTarget += target[k];
127
- const cumProb = probs.slice(0, k + 1).reduce((a, b) => a + b, 0);
128
- const gradient = cumProb - cumTarget;
129
- newThresholds[k] -= effectiveLr * gradient;
130
- }
131
- // Ensure thresholds remain ordered
132
- for (let i = 1; i < newThresholds.length; i++) {
133
- if (newThresholds[i] <= newThresholds[i - 1]) {
134
- newThresholds[i] = newThresholds[i - 1] + 0.1;
135
- }
136
- }
137
- return {
138
- weights: newWeights,
139
- thresholds: newThresholds,
140
- };
141
- }
142
- /**
143
- * Batch partial fit - applies partialFit to multiple samples.
144
- * Processes samples in order, accumulating updates.
145
- */
146
- function batchPartialFit(model, samples, learningRate = 0.01) {
147
- let current = model;
148
- for (let i = 0; i < samples.length; i++) {
149
- current = partialFit(current, samples[i].features, samples[i].trueLevel, learningRate, i + 1);
150
- }
151
- return current;
152
- }
153
- //# sourceMappingURL=ordered-logistic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ordered-logistic.js","sourceRoot":"","sources":["../../src/recommend/ordered-logistic.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqCH,oCAuBC;AAKD,0BAcC;AAKD,sDAwBC;AAYD,gCA+CC;AAMD,0CAgBC;AA3LD,MAAM,QAAQ,GAAG,CAAC,CAAC;AAOnB;;GAEG;AACU,QAAA,aAAa,GAAe;IACvC,OAAO,EAAE;QACP,GAAG,EAAI,gBAAgB;QACvB,CAAC,GAAG,EAAG,oDAAoD;QAC3D,CAAC,GAAG,EAAG,mBAAmB;QAC1B,CAAC,GAAG,EAAG,mBAAmB;QAC1B,GAAG,EAAI,gBAAgB;QACvB,GAAG,EAAI,iBAAiB;QACxB,GAAG,EAAI,kBAAkB;QACzB,GAAG,EAAI,uBAAuB;QAC9B,GAAG,EAAI,qBAAqB;KAC7B;IACD,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,4BAA4B;CACtE,CAAC;AAEF;;GAEG;AACH,SAAS,OAAO,CAAC,CAAS;IACxB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAgB,YAAY,CAC1B,QAAkB,EAClB,QAAoB,qBAAa;IAEjC,qBAAqB;IACrB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrE,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IAE7D,6BAA6B;IAC7B,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAEjD,4CAA4C;IAC5C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,SAAgB,OAAO,CACrB,QAAkB,EAClB,QAAoB,qBAAa;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,CAAC;YACvB,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,CAAC,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CACnC,QAAkB,EAClB,QAAoB,qBAAa;IAEjC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IAEtC,wDAAwD;IACxD,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACnC,MAAM,EAAE,GAAqB;QAC3B,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;KAClC,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,UAAU,CACxB,KAAiB,EACjB,QAAkB,EAClB,SAAiB,EACjB,eAAuB,IAAI,EAC3B,cAAsB,CAAC;IAEvB,MAAM,WAAW,GAAG,YAAY,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC;IAE7D,0BAA0B;IAC1B,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAE5C,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAEvE,0DAA0D;IAC1D,MAAM,UAAU,GAAG,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClE,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,QAAQ,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,UAAU,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,QAAQ,CAAC;IAC1C,CAAC;IAED,uDAAuD;IACvD,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACjD,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;QACrC,aAAa,CAAC,CAAC,CAAC,IAAI,WAAW,GAAG,QAAQ,CAAC;IAC7C,CAAC;IAED,mCAAmC;IACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9C,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC7C,aAAa,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAChD,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,UAAU;QACnB,UAAU,EAAE,aAAa;KAC1B,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe,CAC7B,KAAiB,EACjB,OAAyD,EACzD,eAAuB,IAAI;IAE3B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,OAAO,GAAG,UAAU,CAClB,OAAO,EACP,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EACnB,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EACpB,YAAY,EACZ,CAAC,GAAG,CAAC,CACN,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,19 +0,0 @@
1
- import { QuestionResponses } from '../types';
2
- export interface Question {
3
- id: keyof QuestionResponses;
4
- text: string;
5
- options: {
6
- value: number;
7
- label: string;
8
- description: string;
9
- }[];
10
- }
11
- /**
12
- * The 5 classification questions for vibe level determination.
13
- */
14
- export declare const VIBE_QUESTIONS: Question[];
15
- /**
16
- * Calculate base level from questions only (simple additive).
17
- */
18
- export declare function calculateBaseLevel(responses: QuestionResponses): number;
19
- //# sourceMappingURL=questions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"questions.d.ts","sourceRoot":"","sources":["../../src/recommend/questions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,iBAAiB,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAmDpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,iBAAiB,GAAG,MAAM,CAUvE"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VIBE_QUESTIONS = void 0;
4
- exports.calculateBaseLevel = calculateBaseLevel;
5
- /**
6
- * The 5 classification questions for vibe level determination.
7
- */
8
- exports.VIBE_QUESTIONS = [
9
- {
10
- id: 'reversibility',
11
- text: 'How easy is it to undo this change?',
12
- options: [
13
- { value: 1, label: 'Easy', description: 'One command to revert (git revert, ctrl+z)' },
14
- { value: 0, label: 'Moderate', description: 'Some effort required' },
15
- { value: -1, label: 'Difficult', description: 'Significant work to undo' },
16
- { value: -2, label: 'Impossible', description: 'Cannot be undone (data loss, etc.)' },
17
- ],
18
- },
19
- {
20
- id: 'blastRadius',
21
- text: 'What breaks if this goes wrong?',
22
- options: [
23
- { value: 1, label: 'This file only', description: 'Isolated change' },
24
- { value: 0, label: 'This module', description: 'Affects related components' },
25
- { value: -1, label: 'Multiple systems', description: 'Cross-cutting impact' },
26
- { value: -2, label: 'Production/users', description: 'Customer-facing impact' },
27
- ],
28
- },
29
- {
30
- id: 'verificationCost',
31
- text: 'How hard is it to verify correctness?',
32
- options: [
33
- { value: 1, label: 'Instant', description: 'Obvious, compiler catches errors' },
34
- { value: 0, label: 'Run tests', description: 'Automated tests verify' },
35
- { value: -1, label: 'Manual testing', description: 'Need to manually verify' },
36
- { value: -2, label: 'Hard to verify', description: 'Difficult to fully validate' },
37
- ],
38
- },
39
- {
40
- id: 'domainComplexity',
41
- text: 'How much domain context is needed?',
42
- options: [
43
- { value: 1, label: 'Generic', description: 'Universal patterns, no special knowledge' },
44
- { value: 0, label: 'Standard', description: 'Common patterns in this domain' },
45
- { value: -1, label: 'Domain-specific', description: 'Requires specialized knowledge' },
46
- { value: -2, label: 'Novel/research', description: 'No established patterns' },
47
- ],
48
- },
49
- {
50
- id: 'aiTrackRecord',
51
- text: 'How has AI performed on similar tasks?',
52
- options: [
53
- { value: 1, label: 'Excellent', description: 'Consistently good results' },
54
- { value: 0, label: 'Generally good', description: 'Usually correct' },
55
- { value: -1, label: 'Mixed', description: 'Sometimes needs correction' },
56
- { value: -2, label: 'Poor/unknown', description: 'Unreliable or untested' },
57
- ],
58
- },
59
- ];
60
- /**
61
- * Calculate base level from questions only (simple additive).
62
- */
63
- function calculateBaseLevel(responses) {
64
- const base = 3;
65
- const score = base +
66
- responses.reversibility +
67
- responses.blastRadius +
68
- responses.verificationCost +
69
- responses.domainComplexity +
70
- responses.aiTrackRecord;
71
- return Math.max(0, Math.min(5, Math.round(score)));
72
- }
73
- //# sourceMappingURL=questions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/recommend/questions.ts"],"names":[],"mappings":"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"}