KB-2F0E

FIX7 P0 Production-Rehearsal-Only — RERUN.sh

2 min read Revision 1
tool-kiem-thufix7p0production-rehearsal-onlyrollback-packet2026-06-12

#!/usr/bin/env bash

Re-run harnesses, recompute HASH_MANIFEST.txt, compare to packet_tree.sha256.

set -uo pipefail HERE="$(cd "$(dirname "$0")" && pwd)" cd "$HERE" export PYTHONDONTWRITEBYTECODE=1 RC=0 CLONE="$(mktemp -d /tmp/fix7-rehearsal-clone.XXXXXX)" trap 'rm -rf "$CLONE"' EXIT

regenerate deterministic evidence

bash rehearsal_clone_rollback.sh "$CLONE" "$HERE" >/dev/null 2>&1 || RC=1 python3 -B run_hardened_validator.py >/dev/null 2>&1 || RC=1 python3 -B rehearsal_bad_input_probes.py >/dev/null 2>&1 || RC=1

recompute manifest over all files except HASH_MANIFEST.txt + packet_tree.sha256

TMPM="$(mktemp)" find . -type f ! -name HASH_MANIFEST.txt ! -name packet_tree.sha256 ! -path './pycache/*' -print | sed 's|^./||' | LC_ALL=C sort | while read -r f; do printf '%s %s\n' "$(shasum -a 256 "$f" | awk '{print $1}')" "$f" done > "$TMPM" NEW_TREE="$(shasum -a 256 "$TMPM" | awk '{print $1}')" STORED_TREE="$(cat packet_tree.sha256 | awk '{print $1}')"

if [ "$NEW_TREE" = "$STORED_TREE" ]; then echo "PACKET_TREE: MATCH ($NEW_TREE)" else echo "PACKET_TREE: MISMATCH new=$NEW_TREE stored=$STORED_TREE"; RC=1 diff <(cat HASH_MANIFEST.txt) "$TMPM" || true fi rm -f "$TMPM" if [ $RC -eq 0 ]; then echo "RERUN_RESULT: PASS"; else echo "RERUN_RESULT: FAIL"; fi exit $RC

Back to Knowledge Hub knowledge/dev/reports/architecture/fix7-p0-production-rehearsal-only-rollback-packet-2026-06-12/RERUN.sh