commitshow 0.1.7 → 0.1.8

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 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.7';
8
+ const VERSION = '0.1.8';
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.')}
@@ -105,8 +105,14 @@ export function renderAudit(view) {
105
105
  // a season). For walk-ons, Scout (0/30) and Community (low/20) are
106
106
  // structurally absent — not evaluated zeros — so we surface the
107
107
  // Audit-only score normalized to /100 instead of summing pillars.
108
+ //
109
+ // Denominator = 45 (not 50): the +5 "Build Brief integrity" slot inside
110
+ // the Audit pillar is structurally inaccessible to walk-ons (the creator
111
+ // never reached the /submit form). Including it as 0/5 punishes them
112
+ // for a flow they never saw. /45 is the honest base.
113
+ const WALK_ON_AUDIT_MAX = 45;
108
114
  const isWalkOn = p.status === 'preview';
109
- const walkOnTotal = Math.round(((p.score_auto ?? 0) / 50) * 100);
115
+ const walkOnTotal = Math.min(100, Math.round(((p.score_auto ?? 0) / WALK_ON_AUDIT_MAX) * 100));
110
116
  const total = isWalkOn ? walkOnTotal : (p.score_total ?? 0);
111
117
  // Header
112
118
  const lines = [];
@@ -149,8 +155,12 @@ export function renderAudit(view) {
149
155
  lines.push('');
150
156
  // Axis bars · league shows all three; walk-on shows Audit only and
151
157
  // surfaces Scout + Community as locked-with-unlock-hint rows.
158
+ // Walk-on Audit denominator is 45 (Brief slot excluded) so the math is
159
+ // visibly consistent with the big-digit normalization above.
152
160
  const lockedBar = '─ audition unlocks ─'; // exactly 20 cells · matches scoreBar width
153
- const auditLine = ` Audit ${pad(`${p.score_auto}/50`, 7)} ${scoreBar(p.score_auto, 50)}`;
161
+ const auditDen = isWalkOn ? WALK_ON_AUDIT_MAX : 50;
162
+ const auditScoreClamp = Math.min(p.score_auto ?? 0, auditDen);
163
+ const auditLine = ` Audit ${pad(`${auditScoreClamp}/${auditDen}`, 7)} ${scoreBar(auditScoreClamp, auditDen)}`;
154
164
  lines.push(' ' + auditLine);
155
165
  if (isWalkOn) {
156
166
  lines.push(' ' + ` Scout ${pad('—/30', 7)} ` + c.muted(lockedBar));
@@ -304,8 +314,11 @@ function asObjectArray(raw, take) {
304
314
  }
305
315
  export function toAgentShape(view) {
306
316
  const { project: p, snapshot, standing } = view;
317
+ // /45 base — Brief Integrity slot (5pts) is inaccessible to walk-ons.
318
+ // See renderAudit for the same constant.
319
+ const WALK_ON_AUDIT_MAX = 45;
307
320
  const isWalkOn = p.status === 'preview';
308
- const walkOnTotal = isWalkOn ? Math.round(((p.score_auto ?? 0) / 50) * 100) : null;
321
+ const walkOnTotal = isWalkOn ? Math.min(100, Math.round(((p.score_auto ?? 0) / WALK_ON_AUDIT_MAX) * 100)) : null;
309
322
  return {
310
323
  schema_version: '1',
311
324
  generated_at: new Date().toISOString(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commitshow",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "description": "commit.show CLI — audit any vibe-coded project from your terminal.",
5
5
  "type": "module",
6
6
  "bin": {