You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Chat-completions now streams progressively: live tool-round progress markers as
the turn runs, then the final answer — instead of blocking until the whole turn
finishes. Tool calls within a round run concurrently; default maxToolRounds 8->12;
round-limit message is now a calm status, not an error. Verified live: SSE chunks
arrive incrementally. Removed the dead post-hoc word-streamer. 110 tests pass.
(Note: build orchestration 'bun run build' has a Windows-only nested-bun quirk;
sub-builds + typechecks all pass; CI builds on ubuntu.)
Copy file name to clipboardExpand all lines: CHANGELOG.md
+14Lines changed: 14 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,6 +4,20 @@ All notable changes to this project are documented here.
4
4
5
5
Format based on [Keep a Changelog](https://keepachangelog.com/).
6
6
7
+
## [0.4.0] - 2026-06-24
8
+
9
+
### Added
10
+
11
+
-**Streaming supervisor responses.** The chat-completions endpoint now streams progressively: as the turn runs its tool rounds (the slow part), live markers (`→ start_loop`, `→ loop_status`, …) appear, then the final answer streams — instead of hanging silently until the whole turn finishes and dumping it at once. Verified live: SSE `chat.completion.chunk`s arrive incrementally.
12
+
13
+
### Changed
14
+
15
+
- Supervisor **tool calls within a round run concurrently** now (was sequential), and the default **`maxToolRounds` is raised 8 → 12**. Hitting the round limit no longer reads as an error — it's a calm "I've taken several steps … ask me to continue" status. (Surfaced by the end-to-end smoke loop, where the prior limit/error was easy to hit.)
16
+
17
+
### Notes
18
+
19
+
- The end-to-end smoke loop validated the full stack live (auto-start, credential auto-detect, orchestration, the `ralph-worker` agent, and a real worker creating a file until `verify` passed). It also surfaced a footgun to address next: when no worker model is set, the worker can fall back to the `ralph-rlm/supervisor` model — set `worker.providerID`/`worker.modelID` in `ralph-provider.json`.
content: `Reached tool round limit. Current status:\n${status}`,
233
+
content: `I've taken several steps but haven't fully wrapped up this turn. Current status:\n${status}\n\nAsk me to continue if you'd like me to keep going.`,
225
234
toolRounds,
226
235
mode: "llm",
227
236
};
@@ -261,3 +270,23 @@ export async function supervisorTurn(
0 commit comments