--load deletes every server-side key that has no file in the local tree. Defensible for pure config, but the tree can't represent everything, so a load silently destroys live state.
Concrete: one --load on a plot deleted 56 keys — the value and about of all 11 vars. The vars survived as empty shells, so the plot still rendered but every number was blank. The only signal was 56 deleted in the summary. The same mechanism sent four unintended emails through a mail's /status (gaia#4289).
--dump doesn't round-trip either:
config/env on a job is never emitted, so dump→load deletes every env var, including an auto-created novem_token.
- Zero-byte files are skipped, so
tags/ markers never come back and dump→load drops every tag.
Net effect: the pair isn't usable as backup/restore, and --load isn't safe to run unattended against any resource a job also writes to.
Repro:
novem -p my-plot --dump /tmp/p
novem -p my-plot --load /tmp/p # deletes vars and tags
Suggestion: make deletion opt-in behind --prune, and either emit config/env and empty markers from --dump or document them as out of scope.
Found on 0.6.1, still present on 0.6.3.
--loaddeletes every server-side key that has no file in the local tree. Defensible for pure config, but the tree can't represent everything, so a load silently destroys live state.Concrete: one
--loadon a plot deleted 56 keys — thevalueandaboutof all 11 vars. The vars survived as empty shells, so the plot still rendered but every number was blank. The only signal was56 deletedin the summary. The same mechanism sent four unintended emails through a mail's/status(gaia#4289).--dumpdoesn't round-trip either:config/envon a job is never emitted, so dump→load deletes every env var, including an auto-creatednovem_token.tags/markers never come back and dump→load drops every tag.Net effect: the pair isn't usable as backup/restore, and
--loadisn't safe to run unattended against any resource a job also writes to.Repro:
Suggestion: make deletion opt-in behind
--prune, and either emitconfig/envand empty markers from--dumpor document them as out of scope.Found on 0.6.1, still present on 0.6.3.