--- /dev/null
+#!/bin/bash
+set -e
+
+# Ensure credentials are present
+if [ -z "$FAMILYSEARCH_USER" ]; then
+ echo "Error: FAMILYSEARCH_USER not set"
+ exit 1
+fi
+
+testdata_dir="$(dirname "$0")"
+mkdir -p "$testdata_dir/.tmp"
+
+echo "========================================"
+echo "Regenerating Fixtures for Part 1 (Ada)"
+echo "========================================"
+export GMA_CACHE_DIR="$testdata_dir/fixtures/part1"
+# Clear existing to ensure clean state
+rm -rf "$GMA_CACHE_DIR"
+mkdir -p "$GMA_CACHE_DIR"
+
+python3 -m coverage run -p -m getmyancestors --verbose \
+ -u "$FAMILYSEARCH_USER" \
+ -i "29HC-P5H" \
+ -a 3 -d 2 \
+ --rate-limit 1 --cache --no-cache-control \
+ --creation-date "2026-01-01T12:00:00" \
+ -o "$testdata_dir/.tmp/regenerate_part1.ged"
+
+echo ""
+echo "========================================"
+echo "Regenerating Fixtures for Part 2 (Marie Curie)"
+echo "========================================"
+export GMA_CACHE_DIR="$testdata_dir/fixtures/part2"
+# Clear existing
+rm -rf "$GMA_CACHE_DIR"
+mkdir -p "$GMA_CACHE_DIR"
+
+python3 -m coverage run -p -m getmyancestors --verbose \
+ -u "$FAMILYSEARCH_USER" \
+ -i "LC5H-V1Z" \
+ -a 3 -d 2 \
+ --rate-limit 1 --cache --no-cache-control \
+ --creation-date "2026-01-01T12:00:00" \
+ -o "$testdata_dir/.tmp/regenerate_part2.ged"
+
+echo ""
+echo "✅ Regeneration Complete!"
+echo "Part 1 Cache: $testdata_dir/fixtures/part1"
+echo "Part 2 Cache: $testdata_dir/fixtures/part2"