aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md17
1 files changed, 12 insertions, 5 deletions
diff --git a/AGENTS.md b/AGENTS.md
index b8ef844..4d1caba 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -472,11 +472,18 @@ shell looked current and was not: a remote Markdown image the new filter
blocks was fetched anyway. After editing anything under `shared/`, force a
reload of every component that links it, the same way as above.
-Hot reload does **not** survive a file being replaced rather than written.
-`sed -i` writes a new file and renames it over the old one, and the watch on
-the old one dies with it: an autostart glyph fixed that way stayed blank in
-the running shell, with no reload in the log after the edit. Edit in place
-(an editor, the agent's Edit tool), or force a reload as above afterwards.
+Hot reload **sometimes does not fire** after an edit, with nothing logged.
+Twice in one session an edit was followed by no `Reloading configuration`
+line, and the running shell kept the old code: an autostart glyph stayed
+blank, an IPC function stayed "not found". The cause is not established.
+It was first blamed on `sed -i` replacing the file, but the Edit tool also
+writes a new inode (measured) and its edits usually reload fine. Before
+trusting what the shell shows after an edit, compare `qs log -p <dir>
+--log-times` against the file's mtime, and force a reload as above if none
+followed. If even the forced change logs nothing, the process has stopped
+watching altogether (seen once, after a few dozen reloads in a session):
+only a restart, `./reload.sh desktop` from the user's terminal, brings it
+back.
`qs -p <dir>` runs one directly. `qs -p <dir> ipc call <target> <fn>` reaches a
running one, which is how `SUPER+v` opens the VM drawer.