Ship-blocker found by Docker battle-test: install.sh --profile=full
only built 6/25 Rust binaries on fresh ubuntu:24.04 because
kei-artifact has sibling schemas/*.json files that src/schemas.rs
include_str!s at compile time. Prior copy_rust_primitive only copied
Cargo.toml + src/ + tests/ — schemas dir missing → 5 compile errors.
Fix: whitelist 5 common sibling data directories (schemas, assets,
templates, fixtures, migrations) — copy each if present. Keeps
target/, .git/, and other build artifacts out.
Battle-test (pre-fix):
full profile: 6/25 Rust binaries built (kei-artifact + cascade fails)
install exit 0 (soft-fail design), silent partial-install
Expected post-fix:
full profile: 25/25 binaries (pending re-verification on Docker)
Affects: any future crate that uses include_str!('../<dir>/*') on
a sibling data folder. 5-item whitelist covers the patterns we know;
extend as needed.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>