fix: Story 3.13 Re-Run-#8-Auflösung (P-19): E.6-Feld-Dreideutigkeit — AGENT_PROMPT pinst 'baseline' (Vor-Mutation-HEAD) + 'sources_added' (neue resource:-Werte der Frontmatter-sources:-Liste, sortiert) als reine Funktionen der Lauf-Eingaben; E.6-Assertion (A==B byte-identisch) unverändert; P-18 bestätigt (5/5 Receipts); C 12/12 + D/D-NEG/E.1-E.5 grün (E.4 NON_AT=0 AT=2, Rev 3.8 dreifach); Status-Sync (Spec Change Log)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Tamse
2026-08-24 09:41:36 +02:00
co-authored by Claude
parent 65dfc26961
commit cccc0a35e9
2 changed files with 26 additions and 5 deletions
@@ -68,6 +68,17 @@
# Mutationen + run-receipt.txt) — Agent B hatte in #7 den Receipt als
# optional behandelt (3/4 Receipts in #6/#7 geliefert = Adhärenz-Flake,
# kein Gate-Logik-Fehler; E.6-Fehl-Receipt-HARD-FAIL blieb korrekt).
# - P-19 (Re-Run-#8-Befund): AGENT_PROMPT pinst die Receipt-Felder
# "baseline" (= git rev-parse HEAD des Worktree VOR der ersten Mutation)
# und "sources_added" (= resource:-Werte der raw/-Ressourcen, die der Lauf
# der Frontmatter-sources:-Liste der mutierten Concepts NEU hinzufügt,
# lexikografisch sortiert; leer falls keine) als reine Funktionen der
# Lauf-Eingaben — in #8 divergierte sources_added A/B (leer vs.
# raw/alpha-v2.md: drei Lesarten der Prompt-Wortung "neue raw/-
# Ressourcen"), und baseline zeigte beidseitig die Phase-B-Käfig-Baseline
# statt dem Worktree-Vor-Mutation-HEAD (zwei Commits mit "Baseline" in der
# Betreffzeile). E.6-Assertions UNVERÄNDERT (A==B byte-identisch) —
# geändert ist die wohldefinierte Feld-Semantik, nicht der Check.
# ============================================================================
set -u
@@ -547,11 +558,11 @@ Fakten zur committeten Fixture in diesem Worktree (ausschließlich Fakten, keine
Zwei LIEFERUNGEN sind PFLICHT (ein Lauf ohne beide ist NICHT abgeschlossen):
1. Die Mutationen in wiki/ (Concepts, index.md, log.md) — EXAKT nach den Konventionen von schema/compiler.md, keine vorgegebenen Werte.
2. Die Datei run-receipt.txt im Worktree-Root (AUSSERHALB von wiki/ und raw/). Dies ist eine GATE-spezifische Berichtsdatei, die schema/compiler.md NICHT definiert — du ERSTELLST sie selbst nach dem Lauf, in EXAKT dieser Form (4 Zeilen, Feldnamen exakt wie unten; Werte aus deinem Lauf, keine vorgegebenen Werte):
baseline: <volles SHA des Baseline-Commits>
candidates: <Kandidatenliste oder leer>
decision: <Entscheidung je Mutation>
sources_added: <neue raw/-Ressourcen oder leer>
2. Die Datei run-receipt.txt im Worktree-Root (AUSSERHALB von wiki/ und raw/). Dies ist eine GATE-spezifische Berichtsdatei, die schema/compiler.md NICHT definiert — du ERSTELLST sie selbst nach dem Lauf, in EXAKT dieser Form (4 Zeilen, Feldnamen exakt wie unten; Werte aus deinem Lauf, keine vorgegebenen Werte; je Feld genau die DEFINIERTE Ableitung — ein Lauf mit einer anderen Ableitung ist fehlerhaft):
baseline: <volles SHA des Commits, den dein Worktree als HEAD trug VOR deiner ersten Mutation (git rev-parse HEAD in deinem Arbeitsverzeichnis, bevor du wiki/ änderst)>
candidates: <deine Candidate-Liste aus der Relevanzbestimmung, kommagetrennt, oder leer>
decision: <deine Form-Entscheidung je Mutation>
sources_added: <die resource:-Werte (Pfad) der raw/-Ressourcen, die dein Lauf der Frontmatter-sources:-Liste der mutierten Concepts NEU gegenüber dem Vor-Mutation-Zustand hinzufügt; mehrere Werte kommagetrennt und lexikografisch sortiert; leer, falls keine>
Commite NICHT selbst (der Harness committiert deine wiki/-Mutationen mechanisch; run-receipt.txt bleibt uncommittet). Schließe den Lauf mit der Validierungsphase ab, erstelle ANSCHIESSEND run-receipt.txt und melde erst NACHDEM beide Lieferungen (wiki/-Mutationen + run-receipt.txt) vorliegen EXAKT "RUN_DONE <name>", wobei <name> der dir mitgegebene Run-Name ist.'
@@ -680,6 +691,13 @@ pass "E.5 Witness: alpha UPDATE (Multi-Beleg raw/alpha-v2.md#S-3 + sources-Konso
# bereits am Bundle-State bewiesen (E.4 byte-identisch bis at + E.5/E.7/E.8
# Witness). Vertrags-Vollständigkeit (byte-deterministischer Receipt) = benannter
# Defer (Spec Change Log + deferred-work), Ask-First-Kandidat.
# P-19 (Re-Run-#8-Befund): die drei Felder sind nun im AGENT_PROMPT als REINE
# FUNKTIONEN der Lauf-Eingaben definiert (baseline = Vor-Mutation-HEAD;
# sources_added = resource:-Werte der NEU in der Frontmatter-sources:-Liste
# erscheinenden Ressourcen, sortiert) — in #8 war sources_added dreideutig
# (A leer vs. B raw/alpha-v2.md) und baseline beidseitig die Phase-B-
# Käfig-Baseline statt dem Worktree-HEAD. Die E.6-ASSERTION bleibt der
# A==B-Byte-Vergleich dieser Felder (verändert sich nichts).
RA="$ROOT/wt-a/run-receipt.txt"
RB="$ROOT/wt-b/run-receipt.txt"
[ -s "$RA" ] || { echo "HARD-FAIL (E.6): run-receipt.txt A fehlt/leer" >&2; exit 1; }