RAIN Hotfix: Remediation Archive Build-Input-Semantik (branch-spezifisch, recovery unveraendert)

This commit is contained in:
root 2026-08-31 07:02:48 +00:00
parent 75b594f225
commit 561133f39b

View file

@ -2120,6 +2120,8 @@ archive_image() { # $1 = role
;; ;;
remediation) remediation)
remediation_session || die "archive(remediation): keine gueltige Build-Session (FAIL CLOSED)" remediation_session || die "archive(remediation): keine gueltige Build-Session (FAIL CLOSED)"
# (RAIN Hotfix) Source-State-Variablen deterministisch aus autorisiertem State initialisieren
load_remediation_source_state
id="$(remediation_full_image_id)" id="$(remediation_full_image_id)"
PIN_REMEDIATION_TARGET_ID="$id" PIN_REMEDIATION_TARGET_ID="$id"
;; ;;
@ -2170,7 +2172,14 @@ archive_image() { # $1 = role
# wuerde unter set -euo pipefail mit EXIT=1 abbrechen (bewiesener Root Cause). # wuerde unter set -euo pipefail mit EXIT=1 abbrechen (bewiesener Root Cause).
# Die korrekte Berechnung erfolgt NACH write_runtime_config/write_app_manifest. # Die korrekte Berechnung erfolgt NACH write_runtime_config/write_app_manifest.
HOST_SOT_RUNNER_SHA_CUR="$(sha256sum /opt/historical-v2/app/run_backfill_year.py 2>/dev/null | awk '{print $1}')" HOST_SOT_RUNNER_SHA_CUR="$(sha256sum /opt/historical-v2/app/run_backfill_year.py 2>/dev/null | awk '{print $1}')"
BUILD_INPUT_SHA_CUR="$(build_context_manifest 2>/dev/null | sha256sum | awk '{print $1}')" # (RAIN Hotfix) Branch-spezifische Build-Input-Semantik: Recovery nutzt build_context_manifest
# (RECOVERY_BUILD_CONTEXT), Remediation nutzt remediation_expected_build_input_sha
# (REMEDIATION_BUILD_CONTEXT, Gold-Source + autorisierter Runner-Overlay). KEIN globaler Tausch.
case "$role" in
recovery) BUILD_INPUT_SHA_CUR="$(build_context_manifest 2>/dev/null | sha256sum | awk '{print $1}')" ;;
remediation) BUILD_INPUT_SHA_CUR="$(remediation_expected_build_input_sha)" ;;
*) die "archive: unbekannte Rolle $role (FAIL CLOSED)" ;;
esac
WRAPPER_SHA_CUR="$(sha256sum /usr/local/bin/rq-historical | awk '{print $1}')" WRAPPER_SHA_CUR="$(sha256sum /usr/local/bin/rq-historical | awk '{print $1}')"
# Reihenfolge (Punkt 5): erst Manifest + Runtime erzeugen, DANN deren SHAs # Reihenfolge (Punkt 5): erst Manifest + Runtime erzeugen, DANN deren SHAs
# berechnen, DANN gen_archive_meta mit allen Pflicht-SHAs aufrufen. # berechnen, DANN gen_archive_meta mit allen Pflicht-SHAs aufrufen.