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
This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fixed
A fresh install writes the board's baseUrl (the hosted platform URL unless you override it), so the loop connects to the board without setting BASE_URL; the connect skill writes organizationId, the loop also reads orgId, and a loop missing credentials prints which fields are missing (#34)
A slice that keeps failing is set to Blocked with a board comment giving the last failure after a configurable number of attempts (3 by default), a hung turn is stopped after a turn timeout (60 minutes by default), two loops on one board no longer build the same slice, and the loop sets each slice's final status itself (#36)
The agent builds from the slice's full definition: before each build the loop fetches its elements, fields and specifications into slice.json, and each build turn names the slice to build (#37)
Removed
The Ollama runner (ralph-ollama.js), which could not read the loop's tasks or build a planned slice; building requires Claude Code (#35)
The undocumented shell loop (ralph.sh and lib/agent.sh), which also skipped every permission check
Security
The loop no longer runs Claude with --dangerously-skip-permissions: file edits are accepted inside the project only, and the agent may run just the commands the kit needs (dotnet build/test/restore, branch-safe git, yarn install/build/lint/test, curl). Extend the list with allowedTools in the kit config or RALPH_ALLOWED_TOOLS; a refused command is reported as a blocked slice (#31)
The board token is no longer written into the agent's prompt. It reaches the skills and the board MCP server through the EVENTMODELERS_TOKEN environment variable; rotate any token used with an earlier version (#32)
The code export server listens on 127.0.0.1 only, answers browser requests from the board's origin only, and requires a per-install secret (codeExportSecret in .build-kit/.eventmodelers/config.json) as Authorization: Bearer <secret> or X-Export-Secret (#33)