The Dockerfiles copied every framework crate's manifest because the old root workspace path-patched crossterm and carried in-tree resolution. The claw resolves from crates.io now, so the builder copies only the claw's own manifests, and the vendored-crossterm COPY (and its explanation) is gone.