@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.
- package/.agents/bundles/ml-learning-loop-complete-plan-2025-11-28.md +908 -0
- package/.agents/bundles/unified-vibe-system-plan-phase1-2025-11-28.md +962 -0
- package/.agents/bundles/unified-vibe-system-research-2025-11-28.md +1003 -0
- package/.agents/bundles/vibe-check-ecosystem-plan-2025-11-29.md +635 -0
- package/.agents/bundles/vibe-check-gamification-complete-2025-11-29.md +132 -0
- package/.agents/bundles/vibe-score-scientific-framework-2025-11-28.md +602 -0
- package/.vibe-check/calibration.json +38 -0
- package/.vibe-check/latest.json +114 -0
- package/CHANGELOG.md +46 -0
- package/CLAUDE.md +178 -0
- package/README.md +265 -63
- package/action.yml +270 -0
- package/dashboard/app.js +494 -0
- package/dashboard/index.html +235 -0
- package/dashboard/styles.css +647 -0
- package/dist/calibration/ece.d.ts +26 -0
- package/dist/calibration/ece.d.ts.map +1 -0
- package/dist/calibration/ece.js +93 -0
- package/dist/calibration/ece.js.map +1 -0
- package/dist/calibration/index.d.ts +3 -0
- package/dist/calibration/index.d.ts.map +1 -0
- package/dist/calibration/index.js +15 -0
- package/dist/calibration/index.js.map +1 -0
- package/dist/calibration/storage.d.ts +34 -0
- package/dist/calibration/storage.d.ts.map +1 -0
- package/dist/calibration/storage.js +188 -0
- package/dist/calibration/storage.js.map +1 -0
- package/dist/cli.js +30 -76
- package/dist/cli.js.map +1 -1
- package/dist/commands/analyze.d.ts +16 -0
- package/dist/commands/analyze.d.ts.map +1 -0
- package/dist/commands/analyze.js +256 -0
- package/dist/commands/analyze.js.map +1 -0
- package/dist/commands/index.d.ts +4 -0
- package/dist/commands/index.d.ts.map +1 -0
- package/dist/commands/index.js +11 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/level.d.ts +3 -0
- package/dist/commands/level.d.ts.map +1 -0
- package/dist/commands/level.js +277 -0
- package/dist/commands/level.js.map +1 -0
- package/dist/commands/profile.d.ts +4 -0
- package/dist/commands/profile.d.ts.map +1 -0
- package/dist/commands/profile.js +143 -0
- package/dist/commands/profile.js.map +1 -0
- package/dist/gamification/achievements.d.ts +15 -0
- package/dist/gamification/achievements.d.ts.map +1 -0
- package/dist/gamification/achievements.js +273 -0
- package/dist/gamification/achievements.js.map +1 -0
- package/dist/gamification/index.d.ts +8 -0
- package/dist/gamification/index.d.ts.map +1 -0
- package/dist/gamification/index.js +30 -0
- package/dist/gamification/index.js.map +1 -0
- package/dist/gamification/profile.d.ts +46 -0
- package/dist/gamification/profile.d.ts.map +1 -0
- package/dist/gamification/profile.js +272 -0
- package/dist/gamification/profile.js.map +1 -0
- package/dist/gamification/streaks.d.ts +26 -0
- package/dist/gamification/streaks.d.ts.map +1 -0
- package/dist/gamification/streaks.js +132 -0
- package/dist/gamification/streaks.js.map +1 -0
- package/dist/gamification/types.d.ts +111 -0
- package/dist/gamification/types.d.ts.map +1 -0
- package/dist/gamification/types.js +26 -0
- package/dist/gamification/types.js.map +1 -0
- package/dist/gamification/xp.d.ts +37 -0
- package/dist/gamification/xp.d.ts.map +1 -0
- package/dist/gamification/xp.js +115 -0
- package/dist/gamification/xp.js.map +1 -0
- package/dist/git.d.ts +11 -0
- package/dist/git.d.ts.map +1 -1
- package/dist/git.js +52 -0
- package/dist/git.js.map +1 -1
- package/dist/metrics/code-stability.d.ts +13 -0
- package/dist/metrics/code-stability.d.ts.map +1 -0
- package/dist/metrics/code-stability.js +74 -0
- package/dist/metrics/code-stability.js.map +1 -0
- package/dist/metrics/file-churn.d.ts +8 -0
- package/dist/metrics/file-churn.d.ts.map +1 -0
- package/dist/metrics/file-churn.js +75 -0
- package/dist/metrics/file-churn.js.map +1 -0
- package/dist/metrics/time-spiral.d.ts +8 -0
- package/dist/metrics/time-spiral.d.ts.map +1 -0
- package/dist/metrics/time-spiral.js +69 -0
- package/dist/metrics/time-spiral.js.map +1 -0
- package/dist/metrics/velocity-anomaly.d.ts +13 -0
- package/dist/metrics/velocity-anomaly.d.ts.map +1 -0
- package/dist/metrics/velocity-anomaly.js +67 -0
- package/dist/metrics/velocity-anomaly.js.map +1 -0
- package/dist/output/index.d.ts +6 -3
- package/dist/output/index.d.ts.map +1 -1
- package/dist/output/index.js +4 -3
- package/dist/output/index.js.map +1 -1
- package/dist/output/json.d.ts +2 -2
- package/dist/output/json.d.ts.map +1 -1
- package/dist/output/json.js +54 -0
- package/dist/output/json.js.map +1 -1
- package/dist/output/markdown.d.ts +2 -2
- package/dist/output/markdown.d.ts.map +1 -1
- package/dist/output/markdown.js +34 -1
- package/dist/output/markdown.js.map +1 -1
- package/dist/output/terminal.d.ts +6 -2
- package/dist/output/terminal.d.ts.map +1 -1
- package/dist/output/terminal.js +131 -3
- package/dist/output/terminal.js.map +1 -1
- package/dist/recommend/index.d.ts +3 -0
- package/dist/recommend/index.d.ts.map +1 -0
- package/dist/recommend/index.js +14 -0
- package/dist/recommend/index.js.map +1 -0
- package/dist/recommend/ordered-logistic.d.ts +49 -0
- package/dist/recommend/ordered-logistic.d.ts.map +1 -0
- package/dist/recommend/ordered-logistic.js +153 -0
- package/dist/recommend/ordered-logistic.js.map +1 -0
- package/dist/recommend/questions.d.ts +19 -0
- package/dist/recommend/questions.d.ts.map +1 -0
- package/dist/recommend/questions.js +73 -0
- package/dist/recommend/questions.js.map +1 -0
- package/dist/score/index.d.ts +21 -0
- package/dist/score/index.d.ts.map +1 -0
- package/dist/score/index.js +48 -0
- package/dist/score/index.js.map +1 -0
- package/dist/score/weights.d.ts +16 -0
- package/dist/score/weights.d.ts.map +1 -0
- package/dist/score/weights.js +28 -0
- package/dist/score/weights.js.map +1 -0
- package/dist/types.d.ts +83 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +10 -9
package/dist/output/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/output/index.ts"],"names":[],"mappings":";;;
|
|
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"}
|
package/dist/output/json.d.ts
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/output/json.js
CHANGED
|
@@ -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
|
package/dist/output/json.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/output/json.ts"],"names":[],"mappings":";;
|
|
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;
|
|
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"}
|
package/dist/output/markdown.js
CHANGED
|
@@ -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":";;
|
|
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;
|
|
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"}
|
package/dist/output/terminal.js
CHANGED
|
@@ -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 @@
|
|
|
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"}
|