GET-056 fixed the flat D5 gate (be/verbs/get/get.js:1054 now f||x + 3-side isBinary) but the SUB checkout path has its own twin gate at be/shared/checkout.js:203 still reading kind === "f" — its comment codifies the overturned "symlink/exec clean-reset". This unfixed twin clobbered the five exec-bit files in the GET-057 incident.
f||x, no binary check, keep-ours not weave) in its own worktree //GET-057 — not landed; this ticket supersedes that line on trunk.kind === "f" and friends); bring every site to the ruling.f/x) AND no side binary → preserve the dirty edit (weave like the flat D5 path if reachable; else keep-ours and flag); binary/symlink/gitlink clean-reset.isBinary from be/views/diff/diff.js (exported since GET-056); no second heuristic.//GET-057 or //PATCH-025 worktrees.weave3 moved from be/verbs/get/get.js into be/shared/weave.js so the sub checkout weaves through the SAME code; unweavable/marker cases emit durable con wtlog rows via opts.bePath handed down from be/shared/submount.js.///be/ into //GET-056b, base ///be/#543269d6test/sub/dirty-exec-keep (sub dirty exec text weaves, was clobbered), test/sub/dirty-binary-keep (sub dirty binary keeps ours), test/get/dirty-exec-binary part (b) flipped to keep-ours per the new rulingtest/sub/dirty-binary-reset/run.sh was renamed to dirty-binary-keep mid-work; the old row skips on jab delete ("deleted 0, 1 skipped") — row-only unstage isn't implemented (ULOG PUT/DELETE ruling); left rather than hand-editing the wtlog.jab diff verbs/get/get.js (scoped, 82KB file) dies hunk.render: out full — filed DIFF-019; bare jab diff renders the edit fine.f||x-only one-liner staged in //GET-057 (no binary logic, keep-ours only) — reconcile at landing.///be/#5c0d5c21 + //be/test#4e59c1ac "GET-056b: text/binary clean/dirty get behavior matrix".//GET-057's staged one-liner; render bug found while reviewing → DIFF-019.