Repository navigation
mu 3.11.3
Escape no longer loses delegate answers; spawn and DB-open fixes.
An Escape that drops queued delegate answers leaves a pointer to each
one. A fresh DB survives a parallel fan-out, and --next-free skips
names whose workspace dir is left on disk.
Upgrade with npm i -g @mu-crew/mu@3.11.3, then /reload in running
pi sessions to pick up the extension. No schema change. Both sides of a
delegate need 3.11.3 for the session-file pointer: an older delegate
falls back to the copy and mu agent read.
Added
- Escape no longer loses queued delegate answers. Escape clears
pi's follow-up queue, so an answer waiting there was gone. The
extension now copies each dropped answer to
~/.cache/mu/delegate-answers/($XDG_CACHE_HOME/mu) and writes
one line per answer into the conversation, without starting a turn,
naming the copy and the delegate's pi session file. The copy is
cache: the session file keeps the original. mu agent wait --jsonreports a pi agent'ssessionFile, the
transcript of the run it waited for. The control socket'swait
reply carries it.
Fixed
spawn --next-freeskips a name whose workspace dir is left on
disk. A dead agent's checkout outlives its row, kept as evidence.
--next-freechecked only agent rows, so it picked that name again,
and--workspacethen failed withWorkspacePathNotEmptyError
instead of moving on.mu_delegatewithworkspace: truehit this
when a label repeated. The leftover dir is untouched; the spawn takes
the next name.- Parallel
mucalls on a fresh DB no longer drop one. The first
fan-out into a new DB (a new machine orMU_DB_PATH) could lose a
process two ways. Switching the file to WAL returns SQLITE_BUSY
without honouringbusy_timeout, so a loser exiteddb locked; it is
now retried for up to 5 s. A process reading the schema version while
another created the tables could see a half-built DB and refuse it as
v1 (SchemaTooOldError); the version is now read in one transaction.