fix: Story 3.13 Gate-Pre-Runs (2. Re-Run-Ablage): A.3 auf vertraglich definierte Bundle-Prämissen (V-1 Bundleroot, raw/, log.md — V-5/V-6-Area-Menge existiert nicht im Vertrag), D-NEG-Käfig gültig (Bundleroot-/Area-Frontmatter, EC-1-existierende raw/-Ressourcen, wiki/-Präfix-Toleranz im Count); log.md-D-NEG-Punktbezeichnung korrigiert (Punkt 1/9/14-EC-3)

This commit is contained in:
Michael Tamse
2026-08-23 09:02:30 +02:00
parent 50f3628df4
commit 52312c254b
2 changed files with 37 additions and 22 deletions
@@ -97,17 +97,17 @@ command -v bash >/dev/null || hardfail "bash fehlt"
for ref in schema/compiler.md schema/validator.md schema/wiki-compiler.md schema/canonical-terms.md adapters/README.md; do
[ -f "$ref" ] || hardfail "Referenz-Schema fehlt: $ref"
done
pass "A.2 Referenz-Schemata vorhanden (compiler/validator/wiki-compiler/canonical-terms/adapters)"
# A.3: Bundle-Vorbedingungen (V-1..V-6, Vertrag §2) im Ist-Repo
[ -f wiki/index.md ] || hardfail "V-1: wiki/index.md fehlt"
[ -d raw ] || hardfail "V-2: raw/ fehlt"
[ -f raw/README.md ] || hardfail "V-3: raw/README.md fehlt"
[ -f wiki/log.md ] || hardfail "V-4: wiki/log.md fehlt"
for area in concepts processes states; do
[ -d "wiki/$area" ] || hardfail "V-5: Bundle-Area wiki/$area fehlt"
done
[ -f wiki/concepts/README.md ] || hardfail "V-6: wiki/concepts/README.md fehlt"
pass "A.3 Bundle-Vorbedingungen V-1..V-6 erfüllt (Ist-Repo)"
pass "A.2 Referenz-Schemata vorhanden (compiler/validator/adapters)"
# A.3: Bundle-Vorbedingungen im Ist-Repo — nur vertraglich definierte Prämissen:
# V-1 Bundleroot (Vertrag §2/Validator §3.2), log.md (Vertrag §5, reserviert),
# raw/ = Evidenzverzeichnis. KEINE fixe Area-Menge im Vertrag (V-5/V-6 existieren
# nicht) — die Ist-Areas (z. B. wissensarchitektur/) trägt Punkt 11 (Area mit
# Inhalt MUSS index.md haben), geprüft vom Validator (Abschnitt D) und G-7 (F).
[ -f wiki/index.md ] || hardfail "V-1: wiki/index.md fehlt (Bundleroot, Vertrag §2)"
[ -d raw ] || hardfail "raw/ fehlt (Evidenzverzeichnis)"
[ -f raw/README.md ] || hardfail "raw/README.md fehlt"
[ -f wiki/log.md ] || hardfail "wiki/log.md fehlt (Vertrag §5, reservierter Name)"
pass "A.3 Bundle-Vorbedingungen erfüllt (Bundleroot/raw/-Evidenz/log.md; Vertrag §2/§5)"
# A.4: Sandbox-Suite 3.1..3.12 vollständig
SUITE_OK=1
for N in 1 2 3 4 5 6 7 8 9 10 11 12; do
@@ -269,18 +269,33 @@ fi
runlabel "D-NEG: Negativ-Fixtures (AC-3-Hälfte; frischer Validator-Agent MUSS 3×FAIL + 1×SUCCESS liefern)"
NEGDIR="$ROOT/negcage"
mkdir -p "$NEGDIR/wiki/concepts"
mkdir -p "$NEGDIR/wiki/concepts" "$NEGDIR/raw"
cp -r "$CAGE/schema" "$NEGDIR/schema"
# Gültiges Bundleroot-Frontmatter (sonst Punkt-8-FAIL auf wiki/index.md selbst) +
# Area-Index (Punkt 11: Area mit Inhalt MUSS index.md haben; Concepts im Parent-Index).
cat > "$NEGDIR/wiki/index.md" <<'EOF'
---
type: bundle
okf_version: "0.2"
---
# Index
- [Pos](concepts/pos.md)
- [Neg1](concepts/neg-1.md)
- [Neg2](concepts/neg-2.md)
- [Neg3](concepts/neg-3.md)
- [Concepts](concepts/index.md)
EOF
cat > "$NEGDIR/wiki/concepts/index.md" <<'EOF'
# Concepts
- [Pos](pos.md)
- [Neg1](neg-1.md)
- [Neg2](neg-2.md)
- [Neg3](neg-3.md)
EOF
cat > "$NEGDIR/wiki/log.md" <<'EOF'
# Log
EOF
# EC-1 (Fachprüfung §6): jede referenzierte raw/-Ressource MUSS als Datei existieren —
# ohne diese Dateien träge AUCH die Positiv-Kontrolle pos.md einen EC-1-FAIL (falsch-rot).
for r in pos neg-1 neg-2 neg-3; do
printf 'Evidenz: Negativ-Fixtur %s (Stelle S-1).\n' "$r" > "$NEGDIR/raw/$r.md"
done
# neg-1: required Feld 'type' fehlt (Punkt 1)
cat > "$NEGDIR/wiki/concepts/neg-1.md" <<'EOF'
---
@@ -293,14 +308,14 @@ generated:
---
Negativ-Fixtur: required Feld 'type' fehlt.
EOF
# neg-2: Bundle ohne okf_version (Punkt 8)
# neg-2: okf_version in einer Concept-Datei (Punkt 9: ausschließlich in der Bundleroot)
cat > "$NEGDIR/wiki/concepts/neg-2.md" <<'EOF'
---
okf_version: "0.2"
---
# Neg-2 (Bundleroot-Defizit: okf_version fehlt auf Bundle-Ebene)
# Neg-2 (okf_version außerhalb der Bundleroot — Punkt 9)
EOF
# neg-3: ungültiges 'at'-Datum (Punkt 11/EC-3: 2026-02-31 existiert nicht)
# neg-3: ungültiges 'at'-Kalenderdatum (Punkt 14/EC-3: 2026-02-31 existiert nicht)
cat > "$NEGDIR/wiki/concepts/neg-3.md" <<'EOF'
---
type: concept
@@ -331,8 +346,8 @@ run_validator_agent "$NEGDIR" "$NEGVAL_OUT"
grep -q '^VALIDATOR_DONE ' "$NEGVAL_OUT" || hardfail "D-NEG: Validator-Run fehlgeschlagen (kein VALIDATOR_DONE)"
pass "D-NEG.1 Negativ-Validator-Run abgeschlossen"
NEG_VERDICTS=$(grep -E '^(SUCCESS|FAIL) [^ ]+' "$NEGVAL_OUT" | head -50)
neg_count() { printf '%s\n' "$NEG_VERDICTS" | grep -c "^FAIL wiki/concepts/$1 " || true; }
pos_count() { printf '%s\n' "$NEG_VERDICTS" | grep -c "^SUCCESS wiki/concepts/$1 " || true; }
neg_count() { printf '%s\n' "$NEG_VERDICTS" | grep -cE "^FAIL (wiki/)?concepts/$1 " || true; }
pos_count() { printf '%s\n' "$NEG_VERDICTS" | grep -cE "^SUCCESS (wiki/)?concepts/$1 " || true; }
neg1=$(neg_count neg-1.md); neg2=$(neg_count neg-2.md); neg3=$(neg_count neg-3.md)
pos1=$(pos_count pos.md)
[ "$neg1" -ge 1 ] && pass "D-NEG.2 neg-1 (ohne type): FAIL-Verdikt erhalten" \
+1 -1
View File
File diff suppressed because one or more lines are too long