v2.3.2
A Fettler release: fettle serve now applies edits to its declaration
without a restart ΓÇö a permission you revoke is gone on the very next
request.
Fixed
-
Editing
.fettler.jsonor.fettler.local.jsondid nothing to a
running server.serveread the declaration once at launch and held
that reading for the life of the process, so a task declared
mid-session did not appear until the client was restarted ΓÇö and, the
direction that matters more, a permission removed mid-session stayed
granted. The CLI never had this fault: every command is a fresh
process and reads the file anew. The server now does what the CLI
does ΓÇö both files are re-read before every request ΓÇö so an edit
binds on the next call: a granted task appears, a revocation takes.The re-read is unconditional rather than gated on a modification
time, so the behaviour is deterministic. A malformed edit refuses
every request, naming the fault, until it is fixed ΓÇö never falling
back to the last good reading, since a boundary held wider than the
file states is the one direction the tool must never fail in. A
declaration that goes missing refuses too, rather than re-discovering
one: the file found at launch is the file, for the life of the
server.--rootdeclares a boundary with no file behind it, and that
one alone stays as launched.
Documentation
- The Fettler README's registration section now states the re-read
contract in place of "a boundary fixed at that moment", and the
server's MCP instructions tell the model an edit to the two files
binds on the next request.