Environment variable that relocates the run-artifact tree.
Why it has to exist: the default root is resolved against process.cwd(), and on a
symlink-swap deploy the working directory IS the release directory. A deploy points the symlink
at a fresh release and prunes the old ones, so every run artifact under the previous release is
first orphaned and then deleted — measured live 2026-09-13, where a connector refresh's 652-event
journal existed one minute before a deploy and the run listing returned 0 run(s) immediately
after. The artifacts survive the RSU's own pm2 restart (the symlink does not move) but not a
deploy, which is exactly backwards from what an operator needs.
Point this at a path OUTSIDE the swappable release directory (a sibling of current, alongside
the environment file a deploy already treats as durable) and the run history outlives the deploy
that would otherwise destroy the evidence.
Environment variable that relocates the run-artifact tree.
Why it has to exist: the default root is resolved against
process.cwd(), and on a symlink-swap deploy the working directory IS the release directory. A deploy points the symlink at a fresh release and prunes the old ones, so every run artifact under the previous release is first orphaned and then deleted — measured live 2026-09-13, where a connector refresh's 652-event journal existed one minute before a deploy and the run listing returned0 run(s)immediately after. The artifacts survive the RSU's own pm2 restart (the symlink does not move) but not a deploy, which is exactly backwards from what an operator needs.Point this at a path OUTSIDE the swappable release directory (a sibling of
current, alongside the environment file a deploy already treats as durable) and the run history outlives the deploy that would otherwise destroy the evidence.