{"version":"2.1.222","anchor":"shell-output-handoff-can-be-re-rooted-for-adoption","canonical_anchor":"shell-output-handoff-can-be-re-rooted-for-adoption","heading":"Shell output handoff can be re-rooted for adoption","tier":"internal","area":"Elsewhere","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222\/e\/shell-output-handoff-can-be-re-rooted-for-adoption","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.222","markdown":"### Shell output handoff can be re-rooted for adoption\n\nBackground shell output can be relocated so another process adopting the task can still read it.\n\n**What**\n\nDetached shell handoff accepts a root to re-anchor output files, so an adopting process can read outputs that would otherwise sit outside its tree.\n\n**Details**\n\n- Takes a `rerootOutputsTo` root; outputs resolving outside the task-output tree are dropped and the shell is killed.\n- Escaping but known outputs are hardlinked, or copied when linking fails, into `<root>\/rerooted\/<id>.output`, with inode identity checks.\n- Task output paths and the handoff payload gained an adopt root plus `mergeShellOutputReadRoots`.\n\n**Evidence**\n\n`mergeShellOutputReadRoots`\n\n- Area: Elsewhere\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 0\/5"}