Commit

2c57650

Also, I called it ralph because on the first iteration, it was meant to be an implementation of the ralph loop. I liked the claude -p interpreter I build for it so much, that I repurpose the repo for this new iteration.
The new iteration of ralph is a cli that presents itself as a chat interface, using claude -p in the background. Every turn it spawns a new claude -p session, and injects the latest chat history as a binary tree that is kept in the background, storing every conversation exchange as a persistent append only log. All in an attempt to present the user with infinite session. And the claude -p interpreter I built because I wanted to know what claude was actually doing each turn, how it was calling bash, what mcp tools it was invoking. And lastly, I wanted to customize the way messages got rendered back to me in the terminal. In the case for ralph, is a customized markdown renderer.

commit 2c57650

an append only log replayed into a fresh claude -p each turn is a neat way to fake an infinite session. how do you decide what gets pruned once the tree gets big?