@humanbased/crosscheck 0.15.0-beta.145 → 0.15.0-beta.154

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 (56) hide show
  1. package/dist/__tests__/comment-bodies.test.js +17 -1
  2. package/dist/__tests__/comment-bodies.test.js.map +1 -1
  3. package/dist/__tests__/diagnose.test.js +25 -0
  4. package/dist/__tests__/diagnose.test.js.map +1 -1
  5. package/dist/__tests__/kickass.test.js +9 -1
  6. package/dist/__tests__/kickass.test.js.map +1 -1
  7. package/dist/__tests__/optimize.test.js +81 -1
  8. package/dist/__tests__/optimize.test.js.map +1 -1
  9. package/dist/__tests__/tips.test.d.ts +2 -0
  10. package/dist/__tests__/tips.test.d.ts.map +1 -0
  11. package/dist/__tests__/tips.test.js +44 -0
  12. package/dist/__tests__/tips.test.js.map +1 -0
  13. package/dist/__tests__/with-timeout-retry.test.d.ts +2 -0
  14. package/dist/__tests__/with-timeout-retry.test.d.ts.map +1 -0
  15. package/dist/__tests__/with-timeout-retry.test.js +113 -0
  16. package/dist/__tests__/with-timeout-retry.test.js.map +1 -0
  17. package/dist/commands/diagnose.d.ts +4 -0
  18. package/dist/commands/diagnose.d.ts.map +1 -1
  19. package/dist/commands/diagnose.js +26 -4
  20. package/dist/commands/diagnose.js.map +1 -1
  21. package/dist/commands/kickass.d.ts +14 -4
  22. package/dist/commands/kickass.d.ts.map +1 -1
  23. package/dist/commands/kickass.js +98 -7
  24. package/dist/commands/kickass.js.map +1 -1
  25. package/dist/commands/optimize.d.ts +16 -0
  26. package/dist/commands/optimize.d.ts.map +1 -1
  27. package/dist/commands/optimize.js +266 -60
  28. package/dist/commands/optimize.js.map +1 -1
  29. package/dist/lib/board.d.ts +1 -0
  30. package/dist/lib/board.d.ts.map +1 -1
  31. package/dist/lib/board.js +13 -0
  32. package/dist/lib/board.js.map +1 -1
  33. package/dist/lib/comment-bodies.d.ts +1 -0
  34. package/dist/lib/comment-bodies.d.ts.map +1 -1
  35. package/dist/lib/comment-bodies.js +10 -0
  36. package/dist/lib/comment-bodies.js.map +1 -1
  37. package/dist/lib/runner.d.ts.map +1 -1
  38. package/dist/lib/runner.js +13 -4
  39. package/dist/lib/runner.js.map +1 -1
  40. package/dist/lib/tips.d.ts +12 -0
  41. package/dist/lib/tips.d.ts.map +1 -0
  42. package/dist/lib/tips.js +31 -0
  43. package/dist/lib/tips.js.map +1 -0
  44. package/dist/lib/with-timeout-retry.d.ts +16 -0
  45. package/dist/lib/with-timeout-retry.d.ts.map +1 -0
  46. package/dist/lib/with-timeout-retry.js +49 -0
  47. package/dist/lib/with-timeout-retry.js.map +1 -0
  48. package/dist/reviewers/claude.d.ts +5 -1
  49. package/dist/reviewers/claude.d.ts.map +1 -1
  50. package/dist/reviewers/claude.js +17 -9
  51. package/dist/reviewers/claude.js.map +1 -1
  52. package/dist/reviewers/codex.d.ts +1 -1
  53. package/dist/reviewers/codex.d.ts.map +1 -1
  54. package/dist/reviewers/codex.js +16 -5
  55. package/dist/reviewers/codex.js.map +1 -1
  56. package/package.json +1 -1
@@ -2,16 +2,18 @@ import { readFileSync, writeFileSync, existsSync, mkdtempSync, rmSync, mkdirSync
2
2
  import { fileURLToPath } from 'url';
3
3
  import { dirname, join, resolve } from 'path';
4
4
  import { tmpdir, homedir } from 'os';
5
+ import { createInterface } from 'readline';
5
6
  import chalk from 'chalk';
6
7
  import { execa } from 'execa';
7
8
  import yaml from 'js-yaml';
8
- import { loadConfig } from '../config/loader.js';
9
+ import { loadConfig, resolveConfigPath } from '../config/loader.js';
9
10
  import { DEFAULT_REVIEW_INSTRUCTIONS } from '../lib/workflow.js';
10
11
  import { buildDiagnoseReport } from './diagnose.js';
11
12
  const __filename = fileURLToPath(import.meta.url);
12
13
  const __dirname = dirname(__filename);
13
14
  // dist/commands/ → ../../ = package root
14
15
  const PACKAGE_ROOT = resolve(__dirname, '..', '..');
16
+ const ANSI_RE = /\x1b\[[0-9;]*m/g;
15
17
  export function selectOptimizeAgent(config, report) {
16
18
  const enabled = [];
17
19
  if (config.vendors.claude.enabled)
@@ -35,6 +37,47 @@ export function selectOptimizeAgent(config, report) {
35
37
  }
36
38
  return { agent: 'claude', reason: 'default (both enabled, no data or equal rates)' };
37
39
  }
40
+ // Derives config-level changes directly from diagnose suggestions — no agent needed.
41
+ export function deriveConfigChanges(report, config) {
42
+ const changes = [];
43
+ const seen = new Set();
44
+ for (const s of report.suggestions) {
45
+ if (s.type !== 'config_change')
46
+ continue;
47
+ if (/timed? ?out/i.test(s.reason) && !seen.has('timeout_tier')) {
48
+ seen.add('timeout_tier');
49
+ const tier = config.quality.tier;
50
+ const lower = tier === 'thorough' ? 'balanced' : tier === 'balanced' ? 'fast' : null;
51
+ if (lower) {
52
+ changes.push({
53
+ target: 'config_field',
54
+ field: 'quality.tier',
55
+ label: 'quality.tier',
56
+ oldValue: tier,
57
+ newValue: lower,
58
+ reason: s.reason,
59
+ outcome: 'shorter per-review wall-clock; fewer hard timeout failures',
60
+ });
61
+ }
62
+ }
63
+ if (/budget/i.test(s.reason) && !seen.has('budget_cap')) {
64
+ seen.add('budget_cap');
65
+ const cur = config.budget.per_review_usd;
66
+ const next = Math.round(cur * 2 * 100) / 100;
67
+ changes.push({
68
+ target: 'config_field',
69
+ field: 'budget.per_review_usd',
70
+ label: 'budget.per_review_usd',
71
+ oldValue: String(cur),
72
+ newValue: String(next),
73
+ reason: s.reason,
74
+ outcome: 'reviews no longer cut off mid-run at the budget ceiling',
75
+ });
76
+ }
77
+ }
78
+ return changes;
79
+ }
80
+ // ── Helpers ───────────────────────────────────────────────────────────────────
38
81
  function findAgentMd(cwd) {
39
82
  const candidates = [
40
83
  join(cwd, 'AGENT.md'),
@@ -54,7 +97,6 @@ function unifiedDiff(oldText, newText) {
54
97
  const a = oldText.split('\n');
55
98
  const b = newText.split('\n');
56
99
  const m = a.length, n = b.length;
57
- // LCS via DP
58
100
  const dp = Array.from({ length: m + 1 }, () => new Array(n + 1).fill(0));
59
101
  for (let i = m - 1; i >= 0; i--)
60
102
  for (let j = n - 1; j >= 0; j--)
@@ -76,10 +118,46 @@ function unifiedDiff(oldText, newText) {
76
118
  i++;
77
119
  }
78
120
  }
79
- return lines.filter(l => !l.startsWith(' ')).length > 0
80
- ? lines.join('\n')
81
- : '';
121
+ return lines.filter(l => !l.startsWith(' ')).length > 0 ? lines.join('\n') : '';
122
+ }
123
+ function stripAnsi(s) {
124
+ return s.replace(ANSI_RE, '');
125
+ }
126
+ export function countInstructionDiffLines(diff) {
127
+ const plainLines = diff.split('\n').map(stripAnsi);
128
+ return {
129
+ additions: plainLines.filter(l => l.startsWith('+')).length,
130
+ deletions: plainLines.filter(l => l.startsWith('-')).length,
131
+ };
132
+ }
133
+ export function buildCodexOptimizeArgs(outputFile) {
134
+ return [
135
+ 'exec',
136
+ '--skip-git-repo-check',
137
+ '-o', outputFile,
138
+ 'Read OPTIMIZE_PROMPT.md carefully and produce the new instructions.md content. ' +
139
+ 'Output only the file content — no explanation, no markdown fences.',
140
+ ];
141
+ }
142
+ function setNestedPath(obj, path, value) {
143
+ const parts = path.split('.');
144
+ let cur = obj;
145
+ for (let i = 0; i < parts.length - 1; i++) {
146
+ if (typeof cur[parts[i]] !== 'object' || cur[parts[i]] === null)
147
+ cur[parts[i]] = {};
148
+ cur = cur[parts[i]];
149
+ }
150
+ cur[parts[parts.length - 1]] = value;
82
151
  }
152
+ function parseConfigValue(s) {
153
+ if (s === 'true')
154
+ return true;
155
+ if (s === 'false')
156
+ return false;
157
+ const n = Number(s);
158
+ return Number.isNaN(n) ? s : n;
159
+ }
160
+ // ── Agent runners ─────────────────────────────────────────────────────────────
83
161
  async function runWithClaude(prompt) {
84
162
  let result;
85
163
  try {
@@ -99,52 +177,107 @@ async function runWithClaude(prompt) {
99
177
  return (result.stdout ?? result.stderr ?? '').trim();
100
178
  }
101
179
  async function runWithCodex(prompt) {
102
- // codex is an agent runner — write the prompt as a file so it can read it,
103
- // avoiding shell argument length limits on large prompts.
180
+ // Write prompt as a file — avoids shell argument length limits on large prompts.
104
181
  const tmpDir = mkdtempSync(join(tmpdir(), 'crosscheck-optimize-'));
182
+ const outputFile = join(tmpDir, 'output.txt');
105
183
  try {
106
184
  writeFileSync(join(tmpDir, 'OPTIMIZE_PROMPT.md'), prompt);
107
- const result = await execa('codex', [
108
- '-q',
109
- 'Read OPTIMIZE_PROMPT.md carefully and produce the new instructions.md content. ' +
110
- 'Output only the file content — no explanation, no markdown fences.',
111
- ], {
185
+ await execa('codex', buildCodexOptimizeArgs(outputFile), {
112
186
  cwd: tmpDir,
113
187
  timeout: 180_000,
114
188
  env: { ...process.env },
115
189
  });
116
- return (result.stdout ?? '').trim();
190
+ if (existsSync(outputFile)) {
191
+ return readFileSync(outputFile, 'utf8').trim();
192
+ }
193
+ return '';
117
194
  }
118
195
  finally {
119
196
  rmSync(tmpDir, { recursive: true, force: true });
120
197
  }
121
198
  }
199
+ // Runs primary agent; on failure, retries with fallback if one is available.
200
+ async function runAgentWithFallback(primary, fallback, prompt) {
201
+ try {
202
+ const result = primary === 'claude' ? await runWithClaude(prompt) : await runWithCodex(prompt);
203
+ return { result, agent: primary };
204
+ }
205
+ catch (err) {
206
+ if (!fallback)
207
+ throw err;
208
+ const msg = err instanceof Error ? err.message : String(err);
209
+ console.log(chalk.yellow(` ⚠ ${primary} failed: ${msg.slice(0, 80)}`));
210
+ console.log(chalk.dim(` falling back to ${fallback}...`));
211
+ const result = fallback === 'claude' ? await runWithClaude(prompt) : await runWithCodex(prompt);
212
+ return { result, agent: fallback };
213
+ }
214
+ }
215
+ // ── Interactive confirmation ───────────────────────────────────────────────────
216
+ async function confirmChange(change, index, total, diff) {
217
+ return new Promise(resolve => {
218
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
219
+ console.log();
220
+ console.log(` ${chalk.bold(`[${index}/${total}]`)} ${chalk.cyan(change.label)}`);
221
+ if (change.target === 'config_field') {
222
+ console.log(` ${chalk.dim('from')} ${chalk.red(change.oldValue)}`);
223
+ console.log(` ${chalk.dim('to')} ${chalk.green(change.newValue)}`);
224
+ }
225
+ else {
226
+ // Show a compact diff preview (first 10 changed lines)
227
+ const changedLines = diff.split('\n').filter(l => l.startsWith('+') || l.startsWith('-'));
228
+ const preview = changedLines.slice(0, 10);
229
+ for (const l of preview)
230
+ console.log(` ${l}`);
231
+ if (changedLines.length > 10) {
232
+ console.log(chalk.dim(` … (${changedLines.length - 10} more changed lines)`));
233
+ }
234
+ }
235
+ console.log(` ${chalk.dim('reason')} ${change.reason}`);
236
+ console.log(` ${chalk.dim('outcome')} ${change.outcome}`);
237
+ console.log();
238
+ rl.question(' Apply? [y/N] ', answer => {
239
+ rl.close();
240
+ const a = answer.trim().toLowerCase();
241
+ resolve(a === 'y' || a === 'yes');
242
+ });
243
+ });
244
+ }
245
+ // ── Main command ──────────────────────────────────────────────────────────────
122
246
  export async function runOptimize(opts) {
123
247
  const config = loadConfig(opts.config);
124
248
  const cwd = process.cwd();
125
249
  // 1. Diagnose
126
250
  console.log(chalk.dim(' Running diagnose...'));
127
251
  const report = buildDiagnoseReport(opts.since);
128
- // 2. Select agent
129
- let selectedAgent;
252
+ // 2. Select primary agent and optional fallback
253
+ let primaryAgent;
130
254
  let agentReason;
255
+ let fallbackAgent;
131
256
  if (opts.agent === 'claude' || opts.agent === 'codex') {
132
- selectedAgent = opts.agent;
257
+ primaryAgent = opts.agent;
133
258
  agentReason = '--agent flag';
259
+ // No fallback when agent is explicitly chosen
134
260
  }
135
261
  else {
136
262
  try {
137
263
  const sel = selectOptimizeAgent(config, report);
138
- selectedAgent = sel.agent;
264
+ primaryAgent = sel.agent;
139
265
  agentReason = sel.reason;
140
266
  }
141
267
  catch (err) {
142
268
  console.error(chalk.red(`✗ ${err instanceof Error ? err.message : String(err)}`));
143
269
  process.exit(1);
144
270
  }
271
+ // Fallback: the other enabled vendor
272
+ const other = primaryAgent === 'claude' ? 'codex' : 'claude';
273
+ if (primaryAgent === 'claude' && config.vendors.codex.enabled)
274
+ fallbackAgent = other;
275
+ if (primaryAgent === 'codex' && config.vendors.claude.enabled)
276
+ fallbackAgent = other;
145
277
  }
146
- console.log(` agent ${chalk.cyan(selectedAgent)} ${chalk.dim(`(${agentReason})`)}`);
147
- // 3. Load AGENT.md and current instructions from workflow.yml review step
278
+ const fallbackSuffix = fallbackAgent ? chalk.dim(` → ${fallbackAgent} on failure`) : '';
279
+ console.log(` agent ${chalk.cyan(primaryAgent)} ${chalk.dim(`(${agentReason})`)}${fallbackSuffix}`);
280
+ // 3. Load AGENT.md and current workflow instructions
148
281
  let agentMd;
149
282
  try {
150
283
  agentMd = findAgentMd(cwd);
@@ -164,14 +297,14 @@ export async function runOptimize(opts) {
164
297
  const workflowSteps = Array.isArray(workflowRaw.steps)
165
298
  ? workflowRaw.steps
166
299
  : [];
167
- // Match by name first, then fall back to type so custom step names still work
168
300
  const reviewStepIdx = workflowSteps.findIndex(s => s.name === 'review' || s.type === 'review');
169
301
  const reviewStep = reviewStepIdx >= 0 ? workflowSteps[reviewStepIdx] : null;
170
302
  const currentInstructions = typeof reviewStep?.instructions === 'string'
171
303
  ? reviewStep.instructions
172
304
  : DEFAULT_REVIEW_INSTRUCTIONS;
173
- const instructionsPath = `${workflowPath} (review step)`;
174
- // 4. Build prompt
305
+ // 4. Derive rule-based config changes from diagnose suggestions
306
+ const configChanges = deriveConfigChanges(report, config);
307
+ // 5. Run AI agent (with fallback) to improve workflow instructions
175
308
  const prompt = [
176
309
  agentMd,
177
310
  '',
@@ -183,62 +316,135 @@ export async function runOptimize(opts) {
183
316
  JSON.stringify(report, null, 2),
184
317
  '```',
185
318
  '',
186
- `## Current ${instructionsPath}`,
319
+ `## Current review step instructions (${workflowPath})`,
187
320
  '',
188
321
  currentInstructions || '(empty)',
189
322
  ].join('\n');
190
- // 5. Run agent
191
- console.log(chalk.dim(` Asking ${selectedAgent} to optimize instructions...`));
323
+ console.log(chalk.dim(` Asking ${primaryAgent} to optimize instructions...`));
192
324
  let newInstructions;
325
+ let usedAgent;
193
326
  try {
194
- newInstructions = selectedAgent === 'claude'
195
- ? await runWithClaude(prompt)
196
- : await runWithCodex(prompt);
327
+ const r = await runAgentWithFallback(primaryAgent, fallbackAgent, prompt);
328
+ newInstructions = r.result;
329
+ usedAgent = r.agent;
197
330
  }
198
331
  catch (err) {
199
- console.error(chalk.red(`✗ ${selectedAgent} failed: ${err instanceof Error ? err.message : String(err)}`));
332
+ console.error(chalk.red(`✗ agent(s) failed: ${err instanceof Error ? err.message : String(err)}`));
200
333
  process.exit(1);
201
334
  }
335
+ if (usedAgent !== primaryAgent) {
336
+ console.log(chalk.dim(` used ${usedAgent} (fallback)`));
337
+ }
338
+ // 6. Build full list of proposed changes
202
339
  if (!newInstructions || newInstructions.length < 20) {
203
- console.error(chalk.red('✗ Agent returned empty or unusable output'));
340
+ console.error(chalk.red('✗ agent returned an unusable response (too short or empty) — cannot optimize instructions'));
204
341
  process.exit(1);
205
342
  }
206
- // 6. Diff
207
- const diff = unifiedDiff(currentInstructions, newInstructions);
208
- if (!diff) {
209
- console.log(chalk.green('\n ✓ Instructions are already optimal — no changes needed.'));
343
+ const instructionsDiff = unifiedDiff(currentInstructions, newInstructions);
344
+ const allChanges = [
345
+ ...configChanges,
346
+ ...(instructionsDiff ? [{
347
+ target: 'workflow_instructions',
348
+ label: 'review step instructions',
349
+ oldValue: currentInstructions,
350
+ newValue: newInstructions,
351
+ reason: `${report.errors.length} distinct error patterns across ${report.period.log_files} log files`,
352
+ outcome: 'more targeted instructions; fewer constraint-check failures',
353
+ }] : []),
354
+ ];
355
+ if (allChanges.length === 0) {
356
+ console.log(chalk.green('\n ✓ Everything looks optimal — no changes proposed.'));
210
357
  return;
211
358
  }
212
- console.log(chalk.bold(`\n diff ${instructionsPath}\n`));
213
- console.log(diff);
214
- console.log();
215
- // 7. Apply or exit
216
- const apply = opts.apply && !opts.dryRun;
217
- if (apply) {
218
- mkdirSync(dirname(workflowPath), { recursive: true });
219
- if (reviewStepIdx >= 0) {
220
- workflowSteps[reviewStepIdx] = { ...workflowSteps[reviewStepIdx], instructions: newInstructions };
221
- workflowRaw.steps = workflowSteps;
222
- writeFileSync(workflowPath, yaml.dump(workflowRaw, { lineWidth: -1, noRefs: true }));
223
- }
224
- else if (existsSync(workflowPath) && workflowSteps.length > 0) {
225
- // Existing workflow has no review-type step — append one to preserve all other steps
226
- workflowRaw.steps = [...workflowSteps, { name: 'review', type: 'review', reviewer: 'auto', max_rounds: 1, instructions: newInstructions }];
227
- writeFileSync(workflowPath, yaml.dump(workflowRaw, { lineWidth: -1, noRefs: true }));
359
+ // 7. Confirm and apply
360
+ const isInteractive = process.stdin.isTTY && !opts.apply && !opts.dryRun;
361
+ const accepted = [];
362
+ if (isInteractive) {
363
+ // Ask about each change individually
364
+ console.log(chalk.bold(`\n ${allChanges.length} change${allChanges.length !== 1 ? 's' : ''} proposed\n`));
365
+ for (let i = 0; i < allChanges.length; i++) {
366
+ const ch = allChanges[i];
367
+ const diff = ch.target === 'workflow_instructions' ? instructionsDiff : '';
368
+ const yes = await confirmChange(ch, i + 1, allChanges.length, diff);
369
+ if (yes)
370
+ accepted.push(ch);
371
+ }
372
+ }
373
+ else {
374
+ // Non-interactive: print summary
375
+ console.log(chalk.bold(`\n Proposed changes (${allChanges.length})\n`));
376
+ for (const ch of allChanges) {
377
+ if (ch.target === 'config_field') {
378
+ console.log(` ${chalk.cyan(ch.label.padEnd(28))} ${chalk.red(ch.oldValue)} → ${chalk.green(ch.newValue)}`);
379
+ }
380
+ else {
381
+ const { additions: adds, deletions: dels } = countInstructionDiffLines(instructionsDiff);
382
+ console.log(` ${chalk.cyan(ch.label.padEnd(28))} ${chalk.green(`+${adds}`)} ${chalk.red(`-${dels}`)} lines`);
383
+ }
384
+ console.log(` ${chalk.dim(ch.reason)}`);
385
+ }
386
+ console.log();
387
+ if (instructionsDiff) {
388
+ console.log(chalk.bold(' Instruction diff\n'));
389
+ console.log(instructionsDiff);
390
+ console.log();
391
+ }
392
+ if (opts.dryRun) {
393
+ console.log(chalk.dim(' Dry run — no changes written.'));
394
+ return;
395
+ }
396
+ if (opts.apply) {
397
+ accepted.push(...allChanges);
228
398
  }
229
399
  else {
230
- // No workflow.yml at all — write a minimal one
231
- const workflow = {
232
- on: ['opened', 'synchronize'],
233
- steps: [{ name: 'review', type: 'review', reviewer: 'auto', max_rounds: 1, instructions: newInstructions }],
234
- };
235
- writeFileSync(workflowPath, yaml.dump(workflow, { lineWidth: -1, noRefs: true }));
400
+ console.log(chalk.dim(' Run with --apply to accept all, or without any flags for interactive mode.'));
401
+ return;
236
402
  }
237
- console.log(chalk.green(` ✓ Written to ${workflowPath}`));
238
- console.log(chalk.dim(' Next reviews will use the updated instructions.'));
239
403
  }
240
- else {
241
- console.log(chalk.dim(` Run with --apply to write changes to ${instructionsPath}`));
404
+ if (accepted.length === 0) {
405
+ console.log(chalk.dim('\n No changes applied.'));
406
+ return;
407
+ }
408
+ // 8. Write accepted changes
409
+ const configPath = resolveConfigPath(opts.config) ?? join(homedir(), '.crosscheck', 'config.yml');
410
+ for (const ch of accepted) {
411
+ if (ch.target === 'config_field' && ch.field) {
412
+ let raw = {};
413
+ if (existsSync(configPath)) {
414
+ try {
415
+ raw = (yaml.load(readFileSync(configPath, 'utf8')) ?? {});
416
+ }
417
+ catch { /* start fresh */ }
418
+ }
419
+ setNestedPath(raw, ch.field, parseConfigValue(ch.newValue));
420
+ mkdirSync(dirname(configPath), { recursive: true });
421
+ writeFileSync(configPath, yaml.dump(raw, { lineWidth: -1, noRefs: true }));
422
+ console.log(chalk.green(` ✓ ${ch.label}: ${ch.oldValue} → ${ch.newValue}`) + chalk.dim(` (${configPath})`));
423
+ }
424
+ else if (ch.target === 'workflow_instructions') {
425
+ mkdirSync(dirname(workflowPath), { recursive: true });
426
+ if (reviewStepIdx >= 0) {
427
+ workflowSteps[reviewStepIdx] = { ...workflowSteps[reviewStepIdx], instructions: ch.newValue };
428
+ workflowRaw.steps = workflowSteps;
429
+ writeFileSync(workflowPath, yaml.dump(workflowRaw, { lineWidth: -1, noRefs: true }));
430
+ }
431
+ else if (existsSync(workflowPath) && workflowSteps.length > 0) {
432
+ workflowRaw.steps = [...workflowSteps, { name: 'review', type: 'review', reviewer: 'auto', max_rounds: 1, instructions: ch.newValue }];
433
+ writeFileSync(workflowPath, yaml.dump(workflowRaw, { lineWidth: -1, noRefs: true }));
434
+ }
435
+ else {
436
+ const workflow = {
437
+ on: ['opened', 'synchronize'],
438
+ steps: [{ name: 'review', type: 'review', reviewer: 'auto', max_rounds: 1, instructions: ch.newValue }],
439
+ };
440
+ writeFileSync(workflowPath, yaml.dump(workflow, { lineWidth: -1, noRefs: true }));
441
+ }
442
+ console.log(chalk.green(` ✓ review step instructions updated`) + chalk.dim(` (${workflowPath})`));
443
+ }
242
444
  }
445
+ const skipped = allChanges.length - accepted.length;
446
+ if (skipped > 0)
447
+ console.log(chalk.dim(` ${skipped} change${skipped !== 1 ? 's' : ''} skipped.`));
448
+ console.log(chalk.dim(' Next reviews will use the updated configuration.'));
243
449
  }
244
450
  //# sourceMappingURL=optimize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../src/commands/optimize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"optimize.js","sourceRoot":"","sources":["../../src/commands/optimize.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,7 @@ export declare class PRBoard {
66
66
  private render;
67
67
  private renderConfigPanel;
68
68
  private renderStatsPanel;
69
+ private renderTipLine;
69
70
  private renderPRWorkspace;
70
71
  private renderPRSlotFolded;
71
72
  private evictOverflow;
@@ -1 +1 @@
1
- {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"board.d.ts","sourceRoot":"","sources":["../../src/lib/board.ts"],"names":[],"mappings":"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"}
package/dist/lib/board.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import chalk from 'chalk';
2
+ import { selectTip } from './tips.js';
2
3
  // ── Constants ─────────────────────────────────────────────────────────────────
3
4
  const FRAMES = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
4
5
  const BAR_FILLED = '█';
@@ -553,8 +554,20 @@ export class PRBoard {
553
554
  // Connectivity log: already prefixed with timestamps + indent in logConnectivity()
554
555
  const activeConn = this.connLog.filter(l => l.trim());
555
556
  lines.push(...activeConn);
557
+ lines.push(this.renderTipLine());
556
558
  return lines;
557
559
  }
560
+ renderTipLine() {
561
+ const t = this.theme;
562
+ const tip = selectTip(this.stats.sessionStart);
563
+ const badge = tip.badge === 'new'
564
+ ? chalk.bold.cyanBright('new') + chalk.dim(' ')
565
+ : chalk.dim('tip ');
566
+ // Backtick-enclosed spans in accent colour; surrounding prose in dim
567
+ const parts = tip.text.split(/(`[^`]+`)/);
568
+ const formatted = parts.map(p => p.startsWith('`') ? t.accent(p) : t.dim(p)).join('');
569
+ return ` ${badge}${formatted}`;
570
+ }
558
571
  renderPRWorkspace() {
559
572
  const t = this.theme;
560
573
  const frame = FRAMES[this.frameIdx];