Let the client's data home ride the cascade #66
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "cli-cascade"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Plumb's home-and-state law wants one data home resolved as an ordinary cascade field,
and says plainly that a tool reading
$HOMEitself has bypassed the cascade exactly asan invented key does.
config.rswas doing precisely that — a hand-rolled ladder overENSIGN_HOME,XDG_CONFIG_HOMEandHOME, read straight from the environment.It is now a
Cascadestruct, so the layers arrive in the order the law names: thedefault layer carries the platform seat from
plumb::config::data, the typedenvironment follows, and a flag layer is one argument away if a caller ever needs one.
The derive takes its prefix from the package name, so
ENSIGN_URLandENSIGN_HOMEkeep answering exactly as before — the acts drive both and stay green.
One behaviour does change: the platform default moves from
~/.config/ensignto~/.ensign, which is whatplumb::config::dataresolves for a unix tool. Anyoneholding a credential from before re-runs
login; the record itself relocated tostate/pat.jsonin the previous change, so that step was already required.This closes the fourth and last of the home-and-state debts. The other three landed as
state/pat.json: understate, schema-versioned, and written beside then renamed.Every guard step was run by hand on the committed state and is clean, including all
acts — act 6 sets
ENSIGN_HOMEper pilot and reads the record off disk, which is whatproves the environment layer still drives the seat.