commitshow 0.1.7 → 0.1.9
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/dist/index.js +1 -1
- package/dist/lib/render.js +30 -6
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -5,7 +5,7 @@ import { status } from './commands/status.js';
|
|
|
5
5
|
import { login } from './commands/login.js';
|
|
6
6
|
import { whoami } from './commands/whoami.js';
|
|
7
7
|
import { c } from './lib/colors.js';
|
|
8
|
-
const VERSION = '0.1.
|
|
8
|
+
const VERSION = '0.1.9';
|
|
9
9
|
const USAGE = `
|
|
10
10
|
${c.bold(c.gold('commit.show'))} ${c.dim(`v${VERSION}`)} ${c.muted('—')} ${c.cream('audit any vibe-coded project from your terminal.')}
|
|
11
11
|
${c.muted('the')} ${c.gold('walk-on')} ${c.muted('lane: drop in, get scored, leave · no signup, no audition, no league entry.')}
|
package/dist/lib/render.js
CHANGED
|
@@ -103,11 +103,23 @@ export function renderAudit(view) {
|
|
|
103
103
|
const { project: p, snapshot, standing } = view;
|
|
104
104
|
// Walk-on vs league. Walk-on = preview status (anonymous CLI · not in
|
|
105
105
|
// a season). For walk-ons, Scout (0/30) and Community (low/20) are
|
|
106
|
-
// structurally absent — not evaluated zeros
|
|
107
|
-
//
|
|
106
|
+
// structurally absent — not evaluated zeros.
|
|
107
|
+
//
|
|
108
|
+
// We display Claude's calibrated score_total directly for walk-ons. The
|
|
109
|
+
// server prompt (rule 7 in analyze-project) tells Claude to score
|
|
110
|
+
// walk-ons assuming Scout+Comm absent, so score_total IS the walk-on
|
|
111
|
+
// score. This lets ecosystem signals (stars, npm reach), Production
|
|
112
|
+
// Maturity gaps (no tests / no CI), and double-counting safeguards
|
|
113
|
+
// shape the final number — none of which a deterministic /45
|
|
114
|
+
// normalization could capture.
|
|
115
|
+
//
|
|
116
|
+
// The /45 normalization (audit pillar excluding Brief slot) is still
|
|
117
|
+
// computed and exposed in JSON as `walk_on_audit_normalized` for agents
|
|
118
|
+
// that want a deterministic floor, but the user-facing big-digit uses
|
|
119
|
+
// the calibrated total.
|
|
120
|
+
const WALK_ON_AUDIT_MAX = 45;
|
|
108
121
|
const isWalkOn = p.status === 'preview';
|
|
109
|
-
const
|
|
110
|
-
const total = isWalkOn ? walkOnTotal : (p.score_total ?? 0);
|
|
122
|
+
const total = p.score_total ?? 0;
|
|
111
123
|
// Header
|
|
112
124
|
const lines = [];
|
|
113
125
|
lines.push(boxTop());
|
|
@@ -149,8 +161,12 @@ export function renderAudit(view) {
|
|
|
149
161
|
lines.push('');
|
|
150
162
|
// Axis bars · league shows all three; walk-on shows Audit only and
|
|
151
163
|
// surfaces Scout + Community as locked-with-unlock-hint rows.
|
|
164
|
+
// Walk-on Audit denominator is 45 (Brief slot excluded) so the math is
|
|
165
|
+
// visibly consistent with the big-digit normalization above.
|
|
152
166
|
const lockedBar = '─ audition unlocks ─'; // exactly 20 cells · matches scoreBar width
|
|
153
|
-
const
|
|
167
|
+
const auditDen = isWalkOn ? WALK_ON_AUDIT_MAX : 50;
|
|
168
|
+
const auditScoreClamp = Math.min(p.score_auto ?? 0, auditDen);
|
|
169
|
+
const auditLine = ` Audit ${pad(`${auditScoreClamp}/${auditDen}`, 7)} ${scoreBar(auditScoreClamp, auditDen)}`;
|
|
154
170
|
lines.push(' ' + auditLine);
|
|
155
171
|
if (isWalkOn) {
|
|
156
172
|
lines.push(' ' + ` Scout ${pad('—/30', 7)} ` + c.muted(lockedBar));
|
|
@@ -304,8 +320,15 @@ function asObjectArray(raw, take) {
|
|
|
304
320
|
}
|
|
305
321
|
export function toAgentShape(view) {
|
|
306
322
|
const { project: p, snapshot, standing } = view;
|
|
323
|
+
// Walk-on context fields. The user-facing score is Claude's calibrated
|
|
324
|
+
// total (score_total). `walk_on_audit_normalized` is the deterministic
|
|
325
|
+
// pillar-only fallback (Brief slot excluded · base /45).
|
|
326
|
+
const WALK_ON_AUDIT_MAX = 45;
|
|
307
327
|
const isWalkOn = p.status === 'preview';
|
|
308
|
-
const walkOnTotal = isWalkOn ?
|
|
328
|
+
const walkOnTotal = isWalkOn ? (p.score_total ?? 0) : null;
|
|
329
|
+
const walkOnAuditNormalized = isWalkOn
|
|
330
|
+
? Math.min(100, Math.round(((p.score_auto ?? 0) / WALK_ON_AUDIT_MAX) * 100))
|
|
331
|
+
: null;
|
|
309
332
|
return {
|
|
310
333
|
schema_version: '1',
|
|
311
334
|
generated_at: new Date().toISOString(),
|
|
@@ -332,6 +355,7 @@ export function toAgentShape(view) {
|
|
|
332
355
|
band: bandFor(p.score_total),
|
|
333
356
|
walk_on_total: walkOnTotal,
|
|
334
357
|
walk_on_band: walkOnTotal != null ? bandFor(walkOnTotal) : null,
|
|
358
|
+
walk_on_audit_normalized: walkOnAuditNormalized,
|
|
335
359
|
},
|
|
336
360
|
standing: standing
|
|
337
361
|
? {
|