Follow-up from PR #108 / v0.4.1 (immutable head d6cde09). Dispositioned low / non-blocking by the four-reviewer panel or the as-shipped sweep.
(1) Raw batch artifact rows keep their relative strings (never rewritten), and upstream writes daemon-side; when daemon cwd and Pi session cwd diverge, the wrapper-prepared parent is the wrong one. Docs disclose stdin-only normalization but should explicitly recommend absolute paths in raw batch artifact rows. (2) mkdir failures in the raw preparation loop (e.g. ENOTDIR when a path component is a file, EACCES at protected roots) throw raw filesystem exceptions out of the tool instead of a structured validation-error with nextActions; symmetric with pre-existing direct/stdin behavior, so shape all three together.
Follow-up from PR #108 / v0.4.1 (immutable head d6cde09). Dispositioned low / non-blocking by the four-reviewer panel or the as-shipped sweep.
(1) Raw batch artifact rows keep their relative strings (never rewritten), and upstream writes daemon-side; when daemon cwd and Pi session cwd diverge, the wrapper-prepared parent is the wrong one. Docs disclose stdin-only normalization but should explicitly recommend absolute paths in raw batch artifact rows. (2) mkdir failures in the raw preparation loop (e.g. ENOTDIR when a path component is a file, EACCES at protected roots) throw raw filesystem exceptions out of the tool instead of a structured validation-error with nextActions; symmetric with pre-existing direct/stdin behavior, so shape all three together.