A named profile never falls back to the default root. That is the whole promise. A
work
profile does not quietly reach your personal agents or your personal key, so the trees stay
disjoint rather than layered.
Using one
SERI_PROFILE sets the same thing, and the flag wins over it. /profile new <name> creates a
profile from inside a session.
A profile name cannot collide with a file or directory the default root already owns. These are
all refused as names.
What stays shared
One thing. The vendored ripgrep cache at~/.seri/rg/ is outside every profile, because it is a
build artifact rather than anything about you.
A subtlety on where a project scope can be
seri finds a project’s.seri/<kind>/ by walking up from where you started it, taking the first
ancestor that has one. That walk deliberately refuses to adopt ~/.seri/<kind> as a project
scope. A repository that happens to sit under your home directory would otherwise claim your
default profile’s extensions as its own project extensions, and a --profile work run would
reach them through that back door.
The comparison is case-folded on Windows and macOS, where the same directory routinely has two
spellings.
