@neriros/ralphy 3.8.10 β†’ 3.8.11

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/README.md CHANGED
@@ -9,6 +9,50 @@ An iterative AI task execution framework. Ralphy runs Claude or Codex in a check
9
9
 
10
10
  > πŸ“˜ Full reference β€” Linear indicators, lifecycle, PR/CI flow, CLI flags, MCP β€” lives in **[GUIDE.md](./GUIDE.md)**.
11
11
 
12
+ ## Features
13
+
14
+ **Loop**
15
+
16
+ - **Checklist-driven** β€” one unchecked task per iteration; state persists on disk so any run can be resumed.
17
+ - **Engine choice** β€” Claude (haiku / sonnet / opus) or Codex, swappable per task.
18
+ - **Safeguards** β€” `--max-iterations`, `--max-cost`, `--max-runtime`, `--max-failures` cap any runaway run.
19
+ - **OpenSpec layout** β€” `proposal.md` (steering) + `design.md` + `tasks.md` + `specs/` per change.
20
+
21
+ **Agent mode (Linear-driven)**
22
+
23
+ - **Linear polling** β€” picks up Todo tickets, resumes In Progress, re-runs reviewer-flagged Done.
24
+ - **Indicators** β€” declarative `WORKFLOW.md` map for "which labels/statuses to watch and apply" at each lifecycle event.
25
+ - **Worktrees** β€” every task runs in its own `git worktree` so concurrent workers can't stomp on each other.
26
+ - **Confirmation gate** β€” optional human approval step between `tasks` and `implement`; revise via `@ralphy revise: <why>`.
27
+ - **Self-review phase** β€” once tasks are checked off, an in-process reviewer can append more work for another round.
28
+ - **Tmux session management** β€” `ralphy agent` re-execs into a managed tmux session so detaching the terminal doesn't kill the loop.
29
+ - **Pre-existing error check** β€” pauses pickups when the trunk is red so the agent doesn't chase failures it didn't cause.
30
+
31
+ **PR + CI**
32
+
33
+ - **Auto PR open** β€” push branch and `gh pr create` on clean exit; idempotent (surfaces existing PR if open).
34
+ - **Auto-merge opt-in** β€” `getAutoMerge` triggers `gh pr merge --auto --squash|merge|rebase` right after PR creation.
35
+ - **Stacked PRs** β€” `--stack-prs` opens against a blocker's head branch when a `blocked_by` Linear relation has exactly one open PR.
36
+ - **CI fix loop** β€” on red CI, pulls failed logs, appends to steering, re-spawns until green or `maxCiFixAttempts` hit.
37
+ - **Conflict re-fix** β€” `gh pr view`–driven; on `mergeable: CONFLICTING` enqueues a conflict-resolution task automatically.
38
+
39
+ **Reviewer interaction**
40
+
41
+ - **`@ralphy` mentions** β€” Linear comments _and_ GitHub PR comments trigger a fresh review run with the mention as the prompt.
42
+ - **Code-review iteration** β€” unresolved review-thread comments queue a digest; Ralph agrees-and-fixes (resolving the thread) or disagrees-and-replies.
43
+ - **Sticky task comment** β€” `tasks.md` mirrors into a single Linear comment that updates in place; a one-shot "πŸ“‹ Plan" comment summarises proposal + design when planning completes.
44
+
45
+ **Observability**
46
+
47
+ - **Ink dashboard** β€” engine/model, poll-bucket breakdown, per-worker cards with live phase, command-in-flight, and stdout tail.
48
+ - **Structured JSON event stream** β€” `--json-output` for CI; `--json-log-file` mirrors the same stream to disk.
49
+ - **Per-worker logs** β€” `~/.ralph/agent-mode.log` (global) + `.ralph/logs/<change>.log` (per-task) + per-change `LOG.jsonl`.
50
+
51
+ **Extensibility**
52
+
53
+ - **MCP server** β€” exposes `ralph_list_changes` / `get_change` / `create_change` / `append_steering` / `stop` to Claude-side agents (auto-wired on per-project install).
54
+ - **`WORKFLOW.md` template body** β€” Jinja-style prompt rendered per iteration, so project-specific rules / boundaries / labels flow into every task automatically.
55
+
12
56
  ## How it works
13
57
 
14
58
  ```mermaid
@@ -18928,8 +18928,8 @@ import { readFileSync } from "fs";
18928
18928
  import { resolve } from "path";
18929
18929
  function getVersion() {
18930
18930
  try {
18931
- if ("3.8.10")
18932
- return "3.8.10";
18931
+ if ("3.8.11")
18932
+ return "3.8.11";
18933
18933
  } catch {}
18934
18934
  const dirsToTry = [];
18935
18935
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@neriros/ralphy",
3
- "version": "3.8.10",
3
+ "version": "3.8.11",
4
4
  "description": "An iterative AI task execution framework. Orchestrates multi-phase autonomous work using Claude or Codex engines.",
5
5
  "keywords": [
6
6
  "agent",