diff --git a/install.sh b/install.sh index 4435ed1..6b0eec1 100755 --- a/install.sh +++ b/install.sh @@ -234,8 +234,13 @@ if [[ -d "$KIT_DIR/skills" ]]; then fi # --- build assembler ------------------------------------------------------- -say "building Rust assembler (cargo build --release)" -( cd "$AGENTS_DIR/_assembler" && cargo build --release ) +# Prefer offline build (fresh-clone on a no-network machine should still work +# if the registry cache is warm). Fall back to online fetch on failure. +say "building Rust assembler (cargo build --release, offline first)" +if ! ( cd "$AGENTS_DIR/_assembler" && cargo build --release --offline ) 2>/tmp/keiseikit-cargo-offline.log; then + say "offline build failed — fetching deps from crates.io" + ( cd "$AGENTS_DIR/_assembler" && cargo build --release ) +fi if [[ ! -x "$AGENTS_DIR/_assembler/target/release/assemble" ]]; then err "build succeeded but binary not found at $AGENTS_DIR/_assembler/target/release/assemble" exit 2