@neriros/ralphy 3.0.0 → 3.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.
Files changed (3) hide show
  1. package/README.md +29 -0
  2. package/dist/shell/index.js +24509 -1573
  3. package/package.json +3 -2
package/README.md CHANGED
@@ -250,6 +250,35 @@ Done issues whose PR `gh pr view --json mergeable` reports as `CONFLICTING` get
250
250
  | `ignoreCiChecks` | Array of check names to ignore when computing pass/fail. |
251
251
  | `codeReviewTrigger` / `--code-review` | See [Code-review iteration](#code-review-iteration). |
252
252
 
253
+ ### Pre-existing error check
254
+
255
+ Opt-in gate that protects the agent from chasing failures it cannot fix. When
256
+ enabled (config `preExistingErrorCheck.enabled: true` or `--pre-existing-error-check`),
257
+ on every poll tick Ralph runs the configured commands against the base branch
258
+ HEAD. If any command fails:
259
+
260
+ 1. A Linear issue is created with the failing command, exit code, and truncated
261
+ output (fingerprint embedded in the body so re-runs with the same failure
262
+ don't open duplicates).
263
+ 2. The coordinator pauses — new fresh/resume/conflict-fix/review pickups are
264
+ blocked until the trunk is green again. **In-flight workers are not killed.**
265
+ 3. The dashboard shows a red `⛔ BASELINE BROKEN <LIN-ID> · <duration>` banner.
266
+
267
+ When the baseline goes green (the human merged the fix), the next poll lifts
268
+ the pause automatically.
269
+
270
+ ```jsonc
271
+ {
272
+ "preExistingErrorCheck": {
273
+ "enabled": false,
274
+ "commands": ["bun run lint", "bun run test"], // falls back to commands.lint + commands.test when empty
275
+ "baseBranch": "main",
276
+ "label": "ralph:pre-existing-error",
277
+ "outputCharLimit": 4000,
278
+ },
279
+ }
280
+ ```
281
+
253
282
  ### Worktrees, setup, teardown
254
283
 
255
284
  With `useWorktree: true` (or `--worktree`) each task runs in an isolated worktree at `~/.ralph/<project>/worktrees/<change-name>` checked out onto a fresh `ralph/<change-name>` branch. Concurrent workers can't stomp on each other, and the worker's cwd _is_ the worktree.