@boshu2/vibe-check 1.0.1 → 1.1.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 (128) hide show
  1. package/.agents/bundles/ml-learning-loop-complete-plan-2025-11-28.md +908 -0
  2. package/.agents/bundles/unified-vibe-system-plan-phase1-2025-11-28.md +962 -0
  3. package/.agents/bundles/unified-vibe-system-research-2025-11-28.md +1003 -0
  4. package/.agents/bundles/vibe-check-ecosystem-plan-2025-11-29.md +635 -0
  5. package/.agents/bundles/vibe-check-gamification-complete-2025-11-29.md +132 -0
  6. package/.agents/bundles/vibe-score-scientific-framework-2025-11-28.md +602 -0
  7. package/.vibe-check/calibration.json +38 -0
  8. package/.vibe-check/latest.json +114 -0
  9. package/CHANGELOG.md +46 -0
  10. package/CLAUDE.md +178 -0
  11. package/README.md +265 -63
  12. package/action.yml +270 -0
  13. package/dashboard/app.js +494 -0
  14. package/dashboard/index.html +235 -0
  15. package/dashboard/styles.css +647 -0
  16. package/dist/calibration/ece.d.ts +26 -0
  17. package/dist/calibration/ece.d.ts.map +1 -0
  18. package/dist/calibration/ece.js +93 -0
  19. package/dist/calibration/ece.js.map +1 -0
  20. package/dist/calibration/index.d.ts +3 -0
  21. package/dist/calibration/index.d.ts.map +1 -0
  22. package/dist/calibration/index.js +15 -0
  23. package/dist/calibration/index.js.map +1 -0
  24. package/dist/calibration/storage.d.ts +34 -0
  25. package/dist/calibration/storage.d.ts.map +1 -0
  26. package/dist/calibration/storage.js +188 -0
  27. package/dist/calibration/storage.js.map +1 -0
  28. package/dist/cli.js +30 -76
  29. package/dist/cli.js.map +1 -1
  30. package/dist/commands/analyze.d.ts +16 -0
  31. package/dist/commands/analyze.d.ts.map +1 -0
  32. package/dist/commands/analyze.js +256 -0
  33. package/dist/commands/analyze.js.map +1 -0
  34. package/dist/commands/index.d.ts +4 -0
  35. package/dist/commands/index.d.ts.map +1 -0
  36. package/dist/commands/index.js +11 -0
  37. package/dist/commands/index.js.map +1 -0
  38. package/dist/commands/level.d.ts +3 -0
  39. package/dist/commands/level.d.ts.map +1 -0
  40. package/dist/commands/level.js +277 -0
  41. package/dist/commands/level.js.map +1 -0
  42. package/dist/commands/profile.d.ts +4 -0
  43. package/dist/commands/profile.d.ts.map +1 -0
  44. package/dist/commands/profile.js +143 -0
  45. package/dist/commands/profile.js.map +1 -0
  46. package/dist/gamification/achievements.d.ts +15 -0
  47. package/dist/gamification/achievements.d.ts.map +1 -0
  48. package/dist/gamification/achievements.js +273 -0
  49. package/dist/gamification/achievements.js.map +1 -0
  50. package/dist/gamification/index.d.ts +8 -0
  51. package/dist/gamification/index.d.ts.map +1 -0
  52. package/dist/gamification/index.js +30 -0
  53. package/dist/gamification/index.js.map +1 -0
  54. package/dist/gamification/profile.d.ts +46 -0
  55. package/dist/gamification/profile.d.ts.map +1 -0
  56. package/dist/gamification/profile.js +272 -0
  57. package/dist/gamification/profile.js.map +1 -0
  58. package/dist/gamification/streaks.d.ts +26 -0
  59. package/dist/gamification/streaks.d.ts.map +1 -0
  60. package/dist/gamification/streaks.js +132 -0
  61. package/dist/gamification/streaks.js.map +1 -0
  62. package/dist/gamification/types.d.ts +111 -0
  63. package/dist/gamification/types.d.ts.map +1 -0
  64. package/dist/gamification/types.js +26 -0
  65. package/dist/gamification/types.js.map +1 -0
  66. package/dist/gamification/xp.d.ts +37 -0
  67. package/dist/gamification/xp.d.ts.map +1 -0
  68. package/dist/gamification/xp.js +115 -0
  69. package/dist/gamification/xp.js.map +1 -0
  70. package/dist/git.d.ts +11 -0
  71. package/dist/git.d.ts.map +1 -1
  72. package/dist/git.js +52 -0
  73. package/dist/git.js.map +1 -1
  74. package/dist/metrics/code-stability.d.ts +13 -0
  75. package/dist/metrics/code-stability.d.ts.map +1 -0
  76. package/dist/metrics/code-stability.js +74 -0
  77. package/dist/metrics/code-stability.js.map +1 -0
  78. package/dist/metrics/file-churn.d.ts +8 -0
  79. package/dist/metrics/file-churn.d.ts.map +1 -0
  80. package/dist/metrics/file-churn.js +75 -0
  81. package/dist/metrics/file-churn.js.map +1 -0
  82. package/dist/metrics/time-spiral.d.ts +8 -0
  83. package/dist/metrics/time-spiral.d.ts.map +1 -0
  84. package/dist/metrics/time-spiral.js +69 -0
  85. package/dist/metrics/time-spiral.js.map +1 -0
  86. package/dist/metrics/velocity-anomaly.d.ts +13 -0
  87. package/dist/metrics/velocity-anomaly.d.ts.map +1 -0
  88. package/dist/metrics/velocity-anomaly.js +67 -0
  89. package/dist/metrics/velocity-anomaly.js.map +1 -0
  90. package/dist/output/index.d.ts +6 -3
  91. package/dist/output/index.d.ts.map +1 -1
  92. package/dist/output/index.js +4 -3
  93. package/dist/output/index.js.map +1 -1
  94. package/dist/output/json.d.ts +2 -2
  95. package/dist/output/json.d.ts.map +1 -1
  96. package/dist/output/json.js +54 -0
  97. package/dist/output/json.js.map +1 -1
  98. package/dist/output/markdown.d.ts +2 -2
  99. package/dist/output/markdown.d.ts.map +1 -1
  100. package/dist/output/markdown.js +34 -1
  101. package/dist/output/markdown.js.map +1 -1
  102. package/dist/output/terminal.d.ts +6 -2
  103. package/dist/output/terminal.d.ts.map +1 -1
  104. package/dist/output/terminal.js +131 -3
  105. package/dist/output/terminal.js.map +1 -1
  106. package/dist/recommend/index.d.ts +3 -0
  107. package/dist/recommend/index.d.ts.map +1 -0
  108. package/dist/recommend/index.js +14 -0
  109. package/dist/recommend/index.js.map +1 -0
  110. package/dist/recommend/ordered-logistic.d.ts +49 -0
  111. package/dist/recommend/ordered-logistic.d.ts.map +1 -0
  112. package/dist/recommend/ordered-logistic.js +153 -0
  113. package/dist/recommend/ordered-logistic.js.map +1 -0
  114. package/dist/recommend/questions.d.ts +19 -0
  115. package/dist/recommend/questions.d.ts.map +1 -0
  116. package/dist/recommend/questions.js +73 -0
  117. package/dist/recommend/questions.js.map +1 -0
  118. package/dist/score/index.d.ts +21 -0
  119. package/dist/score/index.d.ts.map +1 -0
  120. package/dist/score/index.js +48 -0
  121. package/dist/score/index.js.map +1 -0
  122. package/dist/score/weights.d.ts +16 -0
  123. package/dist/score/weights.d.ts.map +1 -0
  124. package/dist/score/weights.js +28 -0
  125. package/dist/score/weights.js.map +1 -0
  126. package/dist/types.d.ts +83 -0
  127. package/dist/types.d.ts.map +1 -1
  128. package/package.json +10 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;AAKA,oCAUC;AAdD,yCAA4C;AAC5C,iCAAoC;AACpC,yCAA4C;AAE5C,SAAgB,YAAY,CAAC,MAAuB,EAAE,MAAoB;IACxE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QAChC,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IAClC,CAAC;AACH,CAAC;AAED,uCAA4C;AAAnC,0GAAA,cAAc,OAAA;AACvB,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;AASA,oCAcC;AAtBD,yCAAkE;AAClE,iCAAoC;AACpC,yCAA4C;AAM5C,SAAgB,YAAY,CAC1B,MAA2C,EAC3C,MAAoB,EACpB,UAAyB,EAAE;IAE3B,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,OAAO,IAAA,iBAAU,EAAC,MAAM,CAAC,CAAC;QAC5B,KAAK,UAAU;YACb,OAAO,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;QAChC,KAAK,UAAU,CAAC;QAChB;YACE,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,+BAAoB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAc,EAAC,MAAM,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,uCAAkE;AAAzD,0GAAA,cAAc,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAC7C,+BAAoC;AAA3B,kGAAA,UAAU,OAAA;AACnB,uCAA4C;AAAnC,0GAAA,cAAc,OAAA"}
@@ -1,3 +1,3 @@
1
- import { VibeCheckResult } from '../types';
2
- export declare function formatJson(result: VibeCheckResult): string;
1
+ import { VibeCheckResult, VibeCheckResultV2 } from '../types';
2
+ export declare function formatJson(result: VibeCheckResult | VibeCheckResultV2): string;
3
3
  //# sourceMappingURL=json.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAgD1D"}
1
+ {"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAM9D,wBAAgB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,MAAM,CAoG9E"}
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatJson = formatJson;
4
+ function isV2Result(result) {
5
+ return 'semanticMetrics' in result;
6
+ }
4
7
  function formatJson(result) {
5
8
  // Create a JSON-friendly version with ISO date strings
6
9
  const output = {
@@ -47,6 +50,57 @@ function formatJson(result) {
47
50
  patterns: result.patterns,
48
51
  overall: result.overall,
49
52
  };
53
+ // Add v2 fields if present
54
+ if (isV2Result(result)) {
55
+ if (result.vibeScore) {
56
+ output.vibeScore = result.vibeScore;
57
+ }
58
+ if (result.recommendation) {
59
+ output.recommendation = {
60
+ level: result.recommendation.level,
61
+ confidence: result.recommendation.confidence,
62
+ probabilities: result.recommendation.probabilities,
63
+ ci: result.recommendation.ci,
64
+ };
65
+ }
66
+ if (result.semanticFreeMetrics) {
67
+ output.semanticFreeMetrics = {
68
+ fileChurn: {
69
+ value: result.semanticFreeMetrics.fileChurn.value,
70
+ unit: result.semanticFreeMetrics.fileChurn.unit,
71
+ rating: result.semanticFreeMetrics.fileChurn.rating,
72
+ description: result.semanticFreeMetrics.fileChurn.description,
73
+ churnedFiles: result.semanticFreeMetrics.fileChurn.churnedFiles,
74
+ totalFiles: result.semanticFreeMetrics.fileChurn.totalFiles,
75
+ },
76
+ timeSpiral: {
77
+ value: result.semanticFreeMetrics.timeSpiral.value,
78
+ unit: result.semanticFreeMetrics.timeSpiral.unit,
79
+ rating: result.semanticFreeMetrics.timeSpiral.rating,
80
+ description: result.semanticFreeMetrics.timeSpiral.description,
81
+ spiralCommits: result.semanticFreeMetrics.timeSpiral.spiralCommits,
82
+ totalCommits: result.semanticFreeMetrics.timeSpiral.totalCommits,
83
+ },
84
+ velocityAnomaly: {
85
+ value: result.semanticFreeMetrics.velocityAnomaly.value,
86
+ unit: result.semanticFreeMetrics.velocityAnomaly.unit,
87
+ rating: result.semanticFreeMetrics.velocityAnomaly.rating,
88
+ description: result.semanticFreeMetrics.velocityAnomaly.description,
89
+ currentVelocity: result.semanticFreeMetrics.velocityAnomaly.currentVelocity,
90
+ baselineMean: result.semanticFreeMetrics.velocityAnomaly.baselineMean,
91
+ zScore: result.semanticFreeMetrics.velocityAnomaly.zScore,
92
+ },
93
+ codeStability: {
94
+ value: result.semanticFreeMetrics.codeStability.value,
95
+ unit: result.semanticFreeMetrics.codeStability.unit,
96
+ rating: result.semanticFreeMetrics.codeStability.rating,
97
+ description: result.semanticFreeMetrics.codeStability.description,
98
+ linesAdded: result.semanticFreeMetrics.codeStability.linesAdded,
99
+ linesSurviving: result.semanticFreeMetrics.codeStability.linesSurviving,
100
+ },
101
+ };
102
+ }
103
+ }
50
104
  return JSON.stringify(output, null, 2);
51
105
  }
52
106
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":";;AAEA,gCAgDC;AAhDD,SAAgB,UAAU,CAAC,MAAuB;IAChD,uDAAuD;IACvD,MAAM,MAAM,GAAG;QACb,MAAM,EAAE;YACN,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACtC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,EAAE;YAClC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;SACvC;QACD,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE;YACP,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,KAAK;gBAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI;gBAC3C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM;aAChD;YACD,WAAW,EAAE;gBACX,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK;gBACvC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI;gBACrC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,MAAM;aAC1C;YACD,aAAa,EAAE;gBACb,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK;gBACzC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI;gBACvC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM;aAC5C;YACD,mBAAmB,EAAE;gBACnB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK;gBAC/C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI;gBAC7C,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,MAAM;aAClD;YACD,cAAc,EAAE;gBACd,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK;gBAC1C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI;gBACxC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM;aAC7C;SACF;QACD,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC1C,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;IAEF,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { VibeCheckResult } from '../types';
2
- export declare function formatMarkdown(result: VibeCheckResult): string;
1
+ import { VibeCheckResult, VibeCheckResultV2 } from '../types';
2
+ export declare function formatMarkdown(result: VibeCheckResult | VibeCheckResultV2): string;
3
3
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAG3C,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA2G9D"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAO9D,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,MAAM,CAgJlF"}
@@ -2,6 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.formatMarkdown = formatMarkdown;
4
4
  const date_fns_1 = require("date-fns");
5
+ function isV2Result(result) {
6
+ return 'semanticMetrics' in result;
7
+ }
5
8
  function formatMarkdown(result) {
6
9
  const lines = [];
7
10
  // Header
@@ -16,8 +19,20 @@ function formatMarkdown(result) {
16
19
  // Overall
17
20
  lines.push(`**Overall Rating:** ${result.overall}`);
18
21
  lines.push('');
22
+ // V2: VibeScore
23
+ if (isV2Result(result) && result.vibeScore) {
24
+ const pct = Math.round(result.vibeScore.value * 100);
25
+ lines.push(`**VibeScore:** ${pct}%`);
26
+ lines.push('');
27
+ }
28
+ // V2: Level Recommendation
29
+ if (isV2Result(result) && result.recommendation) {
30
+ const rec = result.recommendation;
31
+ lines.push(`**Recommended Level:** ${rec.level} (${Math.round(rec.confidence * 100)}% confidence, CI: [${rec.ci[0].toFixed(1)}, ${rec.ci[1].toFixed(1)}])`);
32
+ lines.push('');
33
+ }
19
34
  // Metrics table
20
- lines.push('## Metrics');
35
+ lines.push('## Semantic Metrics');
21
36
  lines.push('');
22
37
  lines.push('| Metric | Value | Rating | Description |');
23
38
  lines.push('|--------|-------|--------|-------------|');
@@ -33,6 +48,24 @@ function formatMarkdown(result) {
33
48
  lines.push(`| ${name} | ${metric.value}${metric.unit} | ${rating} | ${metric.description} |`);
34
49
  }
35
50
  lines.push('');
51
+ // V2: Semantic-free metrics table
52
+ if (isV2Result(result) && result.semanticFreeMetrics) {
53
+ lines.push('## Semantic-Free Metrics (v2.0)');
54
+ lines.push('');
55
+ lines.push('| Metric | Value | Rating | Description |');
56
+ lines.push('|--------|-------|--------|-------------|');
57
+ const sfMetrics = [
58
+ { name: 'File Churn', metric: result.semanticFreeMetrics.fileChurn },
59
+ { name: 'Time Spiral', metric: result.semanticFreeMetrics.timeSpiral },
60
+ { name: 'Velocity Anomaly', metric: result.semanticFreeMetrics.velocityAnomaly },
61
+ { name: 'Code Stability', metric: result.semanticFreeMetrics.codeStability },
62
+ ];
63
+ for (const { name, metric } of sfMetrics) {
64
+ const rating = metric.rating.toUpperCase();
65
+ lines.push(`| ${name} | ${metric.value}${metric.unit} | ${rating} | ${metric.description} |`);
66
+ }
67
+ lines.push('');
68
+ }
36
69
  // Debug spirals
37
70
  if (result.fixChains.length > 0) {
38
71
  lines.push('## Debug Spirals');
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/output/markdown.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,7 @@
1
- import { VibeCheckResult } from '../types';
2
- export declare function formatTerminal(result: VibeCheckResult): string;
1
+ import { VibeCheckResult, VibeCheckResultV2 } from '../types';
2
+ export declare function formatTerminal(result: VibeCheckResult | VibeCheckResultV2): string;
3
+ /**
4
+ * Simple/compact terminal output - just the essentials
5
+ */
6
+ export declare function formatTerminalSimple(result: VibeCheckResult | VibeCheckResultV2): string;
3
7
  //# sourceMappingURL=terminal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/output/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAyB,MAAM,UAAU,CAAC;AAGlE,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CA8E9D"}
1
+ {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../src/output/terminal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAyB,MAAM,UAAU,CAAC;AAOrF,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,MAAM,CA2KlF;AAoCD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,iBAAiB,GAAG,MAAM,CAqCxF"}
@@ -4,8 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.formatTerminal = formatTerminal;
7
+ exports.formatTerminalSimple = formatTerminalSimple;
7
8
  const chalk_1 = __importDefault(require("chalk"));
8
9
  const date_fns_1 = require("date-fns");
10
+ function isV2Result(result) {
11
+ return 'semanticMetrics' in result;
12
+ }
9
13
  function formatTerminal(result) {
10
14
  const lines = [];
11
15
  // Header
@@ -13,13 +17,15 @@ function formatTerminal(result) {
13
17
  lines.push(chalk_1.default.bold.cyan('='.repeat(64)));
14
18
  lines.push(chalk_1.default.bold.cyan(' VIBE-CHECK RESULTS'));
15
19
  lines.push(chalk_1.default.bold.cyan('='.repeat(64)));
16
- // Period info
20
+ // Period info - show commit range with context
17
21
  const fromStr = (0, date_fns_1.format)(result.period.from, 'MMM d, yyyy');
18
22
  const toStr = (0, date_fns_1.format)(result.period.to, 'MMM d, yyyy');
23
+ const daySpan = Math.ceil((result.period.to.getTime() - result.period.from.getTime()) / (1000 * 60 * 60 * 24));
24
+ const dayContext = daySpan <= 1 ? '' : ` over ${daySpan} days`;
19
25
  lines.push('');
20
- lines.push(chalk_1.default.gray(` Period: ${fromStr} - ${toStr} (${result.period.activeHours}h active)`));
26
+ lines.push(chalk_1.default.gray(` Period: ${fromStr} - ${toStr} (${result.period.activeHours}h active${dayContext})`));
21
27
  lines.push(chalk_1.default.gray(` Commits: ${result.commits.total} total (${result.commits.feat} feat, ${result.commits.fix} fix, ${result.commits.docs} docs, ${result.commits.other} other)`));
22
- // Metrics table
28
+ // Metrics table (semantic metrics)
23
29
  lines.push('');
24
30
  lines.push(chalk_1.default.bold.white(' METRIC VALUE RATING'));
25
31
  lines.push(chalk_1.default.gray(' ' + '-'.repeat(50)));
@@ -35,11 +41,82 @@ function formatTerminal(result) {
35
41
  const ratingStr = formatRating(metric.rating);
36
42
  lines.push(` ${name.padEnd(26)} ${valueStr} ${ratingStr}`);
37
43
  }
44
+ // V2: Code pattern metrics and VibeScore
45
+ if (isV2Result(result) && result.semanticFreeMetrics) {
46
+ lines.push('');
47
+ lines.push(chalk_1.default.bold.magenta(' CODE PATTERNS'));
48
+ lines.push(chalk_1.default.gray(' ' + '-'.repeat(50)));
49
+ const sfMetrics = [
50
+ { name: 'File Churn', metric: result.semanticFreeMetrics.fileChurn },
51
+ { name: 'Time Spiral', metric: result.semanticFreeMetrics.timeSpiral },
52
+ { name: 'Velocity Anomaly', metric: result.semanticFreeMetrics.velocityAnomaly },
53
+ { name: 'Code Stability', metric: result.semanticFreeMetrics.codeStability },
54
+ ];
55
+ for (const { name, metric } of sfMetrics) {
56
+ const valueStr = `${metric.value}${metric.unit}`.padEnd(10);
57
+ const ratingStr = formatRating(metric.rating);
58
+ lines.push(` ${name.padEnd(26)} ${valueStr} ${ratingStr}`);
59
+ }
60
+ if (result.vibeScore) {
61
+ lines.push('');
62
+ lines.push(chalk_1.default.bold.cyan(` VIBE SCORE: ${formatVibeScore(result.vibeScore.value)}`));
63
+ }
64
+ }
65
+ // V2: Level Recommendation
66
+ if (isV2Result(result) && result.recommendation) {
67
+ lines.push('');
68
+ lines.push(chalk_1.default.bold.yellow(' LEVEL RECOMMENDATION'));
69
+ lines.push(chalk_1.default.gray(' ' + '-'.repeat(50)));
70
+ const rec = result.recommendation;
71
+ const levelStr = `Level ${rec.level}`;
72
+ // Show confidence helpfully based on value
73
+ let confDisplay;
74
+ if (rec.confidence >= 0.6) {
75
+ confDisplay = chalk_1.default.green(`${Math.round(rec.confidence * 100)}% confidence`);
76
+ }
77
+ else if (rec.confidence >= 0.4) {
78
+ confDisplay = chalk_1.default.yellow(`${Math.round(rec.confidence * 100)}% confidence`);
79
+ }
80
+ else {
81
+ confDisplay = chalk_1.default.gray('needs more data');
82
+ }
83
+ lines.push(` ${chalk_1.default.bold(levelStr)} (${confDisplay})`);
84
+ }
38
85
  // Overall rating
39
86
  lines.push('');
40
87
  lines.push(chalk_1.default.bold.cyan('-'.repeat(64)));
41
88
  lines.push(` ${chalk_1.default.bold('OVERALL:')} ${formatOverallRating(result.overall)}`);
42
89
  lines.push(chalk_1.default.bold.cyan('-'.repeat(64)));
90
+ // Quick Summary: Top strength and area to improve
91
+ const metricsList = [
92
+ { name: 'Iteration Velocity', metric: result.metrics.iterationVelocity, tip: 'Ship smaller increments more frequently' },
93
+ { name: 'Rework Ratio', metric: result.metrics.reworkRatio, tip: 'Use tracer tests before complex features' },
94
+ { name: 'Trust Pass Rate', metric: result.metrics.trustPassRate, tip: 'Review AI output more carefully before committing' },
95
+ { name: 'Debug Spiral Duration', metric: result.metrics.debugSpiralDuration, tip: 'Stop and write a test when stuck >15min' },
96
+ { name: 'Flow Efficiency', metric: result.metrics.flowEfficiency, tip: 'Reduce context switching, batch similar tasks' },
97
+ ];
98
+ const ratingOrder = ['elite', 'high', 'medium', 'low'];
99
+ const sorted = [...metricsList].sort((a, b) => ratingOrder.indexOf(a.metric.rating) - ratingOrder.indexOf(b.metric.rating));
100
+ const topStrength = sorted[0];
101
+ const topIssue = sorted[sorted.length - 1];
102
+ // Only show summary if there's variation
103
+ if (topStrength.metric.rating !== topIssue.metric.rating) {
104
+ lines.push('');
105
+ lines.push(chalk_1.default.green(` ✓ Strength: ${topStrength.name} (${topStrength.metric.rating.toUpperCase()})`));
106
+ if (topIssue.metric.rating === 'low' || topIssue.metric.rating === 'medium') {
107
+ lines.push(chalk_1.default.yellow(` → Focus: ${topIssue.name} (${topIssue.metric.rating.toUpperCase()})`));
108
+ }
109
+ }
110
+ // Opportunities section - actionable recommendations for low/medium metrics
111
+ const opportunities = metricsList.filter(m => m.metric.rating === 'low' || m.metric.rating === 'medium');
112
+ if (opportunities.length > 0) {
113
+ lines.push('');
114
+ lines.push(chalk_1.default.bold.yellow(' 💡 OPPORTUNITIES'));
115
+ for (const opp of opportunities.slice(0, 3)) { // Max 3
116
+ const icon = opp.metric.rating === 'low' ? '🔴' : '🟡';
117
+ lines.push(chalk_1.default.yellow(` ${icon} ${opp.name}: ${opp.tip}`));
118
+ }
119
+ }
43
120
  // Debug spirals
44
121
  if (result.fixChains.length > 0) {
45
122
  lines.push('');
@@ -87,4 +164,55 @@ function formatOverallRating(rating) {
87
164
  return chalk_1.default.red.bold('LOW');
88
165
  }
89
166
  }
167
+ function formatVibeScore(score) {
168
+ const pct = Math.round(score * 100);
169
+ if (score >= 0.85)
170
+ return chalk_1.default.green.bold(`${pct}%`);
171
+ if (score >= 0.70)
172
+ return chalk_1.default.blue.bold(`${pct}%`);
173
+ if (score >= 0.50)
174
+ return chalk_1.default.yellow.bold(`${pct}%`);
175
+ return chalk_1.default.red.bold(`${pct}%`);
176
+ }
177
+ /**
178
+ * Simple/compact terminal output - just the essentials
179
+ */
180
+ function formatTerminalSimple(result) {
181
+ const lines = [];
182
+ // One-line summary
183
+ const fromStr = (0, date_fns_1.format)(result.period.from, 'MMM d');
184
+ const toStr = (0, date_fns_1.format)(result.period.to, 'MMM d');
185
+ const overallColor = getOverallColor(result.overall);
186
+ lines.push('');
187
+ lines.push(chalk_1.default.bold.cyan('VIBE-CHECK') + chalk_1.default.gray(` ${fromStr} - ${toStr}`));
188
+ lines.push('');
189
+ // Overall rating - the main info
190
+ lines.push(` ${chalk_1.default.bold('Rating:')} ${overallColor(result.overall)}`);
191
+ // Key metrics on one line each
192
+ const trust = result.metrics.trustPassRate;
193
+ const rework = result.metrics.reworkRatio;
194
+ lines.push(` ${chalk_1.default.bold('Trust:')} ${trust.value}${trust.unit} ${formatRating(trust.rating)}`);
195
+ lines.push(` ${chalk_1.default.bold('Rework:')} ${rework.value}${rework.unit} ${formatRating(rework.rating)}`);
196
+ // VibeScore if available
197
+ if (isV2Result(result) && result.vibeScore) {
198
+ lines.push(` ${chalk_1.default.bold('Score:')} ${formatVibeScore(result.vibeScore.value)}`);
199
+ }
200
+ // Spirals - only if any detected
201
+ if (result.fixChains.length > 0) {
202
+ lines.push('');
203
+ lines.push(chalk_1.default.yellow(` ⚠ ${result.fixChains.length} debug spiral${result.fixChains.length > 1 ? 's' : ''} detected`));
204
+ }
205
+ lines.push('');
206
+ lines.push(chalk_1.default.gray(` Run without --simple for full details`));
207
+ lines.push('');
208
+ return lines.join('\n');
209
+ }
210
+ function getOverallColor(rating) {
211
+ switch (rating) {
212
+ case 'ELITE': return chalk_1.default.green.bold;
213
+ case 'HIGH': return chalk_1.default.blue.bold;
214
+ case 'MEDIUM': return chalk_1.default.yellow.bold;
215
+ case 'LOW': return chalk_1.default.red.bold;
216
+ }
217
+ }
90
218
  //# sourceMappingURL=terminal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/output/terminal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../src/output/terminal.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,14 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,49 @@
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
@@ -0,0 +1 @@
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"}