bmalph 2.7.6 → 2.7.7

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.
@@ -17,16 +17,120 @@ const BOX_CHARS = {
17
17
  const PROGRESS_FILLED = "\u2588";
18
18
  const PROGRESS_EMPTY = "\u2591";
19
19
  // eslint-disable-next-line no-control-regex
20
- const ANSI_PATTERN = /\x1B\[\d+m/g;
20
+ const ANSI_PATTERN = /\x1B\[[0-9;]*m/g;
21
+ // eslint-disable-next-line no-control-regex
22
+ const ANSI_PREFIX_PATTERN = /^\x1B\[[0-9;]*m/;
23
+ // eslint-disable-next-line no-control-regex
24
+ const VT_ESCAPE_PATTERN = /\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g;
25
+ // eslint-disable-next-line no-control-regex
26
+ const CONTROL_CHAR_PATTERN = /[\x00-\x08\x0B-\x1F\x7F]/g;
27
+ const DISPLAY_SEGMENTER = new Intl.Segmenter(undefined, { granularity: "grapheme" });
28
+ const COMBINING_MARK_PATTERN = /\p{Mark}/u;
29
+ const EMOJI_PATTERN = /\p{Extended_Pictographic}/u;
21
30
  function stripAnsi(str) {
22
31
  return str.replace(ANSI_PATTERN, "");
23
32
  }
33
+ function sanitizeExternalText(str) {
34
+ return str
35
+ .replace(VT_ESCAPE_PATTERN, "")
36
+ .replace(/\r\n?/g, " ")
37
+ .replace(/\n/g, " ")
38
+ .replace(/\t/g, " ")
39
+ .replace(CONTROL_CHAR_PATTERN, "");
40
+ }
41
+ function displayWidth(str) {
42
+ return Array.from(DISPLAY_SEGMENTER.segment(stripAnsi(str))).reduce((width, segment) => {
43
+ return width + graphemeDisplayWidth(segment.segment);
44
+ }, 0);
45
+ }
46
+ function graphemeDisplayWidth(grapheme) {
47
+ let width = 0;
48
+ for (const char of grapheme) {
49
+ const codePoint = char.codePointAt(0);
50
+ if (codePoint === undefined || isZeroWidthChar(char, codePoint)) {
51
+ continue;
52
+ }
53
+ if (EMOJI_PATTERN.test(char) || isWideCodePoint(codePoint)) {
54
+ return 2;
55
+ }
56
+ width = 1;
57
+ }
58
+ return width;
59
+ }
60
+ function isZeroWidthChar(char, codePoint) {
61
+ return (COMBINING_MARK_PATTERN.test(char) ||
62
+ codePoint === 0x200c ||
63
+ codePoint === 0x200d ||
64
+ isVariationSelector(codePoint));
65
+ }
66
+ function isVariationSelector(codePoint) {
67
+ return ((codePoint >= 0xfe00 && codePoint <= 0xfe0f) || (codePoint >= 0xe0100 && codePoint <= 0xe01ef));
68
+ }
69
+ function isWideCodePoint(codePoint) {
70
+ return (codePoint >= 0x1100 &&
71
+ (codePoint <= 0x115f ||
72
+ codePoint === 0x2329 ||
73
+ codePoint === 0x232a ||
74
+ (codePoint >= 0x2e80 && codePoint <= 0x3247 && codePoint !== 0x303f) ||
75
+ (codePoint >= 0x3250 && codePoint <= 0x4dbf) ||
76
+ (codePoint >= 0x4e00 && codePoint <= 0xa4c6) ||
77
+ (codePoint >= 0xa960 && codePoint <= 0xa97c) ||
78
+ (codePoint >= 0xac00 && codePoint <= 0xd7a3) ||
79
+ (codePoint >= 0xf900 && codePoint <= 0xfaff) ||
80
+ (codePoint >= 0xfe10 && codePoint <= 0xfe19) ||
81
+ (codePoint >= 0xfe30 && codePoint <= 0xfe6b) ||
82
+ (codePoint >= 0xff01 && codePoint <= 0xff60) ||
83
+ (codePoint >= 0xffe0 && codePoint <= 0xffe6) ||
84
+ (codePoint >= 0x1f300 && codePoint <= 0x1f64f) ||
85
+ (codePoint >= 0x1f900 && codePoint <= 0x1f9ff) ||
86
+ (codePoint >= 0x20000 && codePoint <= 0x3fffd)));
87
+ }
88
+ function truncateAnsi(str, len) {
89
+ if (len <= 0) {
90
+ return "";
91
+ }
92
+ if (displayWidth(str) <= len) {
93
+ return str;
94
+ }
95
+ let result = "";
96
+ let index = 0;
97
+ let visibleCount = 0;
98
+ let sawAnsi = false;
99
+ outer: while (index < str.length) {
100
+ const ansiMatch = str.slice(index).match(ANSI_PREFIX_PATTERN);
101
+ if (ansiMatch) {
102
+ result += ansiMatch[0];
103
+ index += ansiMatch[0].length;
104
+ sawAnsi = true;
105
+ continue;
106
+ }
107
+ const nextAnsiIndex = str.indexOf("\x1B", index);
108
+ const textChunk = nextAnsiIndex === -1 ? str.slice(index) : str.slice(index, nextAnsiIndex);
109
+ for (const segment of DISPLAY_SEGMENTER.segment(textChunk)) {
110
+ const width = graphemeDisplayWidth(segment.segment);
111
+ if (visibleCount + width > len) {
112
+ break outer;
113
+ }
114
+ result += segment.segment;
115
+ visibleCount += width;
116
+ }
117
+ index += textChunk.length;
118
+ }
119
+ if (sawAnsi) {
120
+ result += "\x1B[0m";
121
+ }
122
+ return result;
123
+ }
24
124
  export function padRight(str, len) {
25
- const visualLen = stripAnsi(str).length;
125
+ if (len <= 0) {
126
+ return "";
127
+ }
128
+ const fitted = truncateAnsi(str, len);
129
+ const visualLen = displayWidth(fitted);
26
130
  if (visualLen >= len) {
27
- return str;
131
+ return fitted;
28
132
  }
29
- return str + " ".repeat(len - visualLen);
133
+ return fitted + " ".repeat(len - visualLen);
30
134
  }
31
135
  export function progressBar(completed, total, width) {
32
136
  if (total <= 0) {
@@ -36,13 +140,12 @@ export function progressBar(completed, total, width) {
36
140
  const filled = Math.round(ratio * width);
37
141
  return chalk.green(PROGRESS_FILLED.repeat(filled)) + PROGRESS_EMPTY.repeat(width - filled);
38
142
  }
39
- export function formatSessionAge(createdAt) {
40
- const now = Date.now();
143
+ export function formatSessionAge(createdAt, referenceTime = Date.now()) {
41
144
  const start = new Date(createdAt).getTime();
42
145
  if (Number.isNaN(start)) {
43
146
  return "0m 0s";
44
147
  }
45
- const diffSeconds = Math.max(0, Math.floor((now - start) / 1000));
148
+ const diffSeconds = Math.max(0, Math.floor((referenceTime - start) / 1000));
46
149
  const hours = Math.floor(diffSeconds / 3600);
47
150
  const minutes = Math.floor((diffSeconds % 3600) / 60);
48
151
  const seconds = diffSeconds % 60;
@@ -78,31 +181,33 @@ function formatTime(date) {
78
181
  return `${h}:${m}:${s}`;
79
182
  }
80
183
  function extractTime(timestamp) {
81
- const timePart = timestamp.split(" ")[1];
82
- return timePart ?? formatTime(new Date(timestamp));
184
+ const safeTimestamp = sanitizeExternalText(timestamp);
185
+ const timePart = safeTimestamp.split(" ")[1];
186
+ return timePart ?? formatTime(new Date(safeTimestamp));
83
187
  }
84
188
  export function box(title, lines, cols) {
85
- const innerWidth = cols - 2;
86
- const titleStr = title ? `\u2500 ${title} ` : "";
189
+ const innerWidth = Math.max(0, cols - 2);
190
+ const titleStr = title ? truncateAnsi(`\u2500 ${title} `, innerWidth) : "";
87
191
  const topBorder = BOX_CHARS.topLeft +
88
192
  titleStr +
89
- BOX_CHARS.horizontal.repeat(Math.max(0, innerWidth - titleStr.length)) +
193
+ BOX_CHARS.horizontal.repeat(Math.max(0, innerWidth - displayWidth(titleStr))) +
90
194
  BOX_CHARS.topRight;
91
195
  const bottomBorder = BOX_CHARS.bottomLeft + BOX_CHARS.horizontal.repeat(innerWidth) + BOX_CHARS.bottomRight;
92
- const contentLines = lines.map((line) => BOX_CHARS.vertical + " " + padRight(line, innerWidth - 1) + BOX_CHARS.vertical);
196
+ const contentLines = lines.map((line) => BOX_CHARS.vertical + " " + padRight(line, Math.max(0, innerWidth - 1)) + BOX_CHARS.vertical);
93
197
  return [topBorder, ...contentLines, bottomBorder].join("\n");
94
198
  }
95
199
  export function renderHeader(cols) {
96
- const innerWidth = cols - 2;
97
- const title = "RALPH MONITOR";
98
- const padding = Math.max(0, Math.floor((innerWidth - title.length) / 2));
99
- const centeredTitle = " ".repeat(padding) + title + " ".repeat(innerWidth - padding - title.length);
200
+ const innerWidth = Math.max(0, cols - 2);
201
+ const title = truncateAnsi("RALPH MONITOR", innerWidth);
202
+ const titleLength = displayWidth(title);
203
+ const padding = Math.max(0, Math.floor((innerWidth - titleLength) / 2));
204
+ const centeredTitle = " ".repeat(padding) + title + " ".repeat(Math.max(0, innerWidth - padding - titleLength));
100
205
  const topBorder = BOX_CHARS.headerLeft + BOX_CHARS.headerHoriz.repeat(innerWidth) + BOX_CHARS.headerRight;
101
206
  const titleLine = BOX_CHARS.headerVert + chalk.bold(centeredTitle) + BOX_CHARS.headerVert;
102
207
  const bottomBorder = BOX_CHARS.headerBottom + BOX_CHARS.headerHoriz.repeat(innerWidth) + BOX_CHARS.headerBottomRight;
103
208
  return [topBorder, titleLine, bottomBorder].join("\n");
104
209
  }
105
- export function renderLoopPanel(loop, execution, session, cols) {
210
+ export function renderLoopPanel(loop, execution, session, cols, referenceTime = Date.now()) {
106
211
  if (loop === null) {
107
212
  return box("Loop Status", ["Status: waiting for data"], cols);
108
213
  }
@@ -110,29 +215,29 @@ export function renderLoopPanel(loop, execution, session, cols) {
110
215
  ? Math.round((loop.callsMadeThisHour / loop.maxCallsPerHour) * 100)
111
216
  : 0;
112
217
  const loopStr = `Loop: #${String(loop.loopCount)}`;
113
- const statusStr = `Status: ${formatStatus(loop.status)}`;
218
+ const statusStr = `Status: ${formatStatus(sanitizeExternalText(loop.status))}`;
114
219
  const apiStr = `API: ${String(loop.callsMadeThisHour)}/${String(loop.maxCallsPerHour)} (${String(apiPercent)}%)`;
115
220
  const line1 = `${padRight(loopStr, 17)}${padRight(statusStr, 21)}${apiStr}`;
116
- const sessionStr = session !== null ? `Session: ${formatSessionAge(session.createdAt)}` : "";
221
+ const sessionStr = session !== null ? `Session: ${formatSessionAge(session.createdAt, referenceTime)}` : "";
117
222
  const innerWidth = cols - 4;
118
223
  let line2;
119
224
  if (execution !== null) {
120
225
  const elapsedStr = formatElapsed(execution.elapsedSeconds);
121
- const executingStr = `${execution.indicator} executing (${elapsedStr})`;
122
- const sessionPad = Math.max(0, innerWidth - executingStr.length - sessionStr.length);
226
+ const safeIndicator = sanitizeExternalText(execution.indicator);
227
+ const executingStr = `${safeIndicator} executing (${elapsedStr})`;
228
+ const sessionPad = Math.max(0, innerWidth - displayWidth(executingStr) - displayWidth(sessionStr));
123
229
  line2 = `${executingStr}${" ".repeat(sessionPad)}${sessionStr}`;
124
230
  }
125
231
  else {
126
- const actionStr = `Action: ${loop.lastAction}`;
127
- const sessionPad = Math.max(0, innerWidth - actionStr.length - sessionStr.length);
232
+ const actionStr = `Action: ${sanitizeExternalText(loop.lastAction)}`;
233
+ const sessionPad = Math.max(0, innerWidth - displayWidth(actionStr) - displayWidth(sessionStr));
128
234
  line2 = `${actionStr}${" ".repeat(sessionPad)}${sessionStr}`;
129
235
  }
130
236
  const lines = [line1, line2];
131
237
  if (execution !== null && execution.lastOutput.length > 0) {
238
+ const safeOutput = sanitizeExternalText(execution.lastOutput);
132
239
  const maxOutputLen = Math.max(0, innerWidth - 2);
133
- const truncated = execution.lastOutput.length > maxOutputLen
134
- ? execution.lastOutput.slice(0, maxOutputLen)
135
- : execution.lastOutput;
240
+ const truncated = truncateAnsi(safeOutput, maxOutputLen);
136
241
  lines.push(chalk.dim(` ${truncated}`));
137
242
  }
138
243
  return box("Loop Status", lines, cols);
@@ -143,12 +248,12 @@ export function renderCircuitBreakerPanel(cb, cols) {
143
248
  return box("Circuit Breaker", ["N/A"], halfCols);
144
249
  }
145
250
  const lines = [
146
- `State: ${formatCBState(cb.state)}`,
251
+ `State: ${formatCBState(sanitizeExternalText(cb.state))}`,
147
252
  `No-progress: ${String(cb.consecutiveNoProgress)}`,
148
253
  `Opens: ${String(cb.totalOpens)}`,
149
254
  ];
150
255
  if (cb.state === "OPEN" && cb.reason) {
151
- lines.push(`Reason: ${cb.reason}`);
256
+ lines.push(`Reason: ${sanitizeExternalText(cb.reason)}`);
152
257
  }
153
258
  return box("Circuit Breaker", lines, halfCols);
154
259
  }
@@ -166,7 +271,7 @@ export function renderStoriesPanel(stories, cols) {
166
271
  `[${bar}]`,
167
272
  ];
168
273
  if (stories.nextStory !== null) {
169
- lines.push(`Next: ${stories.nextStory}`);
274
+ lines.push(`Next: ${sanitizeExternalText(stories.nextStory)}`);
170
275
  }
171
276
  return box("Stories", lines, halfCols);
172
277
  }
@@ -188,17 +293,23 @@ export function renderAnalysisPanel(analysis, cols) {
188
293
  return box("Last Analysis", ["N/A"], cols);
189
294
  }
190
295
  const yesNo = (v) => (v ? "yes" : "no");
191
- const line1 = [
192
- `Files: ${String(analysis.filesModified)}`,
193
- `Confidence: ${String(analysis.confidenceScore)}%`,
194
- `Test-only: ${yesNo(analysis.isTestOnly)}`,
195
- `Stuck: ${yesNo(analysis.isStuck)}`,
196
- ].join(" ");
197
- const line2 = [
198
- `Exit signal: ${yesNo(analysis.exitSignal)}`,
199
- `Permission denials: ${String(analysis.permissionDenialCount)}`,
200
- ].join(" ");
201
- return box("Last Analysis", [line1, line2], cols);
296
+ const lines = [
297
+ [
298
+ `Files: ${String(analysis.filesModified)}`,
299
+ `Confidence: ${String(analysis.confidenceScore)}%`,
300
+ ].join(" "),
301
+ [`Test-only: ${yesNo(analysis.isTestOnly)}`, `Stuck: ${yesNo(analysis.isStuck)}`].join(" "),
302
+ [
303
+ `Exit signal: ${yesNo(analysis.exitSignal)}`,
304
+ `Permission denials: ${String(analysis.permissionDenialCount)}`,
305
+ ].join(" "),
306
+ [
307
+ `Claimed tasks: ${String(analysis.tasksCompletedThisLoop)}`,
308
+ `Checkbox delta: ${String(analysis.fixPlanCompletedDelta)}`,
309
+ ].join(" "),
310
+ `Progress mismatch: ${yesNo(analysis.hasProgressTrackingMismatch)}`,
311
+ ];
312
+ return box("Last Analysis", lines, cols);
202
313
  }
203
314
  export function renderLogsPanel(logs, cols) {
204
315
  if (logs.length === 0) {
@@ -207,10 +318,11 @@ export function renderLogsPanel(logs, cols) {
207
318
  const innerWidth = cols - 4;
208
319
  const lines = logs.map((entry) => {
209
320
  const time = extractTime(entry.timestamp);
210
- const level = padRight(entry.level, 7);
321
+ const level = padRight(sanitizeExternalText(entry.level), 7);
211
322
  const prefix = `[${time}] ${level}`;
212
- const maxMsg = Math.max(0, innerWidth - prefix.length - 1);
213
- const msg = entry.message.length > maxMsg ? entry.message.slice(0, maxMsg) : entry.message;
323
+ const maxMsg = Math.max(0, innerWidth - displayWidth(prefix) - 1);
324
+ const safeMessage = sanitizeExternalText(entry.message);
325
+ const msg = truncateAnsi(safeMessage, maxMsg);
214
326
  return `${chalk.dim(`[${time}]`)} ${level} ${msg}`;
215
327
  });
216
328
  return box("Recent Activity", lines, cols);
@@ -221,16 +333,22 @@ export function renderLiveLogPanel(liveLog, cols) {
221
333
  }
222
334
  const innerWidth = cols - 4;
223
335
  const lines = liveLog.map((line) => {
224
- const trimmed = line.length > innerWidth ? line.slice(0, innerWidth) : line;
336
+ const safeLine = sanitizeExternalText(line);
337
+ const trimmed = truncateAnsi(safeLine, innerWidth);
225
338
  return chalk.dim(trimmed);
226
339
  });
227
340
  return box("Live Output", lines, cols);
228
341
  }
229
342
  export function renderFooter(lastUpdated, cols) {
230
- const left = chalk.dim("q quit");
231
- const right = `Updated: ${formatTime(lastUpdated)}`;
232
- const gap = Math.max(1, cols - "q quit".length - right.length);
233
- return ` ${left}${" ".repeat(gap - 1)}${chalk.dim(right)}`;
343
+ const leftText = "q quit";
344
+ const rightText = `Updated: ${formatTime(lastUpdated)}`;
345
+ const availableWidth = Math.max(0, cols - 1);
346
+ const minimumWidth = displayWidth(leftText) + 1 + displayWidth(rightText);
347
+ if (availableWidth < minimumWidth) {
348
+ return ` ${truncateAnsi(`${leftText} ${rightText}`, availableWidth)}`;
349
+ }
350
+ const gap = availableWidth - displayWidth(leftText) - displayWidth(rightText);
351
+ return ` ${chalk.dim(leftText)}${" ".repeat(gap)}${chalk.dim(rightText)}`;
234
352
  }
235
353
  function hasAnyData(state) {
236
354
  return (state.loop !== null ||
@@ -244,6 +362,7 @@ function hasAnyData(state) {
244
362
  }
245
363
  export function renderDashboard(state, cols) {
246
364
  const width = cols ?? process.stdout.columns ?? 80;
365
+ const referenceTime = state.lastUpdated.getTime();
247
366
  if (!hasAnyData(state)) {
248
367
  const lines = [];
249
368
  lines.push(renderHeader(width));
@@ -255,7 +374,7 @@ export function renderDashboard(state, cols) {
255
374
  }
256
375
  const sections = [];
257
376
  sections.push(renderHeader(width));
258
- sections.push(renderLoopPanel(state.loop, state.execution, state.session, width));
377
+ sections.push(renderLoopPanel(state.loop, state.execution, state.session, width, referenceTime));
259
378
  const leftPanel = renderCircuitBreakerPanel(state.circuitBreaker, width);
260
379
  const rightPanel = renderStoriesPanel(state.stories, width);
261
380
  sections.push(renderSideBySide(leftPanel, rightPanel, width));
@@ -265,6 +384,10 @@ export function renderDashboard(state, cols) {
265
384
  }
266
385
  sections.push(renderLogsPanel(state.recentLogs, width));
267
386
  sections.push(renderFooter(state.lastUpdated, width));
268
- return sections.join("\n");
387
+ return sections
388
+ .join("\n")
389
+ .split("\n")
390
+ .map((line) => truncateAnsi(line, width))
391
+ .join("\n");
269
392
  }
270
393
  //# sourceMappingURL=renderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/watch/renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../src/watch/renderer.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,11 @@ export async function readAnalysisInfo(projectDir) {
97
97
  const isTestOnly = typeof a.is_test_only === "boolean" ? a.is_test_only : false;
98
98
  const isStuck = typeof a.is_stuck === "boolean" ? a.is_stuck : false;
99
99
  const exitSignal = typeof a.exit_signal === "boolean" ? a.exit_signal : false;
100
+ const tasksCompletedThisLoop = typeof a.tasks_completed_this_loop === "number" ? a.tasks_completed_this_loop : 0;
101
+ const fixPlanCompletedDelta = typeof a.fix_plan_completed_delta === "number" ? a.fix_plan_completed_delta : 0;
102
+ const hasProgressTrackingMismatch = typeof a.has_progress_tracking_mismatch === "boolean"
103
+ ? a.has_progress_tracking_mismatch
104
+ : false;
100
105
  const hasPermissionDenials = typeof a.has_permission_denials === "boolean" ? a.has_permission_denials : false;
101
106
  const permissionDenialCount = typeof a.permission_denial_count === "number" ? a.permission_denial_count : 0;
102
107
  return {
@@ -105,6 +110,9 @@ export async function readAnalysisInfo(projectDir) {
105
110
  isTestOnly,
106
111
  isStuck,
107
112
  exitSignal,
113
+ tasksCompletedThisLoop,
114
+ fixPlanCompletedDelta,
115
+ hasProgressTrackingMismatch,
108
116
  hasPermissionDenials,
109
117
  permissionDenialCount,
110
118
  };
@@ -1 +1 @@
1
- {"version":3,"file":"state-reader.js","sourceRoot":"","sources":["../../src/watch/state-reader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state-reader.js","sourceRoot":"","sources":["../../src/watch/state-reader.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bmalph",
3
- "version": "2.7.6",
3
+ "version": "2.7.7",
4
4
  "description": "Unified AI Development Framework - BMAD phases with Ralph execution loop",
5
5
  "type": "module",
6
6
  "bin": {
@@ -60,8 +60,8 @@ Environment variables > Ralph config file > script defaults
60
60
  | `MAX_CALLS_PER_HOUR` | `100` | Rate limit for API calls |
61
61
  | `CLAUDE_TIMEOUT_MINUTES` | `15` | Timeout per loop driver invocation |
62
62
  | `CLAUDE_OUTPUT_FORMAT` | `json` | Output format (json or text) |
63
- | `ALLOWED_TOOLS` | `Write,Read,Edit,MultiEdit,Glob,Grep,Task,TodoWrite,WebFetch,WebSearch,NotebookEdit,Bash` | Claude Code only. Ignored by codex, cursor, and copilot |
64
- | `CLAUDE_PERMISSION_MODE` | `auto` | Claude Code only. Prevents interactive approval workflows from blocking unattended loops |
63
+ | `ALLOWED_TOOLS` | `Write,Read,Edit,MultiEdit,Glob,Grep,Task,TodoWrite,WebFetch,WebSearch,EnterPlanMode,ExitPlanMode,NotebookEdit,Bash` | Claude Code only. Ignored by codex, cursor, and copilot |
64
+ | `CLAUDE_PERMISSION_MODE` | `bypassPermissions` | Claude Code only. Prevents interactive approval workflows from blocking unattended loops without relying on beta headers |
65
65
  | `PERMISSION_DENIAL_MODE` | `continue` | How Ralph responds to permission denials: continue, halt, or threshold |
66
66
  | `SESSION_CONTINUITY` | `true` | Maintain context across loops |
67
67
  | `SESSION_EXPIRY_HOURS` | `24` | Session expiration time |
@@ -242,7 +242,7 @@ The coding agent should include this status block at the end of each response:
242
242
  ```
243
243
  ---RALPH_STATUS---
244
244
  STATUS: IN_PROGRESS | COMPLETE | BLOCKED
245
- TASKS_COMPLETED_THIS_LOOP: <number>
245
+ TASKS_COMPLETED_THIS_LOOP: 0 | 1
246
246
  FILES_MODIFIED: <number>
247
247
  TESTS_STATUS: PASSING | FAILING | NOT_RUN
248
248
  WORK_TYPE: IMPLEMENTATION | TESTING | DOCUMENTATION | REFACTORING
@@ -351,7 +351,7 @@ When using `--monitor` with `--live`, tmux creates a 3-pane layout:
351
351
 
352
352
  **Solutions:**
353
353
  1. For Claude Code, update `ALLOWED_TOOLS` in `.ralph/.ralphrc` to include needed tools
354
- 2. For Claude Code unattended loops, keep `CLAUDE_PERMISSION_MODE="auto"` in `.ralph/.ralphrc`
354
+ 2. For Claude Code unattended loops, keep `CLAUDE_PERMISSION_MODE="bypassPermissions"` in `.ralph/.ralphrc`
355
355
  3. For codex, cursor, and copilot, review the driver's native permission settings; `ALLOWED_TOOLS` is ignored
356
356
  4. If you want unattended behavior, keep `PERMISSION_DENIAL_MODE="continue"` in `.ralph/.ralphrc`
357
357
  5. Reset circuit breaker if needed: `bash .ralph/ralph_loop.sh --reset-circuit`
@@ -39,6 +39,8 @@ driver_valid_tools() {
39
39
  "WebFetch"
40
40
  "WebSearch"
41
41
  "AskUserQuestion"
42
+ "EnterPlanMode"
43
+ "ExitPlanMode"
42
44
  "Bash"
43
45
  "Bash(git *)"
44
46
  "Bash(npm *)"
@@ -54,7 +56,7 @@ driver_supports_tool_allowlist() {
54
56
  }
55
57
 
56
58
  driver_permission_denial_help() {
57
- echo " 1. Edit $RALPHRC_FILE and keep CLAUDE_PERMISSION_MODE=auto for unattended Claude Code loops"
59
+ echo " 1. Edit $RALPHRC_FILE and keep CLAUDE_PERMISSION_MODE=bypassPermissions for unattended Claude Code loops"
58
60
  echo " 2. If Claude was denied on an interactive approval step, ALLOWED_TOOLS will not fix it"
59
61
  echo " 3. If Claude was denied on a normal tool, update ALLOWED_TOOLS to include the required tools"
60
62
  echo " 4. Common ALLOWED_TOOLS patterns:"
@@ -79,7 +81,7 @@ driver_build_command() {
79
81
  local prompt_file=$1
80
82
  local loop_context=$2
81
83
  local session_id=$3
82
- local resolved_permission_mode="${CLAUDE_PERMISSION_MODE:-auto}"
84
+ local resolved_permission_mode="${CLAUDE_PERMISSION_MODE:-bypassPermissions}"
83
85
 
84
86
  # Note: We do NOT use --dangerously-skip-permissions here. Tool permissions
85
87
  # are controlled via --allowedTools from CLAUDE_ALLOWED_TOOLS in .ralphrc.
@@ -527,9 +527,17 @@ ${objectives_section}
527
527
  - ONE task per loop - focus on the most important thing
528
528
  - Search the codebase before assuming something isn't implemented
529
529
  - Write comprehensive tests with clear documentation
530
- - Update @fix_plan.md with your learnings
530
+ - Toggle completed story checkboxes in @fix_plan.md without rewriting story lines
531
531
  - Commit working changes with descriptive messages
532
532
 
533
+ ## Progress Tracking (CRITICAL)
534
+ - Ralph tracks progress by counting story checkboxes in @fix_plan.md
535
+ - When you complete a story, change \`- [ ]\` to \`- [x]\` on that exact story line
536
+ - Do NOT remove, rewrite, or reorder story lines in @fix_plan.md
537
+ - Update the checkbox before committing so the monitor updates immediately
538
+ - Set \`TASKS_COMPLETED_THIS_LOOP\` to the exact number of story checkboxes toggled this loop
539
+ - Only valid values: 0 or 1
540
+
533
541
  ## Testing Guidelines
534
542
  - LIMIT testing to ~20% of your total effort per loop
535
543
  - PRIORITIZE: Implementation > Documentation > Tests
@@ -545,7 +553,7 @@ At the end of your response, ALWAYS include this status block:
545
553
  \`\`\`
546
554
  ---RALPH_STATUS---
547
555
  STATUS: IN_PROGRESS | COMPLETE | BLOCKED
548
- TASKS_COMPLETED_THIS_LOOP: <number>
556
+ TASKS_COMPLETED_THIS_LOOP: 0 | 1
549
557
  FILES_MODIFIED: <number>
550
558
  TESTS_STATUS: PASSING | FAILING | NOT_RUN
551
559
  WORK_TYPE: IMPLEMENTATION | TESTING | DOCUMENTATION | REFACTORING