review fixes: 1.19.0 is the real version boundary, and the preamble stamp matches its bytes again

endpoints.md named 1.18.x as the version where workspace hooks became a
setting, but 1.18.x servers do NOT have this behavior — an agent driving
one would falsely conclude its workspace has hooks. The feature ships in
1.19.0. And preamble.sh changed content this PR without bumping its
CODEMAN_PREAMBLE stamp, so a cache stamped 1.18.3 would pass the
staleness check while holding old bytes; stamp bumped to 1.19.0 in
preamble.sh and the SKILL.md heredoc together (byte-identity pin).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Codeman maintainer
2026-08-16 19:16:10 +02:00
parent 1c94995290
commit c8f3981b0c
3 changed files with 10 additions and 10 deletions
+2 -2
View File
@@ -624,7 +624,7 @@ is now installed by default rather than depending on who created the directory:
| any claude workspace, with `workspaceHooksEnabled` ON (the default) | installed at session create, add-only merge | fire | send-and-wait on `stop` |
| the same, with the setting OFF and no block already on disk | none added | never fire | `wait-output` markers only |
| a remote SSH session, a docker case that opted out, a workspace Codeman cannot write | none | never fire | `wait-output` markers only |
| a session created by a pre-1.18.x server and never restarted since | whatever it had | only if present | check, then choose |
| a session created by a pre-1.19.0 server and never restarted since | whatever it had | only if present | check, then choose |
The install is an add-only merge, so a user's own hook entries survive and a malformed
settings file is left untouched. Sessions recovered at server boot get the same sweep,
@@ -632,7 +632,7 @@ which is what heals sessions created before this behavior existed. When in doubt
it rather than reason about it: grep for `/api/hook-event` in
`<casePath>/.claude/settings.local.json`.
Before 1.18.x, `writeHooksConfig()` ran only on the create paths and `quick-start`
Before 1.19.0, `writeHooksConfig()` ran only on the create paths and `quick-start`
against an existing directory called `refreshStaleCodemanHooks()`, which never *adds* a
block, so a linked case or a raw `workingDir` had no hooks at all. `POST
/api/cases/link` still only records a name-to-path entry; what changed is that the