The layer that maps transcripts, sessions, tasks, mailboxes, jobs, memory, logs, recordings and daemon state to files now decides per data type whether to follow symlinks and what file mode to use. It only runs when tengu_hover_rest is on, which is off unless the server enables it or CLAUDE_CODE_HOVER_REST forces it.
Details
Commands, agents and skills follow symlinks; session-env, uploads, usage-data and the MCP discovery cache refuse them.
Opened files are identity-checked, preferring /proc/self/fd and falling back to a stat recheck after opening when /proc is unreadable, logged once per machine.
Locks and streams live under a "storage-v2" root; failures classify as LockContended, LiveRecordUnverified or IdentityUnverified.
Some of the surrounding code moved during re-bundling, so not every changed line here is new behaviour.
Evidence
storage: /proc descriptor record unreadable for hardened reads on this host; using the post-open recheck
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
The flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.
This account: off · anonymous baseline: off · compiled default in v2.1.242: not a boolean we can read
Flag reading movedThe flag server now returns off for tengu_hover_rest, read as this account.A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.
Flag reading movedThe flag server now returns nothing at all, having stopped carrying it for tengu_hover_rest, read as this account.A reading is one sample. Claude Code evaluates its flags remotely, so no client sees the targeting rule behind a value and this says nothing about your account.