fix: fix: bundled dust cleanup — tools/push3-evolution (#1035)

- #989: Quote $VARIANT_IDX and $NEXT_IDX in printf '%03d' calls in
  evolve.sh (SC2086 — no behavior change, style consistency)
- #612: Already resolved by commit 79a2e2e (fitness.sh switched from
  deployments-local.json to broadcast JSON, eliminating dead Kraiken/Stake reads)
- #945: Already resolved by commit 052ad7a (manifest.schema.json
  fitness_flags description corrected to "Comma-separated")

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
johba 2026-03-22 22:11:23 +00:00
parent d1d0e8ca10
commit 74be110fa1

View file

@ -380,7 +380,7 @@ PYEOF
log " diverse-seeds: sampling up to $POPULATION candidates from pool ($POOL_COUNT available)" log " diverse-seeds: sampling up to $POPULATION candidates from pool ($POOL_COUNT available)"
while IFS= read -r POOL_FILE && [ "$VARIANT_IDX" -lt "$POPULATION" ]; do while IFS= read -r POOL_FILE && [ "$VARIANT_IDX" -lt "$POPULATION" ]; do
CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' $VARIANT_IDX).push3" CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' "$VARIANT_IDX").push3"
cp "$POOL_FILE" "$CAND_FILE" cp "$POOL_FILE" "$CAND_FILE"
printf '0\n' > "${CAND_FILE%.push3}.ops" printf '0\n' > "${CAND_FILE%.push3}.ops"
VARIANT_IDX=$((VARIANT_IDX + 1)) VARIANT_IDX=$((VARIANT_IDX + 1))
@ -402,7 +402,7 @@ PYEOF
|| fail "seed-gen-cli.ts failed to generate variants" || fail "seed-gen-cli.ts failed to generate variants"
while IFS= read -r VARIANT_FILE && [ "$VARIANT_IDX" -lt "$POPULATION" ]; do while IFS= read -r VARIANT_FILE && [ "$VARIANT_IDX" -lt "$POPULATION" ]; do
CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' $VARIANT_IDX).push3" CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' "$VARIANT_IDX").push3"
cp "$VARIANT_FILE" "$CAND_FILE" cp "$VARIANT_FILE" "$CAND_FILE"
printf '0\n' > "${CAND_FILE%.push3}.ops" printf '0\n' > "${CAND_FILE%.push3}.ops"
VARIANT_IDX=$((VARIANT_IDX + 1)) VARIANT_IDX=$((VARIANT_IDX + 1))
@ -411,7 +411,7 @@ PYEOF
# Fill any remaining slots with mutations of the seed # Fill any remaining slots with mutations of the seed
while [ "$VARIANT_IDX" -lt "$POPULATION" ]; do while [ "$VARIANT_IDX" -lt "$POPULATION" ]; do
CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' $VARIANT_IDX).push3" CAND_FILE="$GEN_DIR/candidate_$(printf '%03d' "$VARIANT_IDX").push3"
MUTATED=$(run_mutate_cli mutate "$SEED" "$MUTATION_RATE") \ MUTATED=$(run_mutate_cli mutate "$SEED" "$MUTATION_RATE") \
|| fail "Failed to mutate seed for fallback candidate $VARIANT_IDX" || fail "Failed to mutate seed for fallback candidate $VARIANT_IDX"
printf '%s\n' "$MUTATED" > "$CAND_FILE" printf '%s\n' "$MUTATED" > "$CAND_FILE"
@ -612,7 +612,7 @@ PYEOF
done < <(py_top_n "$ELITES" "$SCORES_FILE") done < <(py_top_n "$ELITES" "$SCORES_FILE")
for ELITE_FILE in "${ELITE_FILES[@]}"; do for ELITE_FILE in "${ELITE_FILES[@]}"; do
DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' $NEXT_IDX).push3" DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' "$NEXT_IDX").push3"
cp "$ELITE_FILE" "$DEST" cp "$ELITE_FILE" "$DEST"
printf '0\n' > "${DEST%.push3}.ops" printf '0\n' > "${DEST%.push3}.ops"
NEXT_IDX=$((NEXT_IDX + 1)) NEXT_IDX=$((NEXT_IDX + 1))
@ -629,7 +629,7 @@ PYEOF
# First half of remaining: mutate random survivors # First half of remaining: mutate random survivors
for _i in $(seq 1 $HALF); do for _i in $(seq 1 $HALF); do
SUR="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}" SUR="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}"
DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' $NEXT_IDX).push3" DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' "$NEXT_IDX").push3"
if MUTATED=$(run_mutate_cli mutate "$SUR" "$MUTATION_RATE" 2>/dev/null); then if MUTATED=$(run_mutate_cli mutate "$SUR" "$MUTATION_RATE" 2>/dev/null); then
printf '%s\n' "$MUTATED" > "$DEST" printf '%s\n' "$MUTATED" > "$DEST"
printf '%d\n' "$MUTATION_RATE" > "${DEST%.push3}.ops" printf '%d\n' "$MUTATION_RATE" > "${DEST%.push3}.ops"
@ -646,7 +646,7 @@ PYEOF
for _i in $(seq 1 $REMAINING); do for _i in $(seq 1 $REMAINING); do
SUR_A="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}" SUR_A="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}"
SUR_B="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}" SUR_B="${SURVIVOR_FILES[$((RANDOM % ${#SURVIVOR_FILES[@]}))]}"
DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' $NEXT_IDX).push3" DEST="$NEXT_GEN_DIR/candidate_$(printf '%03d' "$NEXT_IDX").push3"
if CROSSED=$(run_mutate_cli crossover "$SUR_A" "$SUR_B" 2>/dev/null); then if CROSSED=$(run_mutate_cli crossover "$SUR_A" "$SUR_B" 2>/dev/null); then
printf '%s\n' "$CROSSED" > "$DEST" printf '%s\n' "$CROSSED" > "$DEST"
printf '0\n' > "${DEST%.push3}.ops" printf '0\n' > "${DEST%.push3}.ops"