This documents version 0.2.1. The support recordtracks platform verification and exact-version publication evidence separately.
Copy regular files and directory trees to new destinations with--no-preserve=mode (and -R/-r for trees). Source modes cannot be read withthe public async 0.22.4 API, so default copying is explicitly unavailable.New files use 0666 & ~umask, and new directories use 0777 & ~umask.Supports -T, -v, and -H/-L/-P traversal. No-clobber (-n) and-u/--update modes (all, none, none-fail, older) can select a no-opwithout requiring copying capabilities. Non-recursive command-line symlinks arefollowed; recursive traversal rejects links unless explicitly enabled. Thesource tree, unsupported entries, cycles, and nested destinations arepreflighted before mutation for each source operand. Existing regular-fileoverwrites are rejected because public file identity and truncation on thesame open handle are unavailable. This includes same-file and hard-linkaliases; no temporary-file rename is substituted for inode-preserving overwrite.The parser accepts -f/-i, backup controls (-b/--backup) and -S, butthey do not enable replacement: overwrite requests fail during preflight,before an interactive prompt or backup mutation. A successful new-file copywith these flags does not establish their overwrite semantics.
-a/--archive and -p/--preserve (including an attribute list) arerecognized but fail before creating output because the portable API cannotread and restore complete links, modes, ownership, and timestamps. See thesupport record.
Standalone --version prints exactly cp 0.2.1 followed by onenewline. Standalone --help starts with Usage: cp, lists bothmetadata options, and ends with a newline. Both write to stdout, leave stdinunread, and exit with status 0. Exact-version publication and verificationremain recorded separately in the support record.