@boshu2/vibe-check 1.8.1 → 2.2.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 (402) hide show
  1. package/.agents/plans/2025-12-27-vibe-check-evolution-plan.md +383 -0
  2. package/.agents/research/2025-12-27-vibe-check-evolution.md +352 -0
  3. package/.claude/settings.local.json +9 -3
  4. package/CHANGELOG.md +43 -0
  5. package/CLAUDE.md +201 -26
  6. package/Makefile +4 -4
  7. package/README.md +95 -0
  8. package/bin/vibe-check.js +1 -1
  9. package/claude-progress.json +18 -0
  10. package/dist/analysis/cross-session-analysis.d.ts +1 -1
  11. package/dist/analysis/cross-session-analysis.d.ts.map +1 -1
  12. package/dist/analysis/cross-session-analysis.js +9 -18
  13. package/dist/analysis/cross-session-analysis.js.map +1 -1
  14. package/dist/analysis/index.d.ts +1 -1
  15. package/dist/analysis/index.d.ts.map +1 -1
  16. package/dist/analysis/index.js +1 -11
  17. package/dist/analysis/index.js.map +1 -1
  18. package/dist/analyzers/audit.d.ts +28 -0
  19. package/dist/analyzers/audit.d.ts.map +1 -0
  20. package/dist/analyzers/audit.js +86 -0
  21. package/dist/analyzers/audit.js.map +1 -0
  22. package/dist/analyzers/eldritch.d.ts +40 -0
  23. package/dist/analyzers/eldritch.d.ts.map +1 -0
  24. package/dist/analyzers/eldritch.js +202 -0
  25. package/dist/analyzers/eldritch.js.map +1 -0
  26. package/dist/analyzers/modularity.d.ts +67 -0
  27. package/dist/analyzers/modularity.d.ts.map +1 -0
  28. package/dist/analyzers/modularity.js +254 -0
  29. package/dist/analyzers/modularity.js.map +1 -0
  30. package/dist/analyzers/patterns.d.ts +1 -1
  31. package/dist/analyzers/patterns.d.ts.map +1 -1
  32. package/dist/analyzers/patterns.js +4 -10
  33. package/dist/analyzers/patterns.js.map +1 -1
  34. package/dist/analyzers/quality.d.ts +1 -1
  35. package/dist/analyzers/quality.d.ts.map +1 -1
  36. package/dist/analyzers/quality.js +5 -12
  37. package/dist/analyzers/quality.js.map +1 -1
  38. package/dist/analyzers/sessions.d.ts +1 -1
  39. package/dist/analyzers/sessions.d.ts.map +1 -1
  40. package/dist/analyzers/sessions.js +1 -4
  41. package/dist/analyzers/sessions.js.map +1 -1
  42. package/dist/cli.js +21 -20
  43. package/dist/cli.js.map +1 -1
  44. package/dist/commands/analyze.d.ts.map +1 -1
  45. package/dist/commands/analyze.js +124 -149
  46. package/dist/commands/analyze.js.map +1 -1
  47. package/dist/commands/audit.d.ts +3 -0
  48. package/dist/commands/audit.d.ts.map +1 -0
  49. package/dist/commands/audit.js +102 -0
  50. package/dist/commands/audit.js.map +1 -0
  51. package/dist/commands/cache.js +31 -70
  52. package/dist/commands/cache.js.map +1 -1
  53. package/dist/commands/dashboard.d.ts.map +1 -1
  54. package/dist/commands/dashboard.js +22 -58
  55. package/dist/commands/dashboard.js.map +1 -1
  56. package/dist/commands/forensics.d.ts +10 -2
  57. package/dist/commands/forensics.d.ts.map +1 -1
  58. package/dist/commands/forensics.js +91 -51
  59. package/dist/commands/forensics.js.map +1 -1
  60. package/dist/commands/index.d.ts +15 -13
  61. package/dist/commands/index.d.ts.map +1 -1
  62. package/dist/commands/index.js +15 -33
  63. package/dist/commands/index.js.map +1 -1
  64. package/dist/commands/init-hook.js +26 -32
  65. package/dist/commands/init-hook.js.map +1 -1
  66. package/dist/commands/insights.js +39 -45
  67. package/dist/commands/insights.js.map +1 -1
  68. package/dist/commands/modularity.d.ts +27 -0
  69. package/dist/commands/modularity.d.ts.map +1 -0
  70. package/dist/commands/modularity.js +182 -0
  71. package/dist/commands/modularity.js.map +1 -0
  72. package/dist/commands/pipeline.js +39 -78
  73. package/dist/commands/pipeline.js.map +1 -1
  74. package/dist/commands/profile.js +68 -74
  75. package/dist/commands/profile.js.map +1 -1
  76. package/dist/commands/session.js +88 -129
  77. package/dist/commands/session.js.map +1 -1
  78. package/dist/commands/sessions.d.ts +1 -1
  79. package/dist/commands/sessions.d.ts.map +1 -1
  80. package/dist/commands/sessions.js +42 -49
  81. package/dist/commands/sessions.js.map +1 -1
  82. package/dist/commands/start.js +22 -67
  83. package/dist/commands/start.js.map +1 -1
  84. package/dist/commands/timeline.js +74 -81
  85. package/dist/commands/timeline.js.map +1 -1
  86. package/dist/commands/watch.js +54 -60
  87. package/dist/commands/watch.js.map +1 -1
  88. package/dist/gamification/achievements.d.ts +1 -1
  89. package/dist/gamification/achievements.d.ts.map +1 -1
  90. package/dist/gamification/achievements.js +7 -13
  91. package/dist/gamification/achievements.js.map +1 -1
  92. package/dist/gamification/index.d.ts +8 -8
  93. package/dist/gamification/index.d.ts.map +1 -1
  94. package/dist/gamification/index.js +8 -28
  95. package/dist/gamification/index.js.map +1 -1
  96. package/dist/gamification/profile.d.ts +2 -2
  97. package/dist/gamification/profile.d.ts.map +1 -1
  98. package/dist/gamification/profile.js +21 -64
  99. package/dist/gamification/profile.js.map +1 -1
  100. package/dist/gamification/stats.d.ts +1 -1
  101. package/dist/gamification/stats.d.ts.map +1 -1
  102. package/dist/gamification/stats.js +4 -10
  103. package/dist/gamification/stats.js.map +1 -1
  104. package/dist/gamification/streaks.d.ts +1 -1
  105. package/dist/gamification/streaks.d.ts.map +1 -1
  106. package/dist/gamification/streaks.js +8 -18
  107. package/dist/gamification/streaks.js.map +1 -1
  108. package/dist/gamification/types.js +3 -6
  109. package/dist/gamification/types.js.map +1 -1
  110. package/dist/gamification/xp.d.ts +1 -1
  111. package/dist/gamification/xp.d.ts.map +1 -1
  112. package/dist/gamification/xp.js +29 -38
  113. package/dist/gamification/xp.js.map +1 -1
  114. package/dist/git.d.ts +1 -1
  115. package/dist/git.d.ts.map +1 -1
  116. package/dist/git.js +23 -29
  117. package/dist/git.js.map +1 -1
  118. package/dist/inner-loop/context-amnesia.d.ts +2 -2
  119. package/dist/inner-loop/context-amnesia.d.ts.map +1 -1
  120. package/dist/inner-loop/context-amnesia.js +7 -10
  121. package/dist/inner-loop/context-amnesia.js.map +1 -1
  122. package/dist/inner-loop/index.d.ts +7 -7
  123. package/dist/inner-loop/index.d.ts.map +1 -1
  124. package/dist/inner-loop/index.js +18 -45
  125. package/dist/inner-loop/index.js.map +1 -1
  126. package/dist/inner-loop/instruction-drift.d.ts +2 -2
  127. package/dist/inner-loop/instruction-drift.d.ts.map +1 -1
  128. package/dist/inner-loop/instruction-drift.js +5 -10
  129. package/dist/inner-loop/instruction-drift.js.map +1 -1
  130. package/dist/inner-loop/logging-only.d.ts +2 -2
  131. package/dist/inner-loop/logging-only.d.ts.map +1 -1
  132. package/dist/inner-loop/logging-only.js +9 -17
  133. package/dist/inner-loop/logging-only.js.map +1 -1
  134. package/dist/inner-loop/tests-passing-lie.d.ts +2 -2
  135. package/dist/inner-loop/tests-passing-lie.d.ts.map +1 -1
  136. package/dist/inner-loop/tests-passing-lie.js +12 -17
  137. package/dist/inner-loop/tests-passing-lie.js.map +1 -1
  138. package/dist/inner-loop/types.js +1 -4
  139. package/dist/inner-loop/types.js.map +1 -1
  140. package/dist/insights/generators.d.ts +4 -4
  141. package/dist/insights/generators.d.ts.map +1 -1
  142. package/dist/insights/generators.js +9 -20
  143. package/dist/insights/generators.js.map +1 -1
  144. package/dist/insights/index.d.ts +4 -4
  145. package/dist/insights/index.d.ts.map +1 -1
  146. package/dist/insights/index.js +23 -27
  147. package/dist/insights/index.js.map +1 -1
  148. package/dist/insights/types.js +1 -2
  149. package/dist/insights/types.js.map +1 -1
  150. package/dist/metrics/code-stability.d.ts +1 -1
  151. package/dist/metrics/code-stability.d.ts.map +1 -1
  152. package/dist/metrics/code-stability.js +1 -4
  153. package/dist/metrics/code-stability.js.map +1 -1
  154. package/dist/metrics/cohesion.d.ts +27 -0
  155. package/dist/metrics/cohesion.d.ts.map +1 -0
  156. package/dist/metrics/cohesion.js +134 -0
  157. package/dist/metrics/cohesion.js.map +1 -0
  158. package/dist/metrics/file-churn.d.ts +1 -1
  159. package/dist/metrics/file-churn.d.ts.map +1 -1
  160. package/dist/metrics/file-churn.js +1 -4
  161. package/dist/metrics/file-churn.js.map +1 -1
  162. package/dist/metrics/flow.d.ts +1 -1
  163. package/dist/metrics/flow.d.ts.map +1 -1
  164. package/dist/metrics/flow.js +1 -4
  165. package/dist/metrics/flow.js.map +1 -1
  166. package/dist/metrics/index.d.ts +10 -2
  167. package/dist/metrics/index.d.ts.map +1 -1
  168. package/dist/metrics/index.js +51 -20
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/metrics/investigation.d.ts +25 -0
  171. package/dist/metrics/investigation.d.ts.map +1 -0
  172. package/dist/metrics/investigation.js +115 -0
  173. package/dist/metrics/investigation.js.map +1 -0
  174. package/dist/metrics/rework.d.ts +1 -1
  175. package/dist/metrics/rework.d.ts.map +1 -1
  176. package/dist/metrics/rework.js +1 -4
  177. package/dist/metrics/rework.js.map +1 -1
  178. package/dist/metrics/spirals.d.ts +1 -1
  179. package/dist/metrics/spirals.d.ts.map +1 -1
  180. package/dist/metrics/spirals.js +5 -10
  181. package/dist/metrics/spirals.js.map +1 -1
  182. package/dist/metrics/time-spiral.d.ts +1 -1
  183. package/dist/metrics/time-spiral.d.ts.map +1 -1
  184. package/dist/metrics/time-spiral.js +1 -4
  185. package/dist/metrics/time-spiral.js.map +1 -1
  186. package/dist/metrics/tracers.d.ts +28 -0
  187. package/dist/metrics/tracers.d.ts.map +1 -0
  188. package/dist/metrics/tracers.js +117 -0
  189. package/dist/metrics/tracers.js.map +1 -0
  190. package/dist/metrics/trust.d.ts +1 -1
  191. package/dist/metrics/trust.d.ts.map +1 -1
  192. package/dist/metrics/trust.js +3 -6
  193. package/dist/metrics/trust.js.map +1 -1
  194. package/dist/metrics/velocity-anomaly.d.ts +1 -1
  195. package/dist/metrics/velocity-anomaly.d.ts.map +1 -1
  196. package/dist/metrics/velocity-anomaly.js +3 -6
  197. package/dist/metrics/velocity-anomaly.js.map +1 -1
  198. package/dist/metrics/velocity.d.ts +1 -1
  199. package/dist/metrics/velocity.d.ts.map +1 -1
  200. package/dist/metrics/velocity.js +6 -10
  201. package/dist/metrics/velocity.js.map +1 -1
  202. package/dist/output/index.d.ts +4 -4
  203. package/dist/output/index.d.ts.map +1 -1
  204. package/dist/output/index.js +10 -18
  205. package/dist/output/index.js.map +1 -1
  206. package/dist/output/json.d.ts +1 -1
  207. package/dist/output/json.d.ts.map +1 -1
  208. package/dist/output/json.js +1 -4
  209. package/dist/output/json.js.map +1 -1
  210. package/dist/output/markdown.d.ts +1 -1
  211. package/dist/output/markdown.d.ts.map +1 -1
  212. package/dist/output/markdown.js +5 -8
  213. package/dist/output/markdown.js.map +1 -1
  214. package/dist/output/terminal.d.ts +1 -1
  215. package/dist/output/terminal.d.ts.map +1 -1
  216. package/dist/output/terminal.js +88 -62
  217. package/dist/output/terminal.js.map +1 -1
  218. package/dist/output/timeline-html.d.ts +1 -1
  219. package/dist/output/timeline-html.d.ts.map +1 -1
  220. package/dist/output/timeline-html.js +5 -8
  221. package/dist/output/timeline-html.js.map +1 -1
  222. package/dist/output/timeline-markdown.d.ts +1 -1
  223. package/dist/output/timeline-markdown.d.ts.map +1 -1
  224. package/dist/output/timeline-markdown.js +5 -8
  225. package/dist/output/timeline-markdown.js.map +1 -1
  226. package/dist/output/timeline.d.ts +1 -1
  227. package/dist/output/timeline.d.ts.map +1 -1
  228. package/dist/output/timeline.js +46 -52
  229. package/dist/output/timeline.js.map +1 -1
  230. package/dist/patterns/detour.d.ts +1 -1
  231. package/dist/patterns/detour.d.ts.map +1 -1
  232. package/dist/patterns/detour.js +1 -4
  233. package/dist/patterns/detour.js.map +1 -1
  234. package/dist/patterns/flow-state.d.ts +1 -1
  235. package/dist/patterns/flow-state.d.ts.map +1 -1
  236. package/dist/patterns/flow-state.js +1 -4
  237. package/dist/patterns/flow-state.js.map +1 -1
  238. package/dist/patterns/index.d.ts +7 -7
  239. package/dist/patterns/index.d.ts.map +1 -1
  240. package/dist/patterns/index.js +7 -21
  241. package/dist/patterns/index.js.map +1 -1
  242. package/dist/patterns/intervention-effectiveness.d.ts +1 -1
  243. package/dist/patterns/intervention-effectiveness.d.ts.map +1 -1
  244. package/dist/patterns/intervention-effectiveness.js +3 -8
  245. package/dist/patterns/intervention-effectiveness.js.map +1 -1
  246. package/dist/patterns/late-night.d.ts +1 -1
  247. package/dist/patterns/late-night.d.ts.map +1 -1
  248. package/dist/patterns/late-night.js +1 -4
  249. package/dist/patterns/late-night.js.map +1 -1
  250. package/dist/patterns/post-delete-sprint.d.ts +1 -1
  251. package/dist/patterns/post-delete-sprint.d.ts.map +1 -1
  252. package/dist/patterns/post-delete-sprint.js +1 -4
  253. package/dist/patterns/post-delete-sprint.js.map +1 -1
  254. package/dist/patterns/spiral-regression.d.ts +1 -1
  255. package/dist/patterns/spiral-regression.d.ts.map +1 -1
  256. package/dist/patterns/spiral-regression.js +3 -8
  257. package/dist/patterns/spiral-regression.js.map +1 -1
  258. package/dist/patterns/thrashing.d.ts +1 -1
  259. package/dist/patterns/thrashing.d.ts.map +1 -1
  260. package/dist/patterns/thrashing.js +3 -6
  261. package/dist/patterns/thrashing.js.map +1 -1
  262. package/dist/score/index.d.ts +3 -3
  263. package/dist/score/index.d.ts.map +1 -1
  264. package/dist/score/index.js +4 -10
  265. package/dist/score/index.js.map +1 -1
  266. package/dist/score/weights.js +2 -6
  267. package/dist/score/weights.js.map +1 -1
  268. package/dist/sessions/index.js +9 -51
  269. package/dist/sessions/index.js.map +1 -1
  270. package/dist/storage/atomic.js +10 -51
  271. package/dist/storage/atomic.js.map +1 -1
  272. package/dist/storage/commit-log.d.ts +1 -1
  273. package/dist/storage/commit-log.d.ts.map +1 -1
  274. package/dist/storage/commit-log.js +11 -51
  275. package/dist/storage/commit-log.js.map +1 -1
  276. package/dist/storage/index.d.ts +5 -5
  277. package/dist/storage/index.d.ts.map +1 -1
  278. package/dist/storage/index.js +5 -37
  279. package/dist/storage/index.js.map +1 -1
  280. package/dist/storage/schema.js +4 -9
  281. package/dist/storage/schema.js.map +1 -1
  282. package/dist/storage/spiral-history.js +14 -57
  283. package/dist/storage/spiral-history.js.map +1 -1
  284. package/dist/storage/timeline-store.d.ts +2 -2
  285. package/dist/storage/timeline-store.d.ts.map +1 -1
  286. package/dist/storage/timeline-store.js +17 -61
  287. package/dist/storage/timeline-store.js.map +1 -1
  288. package/dist/types.d.ts +36 -1
  289. package/dist/types.d.ts.map +1 -1
  290. package/dist/types.js +1 -2
  291. package/docs/ENHANCEMENT-PLAN.md +379 -0
  292. package/feature-list.json +6 -0
  293. package/package.json +8 -7
  294. package/.claude/skills/typescript-review.md +0 -152
  295. package/dist/calibration/ece.d.ts +0 -26
  296. package/dist/calibration/ece.d.ts.map +0 -1
  297. package/dist/calibration/ece.js +0 -93
  298. package/dist/calibration/ece.js.map +0 -1
  299. package/dist/calibration/index.d.ts +0 -3
  300. package/dist/calibration/index.d.ts.map +0 -1
  301. package/dist/calibration/index.js +0 -15
  302. package/dist/calibration/index.js.map +0 -1
  303. package/dist/calibration/storage.d.ts +0 -34
  304. package/dist/calibration/storage.d.ts.map +0 -1
  305. package/dist/calibration/storage.js +0 -188
  306. package/dist/calibration/storage.js.map +0 -1
  307. package/dist/commands/intervene.d.ts +0 -15
  308. package/dist/commands/intervene.d.ts.map +0 -1
  309. package/dist/commands/intervene.js +0 -183
  310. package/dist/commands/intervene.js.map +0 -1
  311. package/dist/commands/learn.d.ts +0 -3
  312. package/dist/commands/learn.d.ts.map +0 -1
  313. package/dist/commands/learn.js +0 -161
  314. package/dist/commands/learn.js.map +0 -1
  315. package/dist/commands/lesson.d.ts +0 -8
  316. package/dist/commands/lesson.d.ts.map +0 -1
  317. package/dist/commands/lesson.js +0 -206
  318. package/dist/commands/lesson.js.map +0 -1
  319. package/dist/commands/level.d.ts +0 -3
  320. package/dist/commands/level.d.ts.map +0 -1
  321. package/dist/commands/level.js +0 -277
  322. package/dist/commands/level.js.map +0 -1
  323. package/dist/gamification/badges.d.ts +0 -29
  324. package/dist/gamification/badges.d.ts.map +0 -1
  325. package/dist/gamification/badges.js +0 -114
  326. package/dist/gamification/badges.js.map +0 -1
  327. package/dist/gamification/challenges.d.ts +0 -42
  328. package/dist/gamification/challenges.d.ts.map +0 -1
  329. package/dist/gamification/challenges.js +0 -184
  330. package/dist/gamification/challenges.js.map +0 -1
  331. package/dist/gamification/hall-of-fame.d.ts +0 -17
  332. package/dist/gamification/hall-of-fame.d.ts.map +0 -1
  333. package/dist/gamification/hall-of-fame.js +0 -64
  334. package/dist/gamification/hall-of-fame.js.map +0 -1
  335. package/dist/gamification/intervention-memory.d.ts +0 -61
  336. package/dist/gamification/intervention-memory.d.ts.map +0 -1
  337. package/dist/gamification/intervention-memory.js +0 -229
  338. package/dist/gamification/intervention-memory.js.map +0 -1
  339. package/dist/gamification/leaderboards.d.ts +0 -49
  340. package/dist/gamification/leaderboards.d.ts.map +0 -1
  341. package/dist/gamification/leaderboards.js +0 -179
  342. package/dist/gamification/leaderboards.js.map +0 -1
  343. package/dist/gamification/pattern-memory.d.ts +0 -45
  344. package/dist/gamification/pattern-memory.d.ts.map +0 -1
  345. package/dist/gamification/pattern-memory.js +0 -188
  346. package/dist/gamification/pattern-memory.js.map +0 -1
  347. package/dist/gamification/share.d.ts +0 -29
  348. package/dist/gamification/share.d.ts.map +0 -1
  349. package/dist/gamification/share.js +0 -57
  350. package/dist/gamification/share.js.map +0 -1
  351. package/dist/learning/cadence.d.ts +0 -15
  352. package/dist/learning/cadence.d.ts.map +0 -1
  353. package/dist/learning/cadence.js +0 -130
  354. package/dist/learning/cadence.js.map +0 -1
  355. package/dist/learning/index.d.ts +0 -19
  356. package/dist/learning/index.d.ts.map +0 -1
  357. package/dist/learning/index.js +0 -35
  358. package/dist/learning/index.js.map +0 -1
  359. package/dist/learning/lessons-storage.d.ts +0 -48
  360. package/dist/learning/lessons-storage.d.ts.map +0 -1
  361. package/dist/learning/lessons-storage.js +0 -266
  362. package/dist/learning/lessons-storage.js.map +0 -1
  363. package/dist/learning/lessons-types.d.ts +0 -83
  364. package/dist/learning/lessons-types.d.ts.map +0 -1
  365. package/dist/learning/lessons-types.js +0 -15
  366. package/dist/learning/lessons-types.js.map +0 -1
  367. package/dist/learning/nudges.d.ts +0 -20
  368. package/dist/learning/nudges.d.ts.map +0 -1
  369. package/dist/learning/nudges.js +0 -68
  370. package/dist/learning/nudges.js.map +0 -1
  371. package/dist/learning/retrospective.d.ts +0 -27
  372. package/dist/learning/retrospective.d.ts.map +0 -1
  373. package/dist/learning/retrospective.js +0 -184
  374. package/dist/learning/retrospective.js.map +0 -1
  375. package/dist/learning/storage.d.ts +0 -44
  376. package/dist/learning/storage.d.ts.map +0 -1
  377. package/dist/learning/storage.js +0 -194
  378. package/dist/learning/storage.js.map +0 -1
  379. package/dist/learning/surfacing.d.ts +0 -36
  380. package/dist/learning/surfacing.d.ts.map +0 -1
  381. package/dist/learning/surfacing.js +0 -255
  382. package/dist/learning/surfacing.js.map +0 -1
  383. package/dist/learning/synthesis.d.ts +0 -17
  384. package/dist/learning/synthesis.d.ts.map +0 -1
  385. package/dist/learning/synthesis.js +0 -293
  386. package/dist/learning/synthesis.js.map +0 -1
  387. package/dist/learning/types.d.ts +0 -60
  388. package/dist/learning/types.d.ts.map +0 -1
  389. package/dist/learning/types.js +0 -17
  390. package/dist/learning/types.js.map +0 -1
  391. package/dist/recommend/index.d.ts +0 -3
  392. package/dist/recommend/index.d.ts.map +0 -1
  393. package/dist/recommend/index.js +0 -14
  394. package/dist/recommend/index.js.map +0 -1
  395. package/dist/recommend/ordered-logistic.d.ts +0 -49
  396. package/dist/recommend/ordered-logistic.d.ts.map +0 -1
  397. package/dist/recommend/ordered-logistic.js +0 -153
  398. package/dist/recommend/ordered-logistic.js.map +0 -1
  399. package/dist/recommend/questions.d.ts +0 -19
  400. package/dist/recommend/questions.d.ts.map +0 -1
  401. package/dist/recommend/questions.js +0 -73
  402. package/dist/recommend/questions.js.map +0 -1
@@ -0,0 +1,352 @@
1
+ ---
2
+ date: 2025-12-27
3
+ type: Research
4
+ topic: "Vibe-Check Evolution: Features and Improvements Roadmap"
5
+ tags: [research, vibe-check, vibe-coding, roadmap, improvements]
6
+ status: COMPLETE
7
+ ---
8
+
9
+ # Research: Vibe-Check Evolution
10
+
11
+ **Created:** 2025-12-27
12
+ **Goal:** Understand the current state of vibe-check and identify opportunities for improvement based on the broader vibe-coding ecosystem
13
+
14
+ ---
15
+
16
+ ## Executive Summary
17
+
18
+ vibe-check is a **production-ready** CLI tool (v2.1.0) that detects the 4 inner loop failure patterns from Gene Kim & Steve Yegge's *Vibe Coding* methodology. The tool has evolved from a simple metrics analyzer to a comprehensive coaching system with gamification, real-time monitoring, and session integration.
19
+
20
+ **Key findings:**
21
+ 1. **Core metrics are solid** - 5 semantic-free metrics work well across any codebase
22
+ 2. **Inner loop detection is complete** - All 4 inner loop disasters are detected
23
+ 3. **Enhancement Plan exists** - Documented but unimplemented improvements for investigation gaps, tracer tracking, and domain cohesion
24
+ 4. **Agent integration opportunity** - Concept for "Vibe Validator" agent that verifies completion claims
25
+ 5. **Middle/Outer loop gaps** - 8 additional failure patterns not yet detected
26
+
27
+ **Recommendation:** Implement the Enhancement Plan (tracer bullets, investigation gaps) and explore agent integration for autonomous development validation.
28
+
29
+ ---
30
+
31
+ ## Current State
32
+
33
+ ### What Exists (v2.1.0)
34
+
35
+ | Component | Status | Description |
36
+ |-----------|--------|-------------|
37
+ | **5 Core Metrics** | Complete | Velocity, Rework, Trust, Spirals, Flow |
38
+ | **4 Semantic-Free Metrics** | Complete | File Churn, Time Spiral, Velocity Anomaly, Code Stability |
39
+ | **Inner Loop Detection** | Complete | Tests Lie, Amnesia, Drift, Debug Spiral |
40
+ | **Gamification** | Complete | XP, Levels, Streaks, 18 Achievements |
41
+ | **Session Tracking** | Complete | Baseline comparison, failure pattern detection |
42
+ | **Watch Mode** | Complete | Real-time spiral detection |
43
+ | **Dashboard** | Complete | Visual charts and metrics |
44
+ | **Forensics** | Complete | Deep pattern analysis |
45
+ | **Audit** | Complete | Static code mess detection |
46
+ | **Modularity Analysis** | Complete | Pattern-aware module structure |
47
+
48
+ ### Architecture Strengths
49
+
50
+ 1. **Clean separation** - CLI → Analysis → Data → Output layers
51
+ 2. **100% TypeScript** - Full type coverage, no `any` in public APIs
52
+ 3. **Extensible patterns** - Easy to add new detectors
53
+ 4. **Atomic persistence** - Safe file operations with schema versioning
54
+ 5. **Comprehensive tests** - 114 tests, all passing
55
+ 6. **Personalized coaching** - Spiral history enables context-aware advice
56
+
57
+ ### Key Files
58
+
59
+ | File | Purpose | Lines |
60
+ |------|---------|-------|
61
+ | `src/metrics/index.ts` | Metrics orchestration | 150 |
62
+ | `src/inner-loop/index.ts` | Inner loop aggregator | 97 |
63
+ | `src/gamification/xp.ts` | XP calculation | 85 |
64
+ | `src/commands/session.ts` | Session management | 250 |
65
+ | `src/commands/watch.ts` | Real-time monitoring | 180 |
66
+
67
+ ---
68
+
69
+ ## Existing Enhancement Plan
70
+
71
+ From `docs/ENHANCEMENT-PLAN.md` (dated 2025-12-11), these improvements are documented but not implemented:
72
+
73
+ ### P1: Investigation Gap Detection
74
+ **Problem:** Long gaps between commits indicate hidden debugging time.
75
+
76
+ ```typescript
77
+ interface InvestigationGap {
78
+ startCommit: string
79
+ endCommit: string
80
+ gapMinutes: number
81
+ followedByFix: boolean
82
+ component: string
83
+ }
84
+ ```
85
+
86
+ **Rating:** >30min gap followed by fix = investigation time
87
+ **Impact:** Surfaces the hidden cost of debugging
88
+
89
+ ### P2: Tracer Bullet Tracking
90
+ **Problem:** No visibility into whether assumptions were validated before building.
91
+
92
+ ```typescript
93
+ // Convention: commits starting with "tracer:" or "tb:"
94
+ interface TracerMetrics {
95
+ tracerCount: number
96
+ tracerBeforeFeature: number
97
+ tracerBeforeFix: number // too late!
98
+ tracerRatio: number
99
+ }
100
+ ```
101
+
102
+ **Rating:** ELITE >20% | HIGH >10% | MEDIUM >5% | LOW <5%
103
+ **Impact:** Encourages proactive validation
104
+
105
+ ### P3: Domain Cohesion Score
106
+ **Problem:** Scattered changes indicate coupling.
107
+
108
+ ```typescript
109
+ interface CohesionMetrics {
110
+ avgDomainsPerCommit: number
111
+ scatteredCommits: number // 3+ domains
112
+ cohesiveCommits: number // 1 domain
113
+ cohesionScore: number // 0-100%
114
+ }
115
+ ```
116
+
117
+ **Rating:** ELITE >80% | HIGH >60% | MEDIUM >40% | LOW <40%
118
+ **Impact:** Architectural feedback
119
+
120
+ ### P4: Session Markers (Wall-Clock)
121
+ **Problem:** Git timestamps don't capture actual session duration.
122
+
123
+ ```typescript
124
+ interface Session {
125
+ wallClockMinutes: number
126
+ commitMinutes: number
127
+ investigationMinutes: number // wallClock - commitMinutes
128
+ efficiency: number
129
+ }
130
+ ```
131
+
132
+ **Impact:** Accurate time tracking for coaching
133
+
134
+ ---
135
+
136
+ ## Vibe Validator Concept
137
+
138
+ From `.agents/research/2025-12-10-vibe-check-agent-concept.md`:
139
+
140
+ ### The Problem
141
+
142
+ Autonomous agents (like Gusto) **trust** completion claims. When an agent outputs `<promise>COMPLETE</promise>`, the system believes it.
143
+
144
+ ### The Solution
145
+
146
+ A "Vibe Validator" that **verifies** before allowing exit:
147
+
148
+ 1. **Tests Lie Detector** - Actually run `npm test`
149
+ 2. **Build Verification** - Actually run `npm run build`
150
+ 3. **Fake Data Detector** - Pattern match for suspicious test code
151
+ 4. **Smoke Tests** - Run tracer tests if configured
152
+
153
+ ### Implementation Architecture
154
+
155
+ ```
156
+ ┌─────────────────────────────────────────────────────┐
157
+ │ Vibe-Check Agent (Observer) │
158
+ │ │
159
+ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
160
+ │ │ Inner Loop │ │ Middle Loop │ │ Outer Loop │ │
161
+ │ │ Detector │ │ Detector │ │ Detector │ │
162
+ │ │ (4 patterns)│ │ (4 patterns)│ │ (4 patterns)│ │
163
+ │ └─────────────┘ └─────────────┘ └─────────────┘ │
164
+ │ │ │
165
+ │ ┌───────────────────────┐ │
166
+ │ │ Intervention Engine │ │
167
+ │ │ (Stop/Warn/Log) │ │
168
+ │ └───────────────────────┘ │
169
+ └─────────────────────────────────────────────────────┘
170
+ ```
171
+
172
+ ### Integration Options
173
+
174
+ 1. **Hook-Based** - Use Claude Code hooks to intercept agent actions
175
+ 2. **Side-Car** - Separate process monitors output file
176
+ 3. **Integrated Agent** - Claude agent runs via Task tool as observer
177
+
178
+ ---
179
+
180
+ ## Middle/Outer Loop Gaps
181
+
182
+ vibe-check currently focuses on inner loop. These patterns are documented but not detected:
183
+
184
+ ### Middle Loop (Hours-Days)
185
+
186
+ | Pattern | Detection Strategy | Effort |
187
+ |---------|-------------------|--------|
188
+ | **Eldritch Horror** | Static analysis (function line count) | Medium |
189
+ | **Agent Collision** | File lock detection | Medium |
190
+ | **Memory Decay** | Bundle/progress file checks | Low |
191
+ | **Deadlock** | Process state monitoring | High |
192
+
193
+ ### Outer Loop (Weeks-Months)
194
+
195
+ | Pattern | Detection Strategy | Effort |
196
+ |---------|-------------------|--------|
197
+ | **Bridge Torch** | API diff analysis | High |
198
+ | **Deletion** | Git diff pre-commit | Medium |
199
+ | **Gridlock** | GitHub API / queue analysis | Medium |
200
+ | **Stewnami** | feature-list.json analysis | Low |
201
+
202
+ ---
203
+
204
+ ## The Vibe Ecosystem
205
+
206
+ vibe-check is one layer in a three-layer system:
207
+
208
+ ```
209
+ BUILD → WORK → RUN
210
+
211
+ 12-Factor Agents → Vibe Coding → 12-Factor AgentOps
212
+ (HumanLayer) (Gene & Steve) (Operations)
213
+ ```
214
+
215
+ **Vibe Coding is the DevOps movement for AI.**
216
+ **12-Factor AgentOps is the SRE to their DevOps.**
217
+
218
+ ### Related Projects
219
+
220
+ | Project | Purpose | Integration |
221
+ |---------|---------|-------------|
222
+ | **12-Factor AgentOps** | Operational principles | Documents patterns vibe-check detects |
223
+ | **Beads** | Git-backed issue tracker | `/research → /plan → /implement` workflow |
224
+ | **Houston** | Agent harness | Uses vibe-check for session metrics |
225
+ | **Gusto** | Autonomous loop | Completion checking pattern |
226
+
227
+ ---
228
+
229
+ ## Improvement Opportunities
230
+
231
+ ### High Priority
232
+
233
+ | Feature | Value | Effort | Source |
234
+ |---------|-------|--------|--------|
235
+ | **Tracer Bullet Tracking** | Encourages proactive validation | 2h | Enhancement Plan |
236
+ | **Investigation Gap Detection** | Surfaces hidden debugging | 2-3h | Enhancement Plan |
237
+ | **Middle Loop: Eldritch Horror** | Function length analysis | 3h | Agent Concept |
238
+ | **Middle Loop: Stewnami** | WIP limit detection | 2h | Agent Concept |
239
+
240
+ ### Medium Priority
241
+
242
+ | Feature | Value | Effort | Source |
243
+ |---------|-------|--------|--------|
244
+ | **Domain Cohesion Score** | Architectural feedback | 3-4h | Enhancement Plan |
245
+ | **Agent Collision Detector** | Multi-agent safety | 4h | Agent Concept |
246
+ | **VS Code Extension** | Status bar, live alerts | 8-10h | VIBE-ECOSYSTEM.md |
247
+ | **Claude Code Plugin** | Native integration | 6h | Agent Concept |
248
+
249
+ ### Low Priority
250
+
251
+ | Feature | Value | Effort | Source |
252
+ |---------|-------|--------|--------|
253
+ | **Pre-Commit Verification** | Hook-based test tracking | 2-3h | Enhancement Plan |
254
+ | **Wall-Clock Sessions** | Explicit start/end tracking | 4-5h | Enhancement Plan |
255
+ | **Bridge Torch Detection** | API diff analysis | 8h | Agent Concept |
256
+ | **GitHub Action v2** | PR blocking on patterns | 4h | Existing |
257
+
258
+ ---
259
+
260
+ ## Constraints
261
+
262
+ | Constraint | Impact | Mitigation |
263
+ |------------|--------|------------|
264
+ | **Conventional commits required** | Full accuracy needs `type(scope): message` | Semantic-free metrics work without |
265
+ | **Git-only analysis** | Can't see wall-clock time | Session markers (proposed) |
266
+ | **Single-repo focus** | No cross-repo analysis | Future enhancement |
267
+ | **Node.js 20+ required** | ESM-only package | Document in README |
268
+
269
+ ---
270
+
271
+ ## Risks
272
+
273
+ | Risk | Likelihood | Impact | Mitigation |
274
+ |------|------------|--------|------------|
275
+ | **False positives in detection** | Medium | Medium | Calibration thresholds, user feedback |
276
+ | **Performance on large repos** | Low | Medium | Caching, incremental analysis |
277
+ | **User adoption** | Medium | High | Documentation, gamification |
278
+ | **Scope creep** | Medium | Medium | Stick to inner loop focus |
279
+
280
+ ---
281
+
282
+ ## Recommendation
283
+
284
+ **Approach:** Implement Enhancement Plan P1-P2, then explore agent integration
285
+
286
+ **Phases:**
287
+
288
+ 1. **Phase 1: Tracer Bullets + Investigation Gaps** (4-5h)
289
+ - Implement `src/metrics/tracers.ts`
290
+ - Implement `src/metrics/investigation.ts`
291
+ - Add to analyze output
292
+ - Update documentation
293
+
294
+ 2. **Phase 2: Middle Loop Basics** (5-6h)
295
+ - Implement Eldritch Horror detector (function line count)
296
+ - Implement Stewnami detector (WIP analysis)
297
+ - Add to audit command
298
+
299
+ 3. **Phase 3: Agent Integration** (6-8h)
300
+ - Create Claude Code plugin structure
301
+ - Implement Stop hook for validation
302
+ - Test with Gusto workflow
303
+
304
+ 4. **Phase 4: VS Code Extension** (8-10h)
305
+ - Status bar metrics
306
+ - Real-time spiral alerts
307
+ - Session controls
308
+
309
+ **Why:**
310
+ - Enhancement Plan is documented and ready
311
+ - Tracer bullets align with vibe-coding methodology
312
+ - Agent integration enables autonomous development validation
313
+ - VS Code extension increases adoption
314
+
315
+ **Alternatives Considered:**
316
+ 1. **Start with VS Code** - Rejected: Higher effort, lower immediate value
317
+ 2. **Full middle/outer loop** - Rejected: Scope creep, inner loop is the focus
318
+ 3. **Rebuild as Claude plugin only** - Rejected: CLI value should be preserved
319
+
320
+ ---
321
+
322
+ ## Next Steps
323
+
324
+ 1. Run `/plan` to create implementation plan for Phase 1
325
+ 2. Plan will create beads issues from this research
326
+ 3. Implement tracer bullet tracking first (highest value:effort ratio)
327
+
328
+ ---
329
+
330
+ ## Sources
331
+
332
+ ### Vault Documents
333
+ - `docs/ENHANCEMENT-PLAN.md` - Documented improvements (Dec 11)
334
+ - `docs/VIBE-ECOSYSTEM.md` - Ecosystem overview
335
+ - `.agents/research/2025-12-10-vibe-check-agent-concept.md` - Agent integration concept
336
+
337
+ ### Workspace Documents
338
+ - `work/houston/.agents/research/2025-12-10-vibe-coding-inner-loop.md` - Inner loop patterns
339
+ - `work/research/2025-12-09-vibe-check-algorithms.md` - Algorithm details
340
+ - `personal/12-factor-agentops/docs/explanation/vibe-coding-integration.md` - Ecosystem integration
341
+ - `work/gitops/docs/methodology/vibe-ecosystem/vibe-coding/README.md` - Methodology docs
342
+
343
+ ### External
344
+ - *Vibe Coding* (Gene Kim & Steve Yegge, IT Revolution Press, 2025)
345
+ - 12-Factor AgentOps framework
346
+ - Beads workflow system
347
+
348
+ ---
349
+
350
+ **Output:** .agents/research/2025-12-27-vibe-check-evolution.md
351
+
352
+ **Next:** /plan .agents/research/2025-12-27-vibe-check-evolution.md
@@ -1,7 +1,13 @@
1
1
  {
2
- "includeCoAuthoredBy": true,
2
+ "includeCoAuthoredBy": false,
3
+ "permissions": {
4
+ "allow": [
5
+ "mcp__smart-connections-work__lookup",
6
+ "mcp__smart-connections-personal__lookup"
7
+ ]
8
+ },
9
+ "enableAllProjectMcpServers": true,
3
10
  "enabledMcpjsonServers": [
4
11
  "context7"
5
- ],
6
- "enableAllProjectMcpServers": true
12
+ ]
7
13
  }
package/CHANGELOG.md CHANGED
@@ -7,6 +7,49 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.2.0] - 2025-12-27
11
+
12
+ ### Added
13
+
14
+ - **Enhanced Metrics** - Three new metrics for deeper insights into development habits
15
+ - **Tracer Bullet Ratio** - Measures proactive validation via `tracer:` or `tb:` commits
16
+ - Tracers before features = proactive validation (good!)
17
+ - Tracers before fixes = reactive debugging (too late!)
18
+ - Rating: ELITE >20% | HIGH >10% | MEDIUM >5% | LOW <5%
19
+ - **Investigation Gap Detection** - Surfaces hidden debugging time
20
+ - Detects gaps >15min followed by fix commits
21
+ - Shows total investigation time and longest gap
22
+ - Rating: ELITE 0min | HIGH <30min | MEDIUM <60min | LOW >60min
23
+ - **Domain Cohesion Score** - Measures how focused changes are
24
+ - Cohesive commits touch 1 domain
25
+ - Scattered commits touch 3+ domains
26
+ - Rating: ELITE >80% | HIGH >60% | MEDIUM >40% | LOW <40%
27
+
28
+ - **Eldritch Horror Detector** - Detects oversized functions in the `audit` command
29
+ - Functions >200 lines = warning
30
+ - Functions >500 lines = critical
31
+ - Supports TypeScript, JavaScript, Python, Go
32
+
33
+ - **Tracer Commit Type** - New `tracer` commit type recognized
34
+ - Use `tracer:` or `tb:` prefix for tracer bullet commits
35
+ - Example: `tracer(auth): validate OAuth token refresh flow`
36
+ - Tracers are counted separately from features/fixes
37
+
38
+ ### Changed
39
+
40
+ - Enhanced metrics are calculated when using `--score` flag
41
+ - Audit command now includes function-level analysis
42
+
43
+ ## [2.0.0] - 2025-12-15
44
+
45
+ ### Added
46
+ - **Audit Command** - `vibe-check audit` for static analysis of code messes (monoliths, test gaps, TODOs)
47
+
48
+ ### Changed
49
+ - **ESM Migration** - Package is now pure ESM (`type: module`). Requires Node.js 20+.
50
+ - **Dependencies** - Updated all dependencies to December 2025 latest versions.
51
+ - **Chalk v5** - Updated to `chalk` v5 (ESM only).
52
+
10
53
  ## [1.8.0] - 2025-12-05
11
54
 
12
55
  ### Added
package/CLAUDE.md CHANGED
@@ -1,29 +1,5 @@
1
1
  # vibe-check Development Guide
2
2
 
3
- ## Opus 4.5 Behavioral Standards
4
-
5
- <default_to_action>
6
- By default, implement changes rather than only suggesting them. If the user's intent is unclear, infer the most useful likely action and proceed, using tools to discover any missing details instead of guessing.
7
- </default_to_action>
8
-
9
- <use_parallel_tool_calls>
10
- When performing multiple independent operations (reading multiple files, running multiple checks), execute them in parallel rather than sequentially. Only sequence operations when one depends on another's output.
11
- </use_parallel_tool_calls>
12
-
13
- <investigate_before_answering>
14
- Before proposing code changes, read and understand the relevant files. Do not speculate about code you have not opened. Give grounded, hallucination-free answers based on actual code inspection.
15
- </investigate_before_answering>
16
-
17
- <avoid_overengineering>
18
- Only make changes that are directly requested or clearly necessary. Keep solutions simple and focused. Do not add features, refactor code, or make "improvements" beyond what was asked. Do not create helpers or abstractions for one-time operations.
19
- </avoid_overengineering>
20
-
21
- <communication_style>
22
- After completing tasks involving tool use, provide a brief summary of work done. When making significant changes, explain what was changed and why. Keep summaries concise but informative.
23
- </communication_style>
24
-
25
- ---
26
-
27
3
  ## npm Publishing Standards
28
4
 
29
5
  ### When to Publish
@@ -161,7 +137,10 @@ src/
161
137
  │ ├── file-churn.ts # File churn patterns
162
138
  │ ├── time-spiral.ts # Time-based spirals
163
139
  │ ├── velocity-anomaly.ts # Velocity anomaly detection
164
- └── code-stability.ts # Code stability metrics
140
+ ├── code-stability.ts # Code stability metrics
141
+ │ ├── tracers.ts # Tracer bullet ratio (v2.2.0)
142
+ │ ├── investigation.ts # Investigation gap detection (v2.2.0)
143
+ │ └── cohesion.ts # Domain cohesion score (v2.2.0)
165
144
  ├── gamification/
166
145
  │ ├── index.ts # Gamification exports
167
146
  │ ├── types.ts # XP, levels, achievements types
@@ -190,6 +169,11 @@ src/
190
169
  │ ├── context-amnesia.ts # Context Amnesia detector
191
170
  │ ├── instruction-drift.ts # Instruction Drift detector
192
171
  │ └── logging-only.ts # Debug Loop Spiral detector
172
+ ├── analyzers/
173
+ │ ├── audit.ts # Codebase audit (monoliths, test gaps, TODOs)
174
+ │ ├── eldritch.ts # Eldritch horror detector (oversized functions)
175
+ │ ├── modularity.ts # Module structure analysis
176
+ │ └── patterns.ts # Pattern analysis
193
177
  └── output/
194
178
  ├── index.ts # Output format router
195
179
  ├── terminal.ts # Colored terminal output
@@ -271,6 +255,24 @@ Shows your spiral history, patterns by frequency, what resolutions worked, and p
271
255
  | Debug Spiral Duration | Avg time in fix chains | <15m = Elite |
272
256
  | Flow Efficiency | % time building vs debugging | >90% = Elite |
273
257
 
258
+ ## Enhanced Metrics (v2.2.0)
259
+
260
+ Three additional metrics for deeper insight into development habits:
261
+
262
+ | Metric | Measures | Threshold |
263
+ |--------|----------|-----------|
264
+ | Tracer Bullet Ratio | % of tracer: commits | >20% = Elite |
265
+ | Investigation Time | Hidden debugging time (gaps before fixes) | 0min = Elite |
266
+ | Domain Cohesion | % single-domain commits | >80% = Elite |
267
+
268
+ **Tracer Bullets:** Use `tracer:` or `tb:` prefix for validation commits:
269
+ ```
270
+ tracer(auth): validate OAuth token refresh
271
+ tb(api): test streaming endpoint response
272
+ ```
273
+
274
+ Tracers before features = proactive. Tracers before fixes = reactive (too late!).
275
+
274
276
  ## Debug Spiral Detection
275
277
 
276
278
  A "debug spiral" is detected when 3+ consecutive fix commits target the same component. Patterns are categorized:
@@ -331,6 +333,179 @@ src/inner-loop/
331
333
  When critical inner loop failures are detected:
332
334
 
333
335
  ```
334
- 🚨 EMERGENCY PROTOCOL: Multiple inner loop failures detected.
336
+ EMERGENCY PROTOCOL: Multiple inner loop failures detected.
335
337
  STOP → git status → backup → start simple
336
338
  ```
339
+
340
+ ---
341
+
342
+ # Vibe-Coding Methodology
343
+
344
+ ---
345
+
346
+ ## The One Rule
347
+
348
+ > Reality does not match your model? **Update the model.**
349
+
350
+ Not the code. Not the tests. Not the plan. **The model in your head.**
351
+
352
+ ---
353
+
354
+ ## Opus 4.5 Behavioral Standards
355
+
356
+ <default_to_action>
357
+ When uncertain, act rather than asking for clarification. Make reasonable assumptions, implement, and verify. If wrong, adjust.
358
+ </default_to_action>
359
+
360
+ <use_parallel_tool_calls>
361
+ When multiple operations are independent (file reads, searches, API calls), batch them in a single response. Don't serialize what can parallelize.
362
+ </use_parallel_tool_calls>
363
+
364
+ <investigate_before_answering>
365
+ When you don't know something, investigate using available tools before saying you can't help. Read files, search code, check documentation.
366
+ </investigate_before_answering>
367
+
368
+ ---
369
+
370
+ ## Explicit Reasoning Protocol (L1-L3 Only)
371
+
372
+ For uncertain work, externalize predictions:
373
+
374
+ ```
375
+ DOING: [current action]
376
+ EXPECT: [predicted outcome]
377
+ IF WRONG: [planned adjustment]
378
+
379
+ RESULT: [actual outcome]
380
+ MATCHES: [yes/no]
381
+ THEREFORE: [continue/stop/pivot]
382
+ ```
383
+
384
+ ---
385
+
386
+ ## On Failure
387
+
388
+ When something fails, surface it immediately. Don't hide errors or pretend success:
389
+ - Show the actual error
390
+ - State what you expected
391
+ - Suggest the most likely cause
392
+ - Propose a fix or investigation path
393
+
394
+ ---
395
+
396
+ ## Vibe Levels (Trust Calibration)
397
+
398
+ | Level | Trust | Verify | Use For | Example |
399
+ |-------|-------|--------|---------|---------|
400
+ | **5** | 95% | Final only | Format, lint | Fix typo |
401
+ | **4** | 80% | Spot check | Boilerplate | Add CRUD endpoint |
402
+ | **3** | 60% | Key outputs | CRUD, tests | New feature |
403
+ | **2** | 40% | Every change | Features | Integration |
404
+ | **1** | 20% | Every line | Architecture | New system |
405
+ | **0** | 0% | N/A | Research | Exploration |
406
+
407
+ ---
408
+
409
+ ## The 5 Core Metrics
410
+
411
+ | Metric | Question | Target | Red Flag |
412
+ |--------|----------|--------|----------|
413
+ | **Iteration Velocity** | How tight are feedback loops? | >3/hour | <1/hour |
414
+ | **Rework Ratio** | Building or debugging? | <50% | >70% |
415
+ | **Trust Pass Rate** | Does code stick? | >80% | <60% |
416
+ | **Debug Spiral Duration** | How long stuck? | <30min | >60min |
417
+ | **Flow Efficiency** | What % productive? | >75% | <50% |
418
+
419
+ ---
420
+
421
+ ## The 12 Failure Patterns
422
+
423
+ ### Inner Loop (Seconds-Minutes)
424
+ 1. **Tests Passing Lie** - Tests pass but don't validate
425
+ 2. **Premature Abstraction** - Solving problems you don't have
426
+ 3. **Debug Loop Spiral** - Same fix failing repeatedly
427
+
428
+ ### Middle Loop (Hours-Days)
429
+ 4. **Plan-Reality Gap** - Plan doesn't match implementation
430
+ 5. **Scope Creep** - Features growing beyond plan
431
+ 6. **Bridge Torching** - Breaking backwards compatibility
432
+ 7. **Eldritch Horror Merge** - Massive PRs nobody can review
433
+
434
+ ### Outer Loop (Days-Weeks)
435
+ 8. **Context Amnesia** - Forgetting session insights
436
+ 9. **Instruction Drift** - Wandering from user intent
437
+ 10. **Memory Tattoo Decay** - Knowledge not persisted
438
+ 11. **Trust Erosion** - Repeated failures lower trust
439
+ 12. **Requirement Telephone** - Requirements mutating through layers
440
+
441
+ ---
442
+
443
+ ## The 10 Laws of an Agent
444
+
445
+ 1. **Reality First** - Reality != model? Update model.
446
+ 2. **Explicit Predictions** - State expected outcomes before acting.
447
+ 3. **Git Discipline** - Add files individually, semantic commits.
448
+ 4. **TDD with Tracers** - Validate assumptions before building.
449
+ 5. **Guide with Workflows** - Use /research, /plan, /implement.
450
+ 6. **Classify Vibe Level** - L0-L5 before each task.
451
+ 7. **Measure and Calibrate** - Track 5 metrics, adjust.
452
+ 8. **Session Protocol** - One feature focus per session.
453
+ 9. **Protect Feature Definitions** - Features are contracts.
454
+ 10. **Explicit Reasoning** - For L1-L3, externalize thinking.
455
+
456
+ ---
457
+
458
+ ## Autonomy Boundaries
459
+
460
+ **Proceed autonomously:**
461
+ - Implementing approved plans
462
+ - Running tests and fixing failures
463
+ - Reading files to understand context
464
+ - Making git commits with proper messages
465
+
466
+ **Punt to user:**
467
+ - Deleting user data
468
+ - Pushing to main/master
469
+ - Changing architectural decisions
470
+ - Spending money (API calls, services)
471
+ - Security-sensitive changes
472
+
473
+ ---
474
+
475
+ ## Context Window Discipline
476
+
477
+ **The 40% Rule:** Start planning handoff at 40% context usage.
478
+
479
+ | Context % | Action |
480
+ |-----------|--------|
481
+ | 0-20% | Deep work mode |
482
+ | 20-40% | Normal operation |
483
+ | 40-60% | Plan handoff, save state |
484
+ | 60-80% | Emergency save only |
485
+ | 80%+ | Stop, save, new session |
486
+
487
+ ---
488
+
489
+ ## Slash Commands (Reference)
490
+
491
+ | Command | Purpose | Token Budget |
492
+ |---------|---------|--------------|
493
+ | `/research` | Deep exploration | 40-60k |
494
+ | `/plan` | Precise specifications | 40-60k |
495
+ | `/implement` | Execute approved plan | 60-80k |
496
+ | `/bundle-save` | Compress findings | 500-1k output |
497
+ | `/bundle-load` | Resume context | Load bundle |
498
+ | `/retro` | Session retrospective | 5-10k |
499
+ | `/learn` | Extract patterns | 5-10k |
500
+
501
+ ---
502
+
503
+ ## Communication Standards
504
+
505
+ - **Direct:** State facts, skip hedging
506
+ - **Objective:** Focus on technical accuracy
507
+ - **Brief:** Context is expensive
508
+
509
+ ---
510
+
511
+ **Last Updated:** 2025-12-17