{
  "version": 3,
  "accessed": "2026-09-02",
  "passed": true,
  "method": {
    "selection": "Bewusste risikogewichtete Stichprobe: sechs folgenreiche Health-/Responsible-AI-Fälle, sechs Aufgaben mit unabhängig reproduzierbarer Arithmetik, je drei dichte Statistik- und ML-Konzeptclaims sowie vier Engineering-/MLOps-Claims mit konkreten Failure-Mode-Gegenbeispielen.",
    "assuranceBoundary": "Der Audit prüft konkrete Claim-zu-Quelle-Passungen und Zahlen, Gegenfragen zu sechs Statistik-/ML-Konzeptclaims sowie widerlegbare Betriebsannahmen bei vier Engineering-/MLOps-Claims. Er beweist weder die fachliche Wahrheit der übrigen Inhalte noch die Rechtmäßigkeit, Zuverlässigkeit oder Einsatztauglichkeit eines realen Systems.",
    "independence": "Die erwarteten Zahlen werden aus strukturierten Inputs neu berechnet. Bei Quellen- und Konzepturteilen bleiben Auswahlgrund, Belegreichweite, Gegenprüfungsfrage, konkretes Gegenbeispiel, beobachtbares Stop-Signal, redaktionelle Disposition und verbleibende Grenze explizit. Ein maschinell bestandenes Feld ersetzt kein externes Fach-, Security- oder Rechtsreview."
  },
  "counts": {
    "total": 22,
    "healthResponsibleAI": 6,
    "mathematical": 6,
    "conceptStatistics": 3,
    "conceptMachineLearning": 3,
    "conceptEngineeringOperations": 4
  },
  "samples": [
    {
      "auditId": "risk-health-pricing",
      "contentId": "apkv-case-007",
      "riskClass": "health-consequential",
      "sourceId": "src-edpb-automated-decisions-2026",
      "sourceFit": "bounded-direct",
      "claim": "Individuelles Risiko-/Pricing darf nicht als beiläufiges Modellproblem behandelt werden; Intended Purpose, Profiling, Rechtsgrundlage, Betroffene, Governance und Abhilfe sind vor einem Prototyp zu klären.",
      "sourceEvidence": "Die EDPB-Leitlinie behandelt ausschließlich automatisierte Einzelentscheidungen und Profiling, rechtliche oder ähnlich erhebliche Wirkungen sowie Bedingungen für wirksame menschliche Beteiligung.",
      "scopeLimit": "Die Quelle macht nicht jedes Versicherungsmodell unzulässig und entscheidet keinen konkreten APKV-Fall. Das No-AI-Votum ist eine vorsichtige Lernempfehlung unter absichtlich ungeklärten Annahmen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "risk-health-summary",
      "contentId": "apkv-case-025",
      "riskClass": "health-consequential",
      "sourceId": "src-nist-genai-profile",
      "sourceFit": "bounded-direct",
      "claim": "Eine generative Zusammenfassung kann falsche oder inkonsistente Inhalte erzeugen; deshalb bleiben Original, Quellenstellen, kritischer Recall, Fachreview und Stopregel erforderlich.",
      "sourceEvidence": "NIST beschreibt überzeugend falsche oder inkonsistente GenAI-Ausgaben und verlangt kontextgebundene Messung und Risikosteuerung über den Lifecycle.",
      "scopeLimit": "NIST setzt keine universelle Recall-Schwelle und validiert weder medizinische Zusammenfassung noch den hypothetischen Workflow. Die fachliche Freigabe bleibt fallspezifisch.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "risk-agentic-send",
      "contentId": "apkv-case-028",
      "riskClass": "health-security",
      "sourceId": "src-owasp-llm-2025",
      "sourceFit": "direct",
      "claim": "Prompt Injection und Toolmissbrauch werden nicht durch RAG beseitigt; externe Aktionen brauchen minimale Privilegien, begrenzte Agency, Validierung und explizite Freigabe.",
      "sourceEvidence": "OWASP behandelt direkte und indirekte Prompt Injection, minimale Agency, Berechtigungsgrenzen und Output-Validierung als Systemkontrollen.",
      "scopeLimit": "OWASP ist ein Sicherheitsleitfaden und keine Garantie, Rechtsberatung oder Begründung interner APKV-Architektur. Das Versand-No-go folgt zusätzlich aus den Szenarioannahmen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "risk-anomaly-triage",
      "contentId": "apkv-case-032",
      "riskClass": "health-fairness",
      "sourceId": "src-sklearn-outliers",
      "sourceFit": "bounded-direct",
      "claim": "Outlier- und Novelty-Detection schätzen Abweichung beziehungsweise einen Normalbereich unter methodischen Annahmen; ein Score ist dadurch kein Betrugsbeweis.",
      "sourceEvidence": "Die offizielle Dokumentation trennt Outlier Detection, Novelty Detection, Kontaminationsannahme, Schwelle und Anwendung auf Trainings- versus neuen Daten.",
      "scopeLimit": "Die Softwaredokumentation belegt keine geeignete Betrugsmetrik, faire Reviewpolicy oder APKV-Anwendung. Kontrollstichprobe und advisory-only Votum sind begründete Fallgestaltung.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "risk-shadow-ai",
      "contentId": "apkv-case-036",
      "riskClass": "health-privacy",
      "sourceId": "src-bfdi-ki-handreichung-2025",
      "sourceFit": "direct-with-jurisdiction-limit",
      "claim": "Bei KI-Nutzung mit personenbezogenen Daten müssen Zweck, Rechtsgrundlage, Datenminimierung und Schutzmaßnahmen früh geklärt werden; Gesundheitsdaten benötigen besonderen Schutz.",
      "sourceEvidence": "Die BfDI-Handreichung nennt genau diese Datenschutzschritte und den erhöhten Schutzbedarf von Gesundheitsdaten.",
      "scopeLimit": "Die Handreichung richtet sich an die Bundesverwaltung und bestimmt weder Meldepflicht noch Löschbarkeit in einem konkreten privaten Incident. Diese Punkte müssen zuständige Rollen fallspezifisch prüfen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "risk-rag-deletion",
      "contentId": "apkv-case-039",
      "riskClass": "health-privacy",
      "sourceId": "src-eurlex-gdpr",
      "sourceFit": "bounded-inference",
      "claim": "Zweckbindung und Datenminimierung gelten auch für abgeleitete Retrieval-Artefakte; eine behauptete Löschung braucht dokumentierte Lineage und technische Verifikation.",
      "sourceEvidence": "Artikel 5 der DSGVO stützt Zweckbindung und Datenminimierung; Artikel 9 den besonderen Schutz von Gesundheitsdaten.",
      "scopeLimit": "Die konkrete Löschkette, Aufbewahrung, Backupbehandlung und Rechtsgrundlage folgen nicht allein aus diesen Artikeln. Lineage-Tests sind technische Vorsorge, keine Rechtsfeststellung.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true
      },
      "calculated": null
    },
    {
      "auditId": "math-ci-mean",
      "contentId": "stat-ci-002",
      "riskClass": "mathematical",
      "sourceId": "src-nist-ci",
      "sourceFit": "methodological",
      "claim": "Für n=25, Mittelwert 12, Stichproben-SD 2,5 und t*=2,064 ist die Margin 1,032 und das Intervall [10,968; 13,032].",
      "sourceEvidence": "NIST dokumentiert das t-Konfidenzintervall für einen Mittelwert; der Runner reproduziert die eingesetzten synthetischen Zahlen unabhängig.",
      "scopeLimit": "Die Rechnung setzt eine Zufallsstichprobe und ein für das Verfahren tragfähiges Mittelwertmodell voraus; sie belegt keine APKV-Population.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        1.032,
        10.968,
        13.032
      ]
    },
    {
      "auditId": "math-bayes-base-rate",
      "contentId": "stat-bayes-001",
      "riskClass": "mathematical",
      "sourceId": "src-nist-bayes",
      "sourceFit": "methodological",
      "claim": "Bei Prävalenz 0,02, Sensitivität 0,90 und Falsch-Positiv-Rate 0,05 beträgt P(Ereignis|Signal) rund 0,268657.",
      "sourceEvidence": "NIST stützt die Bayes-Umkehrung; der Runner berechnet Zähler und vollständigen Evidenznenner aus den Lerninputs.",
      "scopeLimit": "Sensitivität und Falsch-Positiv-Rate sind hier als stabil angenommen. Ohne Transportabilität und kalibrierte Basisrate gilt das Ergebnis nicht für andere Populationen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        0.26865671641791045
      ]
    },
    {
      "auditId": "math-bias-variance-mse",
      "contentId": "stat-est-001",
      "riskClass": "mathematical",
      "sourceId": "src-stanford-estimation",
      "sourceFit": "methodological",
      "claim": "T1 mit Werten 8/12 hat Bias 0, Varianz 4, MSE 4; T2 mit Werten 10/11 hat Bias 0,5, Varianz 0,25, MSE 0,5.",
      "sourceEvidence": "Die Lehrunterlage stützt Schätzer-/Schätzungsunterscheidung und MSE=Varianz+Bias²; der Runner berechnet beide diskreten Stichprobenverteilungen.",
      "scopeLimit": "Die Wahl von T2 folgt nur unter quadratischem Verlust und den angegebenen gleichwahrscheinlichen Verteilungen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        0.0,
        4.0,
        4.0,
        0.5,
        0.25,
        0.5
      ]
    },
    {
      "auditId": "math-power-size",
      "contentId": "stat-power-002",
      "riskClass": "mathematical",
      "sourceId": "src-nist-sample-size",
      "sourceFit": "methodological",
      "claim": "Mit z=1,96 und 0,842 sowie delta=0,5 sigma ergibt die z-Näherung n=31,404816 und damit 32 unabhängige Einheiten.",
      "sourceEvidence": "NIST stützt die Abhängigkeit der Fallzahl von Alpha, Power, Verschiebung und Streuung; der Runner berechnet und rundet die konkrete Näherung.",
      "scopeLimit": "Die Ein-Gruppen-z-Näherung mit bekannter Streuung ist keine universelle Planung für t-, Cluster-, Dropout- oder multiple Designs.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        31.404816,
        32.0
      ]
    },
    {
      "auditId": "math-confusion-metrics",
      "contentId": "ml-eval-001",
      "riskClass": "mathematical",
      "sourceId": "src-sklearn-metrics",
      "sourceFit": "methodological",
      "claim": "Für TP=72, FP=108, FN=28, TN=792 gelten Accuracy 0,864, Precision 0,4, Recall 0,72, Spezifität 0,88 und F1 rund 0,514286.",
      "sourceEvidence": "Die offizielle Dokumentation definiert die Klassifikationsmetriken; der Runner berechnet sie direkt aus der Konfusionsmatrix.",
      "scopeLimit": "Keine dieser Metriken allein bestimmt eine Deployment-Schwelle; Fehlerkosten, Kapazität, Kalibrierung und Subgruppen bleiben offen.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        0.864,
        0.4,
        0.72,
        0.88,
        0.5142857142857142
      ]
    },
    {
      "auditId": "math-row-split-overlap",
      "contentId": "ml-val-002",
      "riskClass": "mathematical",
      "sourceId": "src-sklearn-cv",
      "sourceFit": "methodological",
      "claim": "Bei drei unabhängig gesplitteten Zeilen liegt eine Person mit Wahrscheinlichkeit 0,8^3+0,2^3=0,52 nur auf einer Seite und mit 0,48 auf beiden Seiten.",
      "sourceEvidence": "Die offizielle Cross-Validation-Dokumentation stützt gruppenbewusste Splits; der Runner reproduziert die konkrete Binomialwahrscheinlichkeit.",
      "scopeLimit": "Die 48 Prozent gelten nur für genau drei unabhängig zugewiesene Zeilen und einen 80/20-Split; reale Zeilenzahlen und Abhängigkeiten verändern den Wert.",
      "independentReviewQuestion": null,
      "editorialFinding": null,
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "calculationPresent": true,
        "calculationMatches": true
      },
      "calculated": [
        0.5200000000000001,
        0.47999999999999987
      ]
    },
    {
      "auditId": "concept-stat-pvalue",
      "contentId": "tests",
      "riskClass": "concept-statistics",
      "sourceId": "src-asa-p-values",
      "sourceFit": "direct",
      "claim": "Ein p-Wert ist unter H0 die Wahrscheinlichkeit eines mindestens so extremen Teststatistikwerts; er ist weder P(H0|Daten) noch Effektgröße und bestimmt ohne Design, Unsicherheit und praktische Relevanz keine Entscheidung.",
      "sourceEvidence": "Die ASA-Erklärung trennt p-Werte ausdrücklich von der Wahrscheinlichkeit, dass eine Hypothese wahr ist, und warnt vor Schlussfolgerungen allein aufgrund einer Schwelle.",
      "scopeLimit": "Die Quelle legt kein universelles Testverfahren, Alpha oder Entscheidungsmodell fest. Auswahl, Estimand, Multiplicity, Sampling und Fehlerfolgen bleiben kontextabhängig.",
      "independentReviewQuestion": "Beantwortet der Claim P(Daten oder extremere Daten|H0), P(H0|Daten), eine Effektgröße oder eine Entscheidung — und bleiben diese Größen sprachlich getrennt?",
      "editorialFinding": "Die Seite trennt die bedingten Richtungen korrekt und koppelt Signifikanz an Effekt, Intervall, Design und Entscheidung; keine Korrektur erforderlich.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-stat-confidence",
      "contentId": "ci",
      "riskClass": "concept-statistics",
      "sourceId": "src-nist-ci",
      "sourceFit": "methodological",
      "claim": "Ein frequentistisches 95%-Konfidenzverfahren deckt den fixen Parameter in 95% hypothetischer Wiederholungen unter seinen Annahmen; das konkrete realisierte Intervall erhält dadurch nicht automatisch 95% Posteriorwahrscheinlichkeit.",
      "sourceEvidence": "NIST definiert Konfidenzintervalle über langfristige Coverage wiederholter Stichproben und dokumentiert die Modell- und Samplingannahmen des Mittelwertintervalls.",
      "scopeLimit": "Coverage gilt nur für das spezifizierte Verfahren und tragfähige Annahmen; Selektion, Abhängigkeit, Messfehler oder fehlende Randomisierung werden durch die Formel nicht repariert.",
      "independentReviewQuestion": "Wird Wahrscheinlichkeit dem zufälligen Verfahren statt nach Beobachtung dem fixen Parameter zugeschrieben, und werden die Annahmen des Coverage-Claims sichtbar begrenzt?",
      "editorialFinding": "Die Seite erklärt langfristige Coverage, trennt Parameter und Intervall und nennt Sampling- sowie Modellgrenzen; keine Korrektur erforderlich.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-stat-predictive-check",
      "contentId": "bayesian-workflows",
      "riskClass": "concept-statistics",
      "sourceId": "src-stan-ppc-versioned-2026",
      "sourceFit": "direct",
      "claim": "Posterior-prädiktive Checks ziehen replizierte Daten aus dem durch Posterior und Likelihood bestimmten Modell und vergleichen relevante Statistiken; sie können Mismatch zeigen, aber ein unauffälliger Check beweist kein wahres Modell.",
      "sourceEvidence": "Der Stan User's Guide 2.39 definiert die Posterior-Predictive-Verteilung, simulierte Replikationen und Vergleiche beobachteter mit replizierten Statistiken sowie deren diagnostischen Charakter.",
      "scopeLimit": "Das Ergebnis hängt von Modell, Replikationsschema und gewählten Prüfstatistiken ab und belegt weder externe Vorhersagegüte noch Samplingqualität oder Entscheidungstauglichkeit.",
      "independentReviewQuestion": "Sind Replikationsverteilung, Konditionierung und Prüfstatistik klar, und wird ein guter Check ausdrücklich von Modellwahrheit und externer Validierung getrennt?",
      "editorialFinding": "Der Workflow benennt Konditionierung, Predictive Check, Sensitivität und Nichtbeweisgrenze; die neue versionierte Quelle wird direkt an der Seite angebracht.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ml-group-split",
      "contentId": "ml-validation",
      "riskClass": "concept-machine-learning",
      "sourceId": "src-sklearn-groupkfold-2026",
      "sourceFit": "bounded-direct",
      "claim": "Wenn mehrere Zeilen derselben Deployment-Einheit zusammengehören, müssen Gruppen zwischen Folds getrennt werden; GroupKFold verhindert Gruppenüberlappung, ersetzt aber weder Zeitordnung noch eine fachlich richtige Gruppendefinition.",
      "sourceEvidence": "Die offizielle GroupKFold-Dokumentation garantiert nicht überlappende Gruppen und genau einen Testauftritt jeder Gruppe über alle Folds; weitere Einsatzannahmen werden nicht garantiert.",
      "scopeLimit": "GroupKFold löst keine Zeitreise, Labelverzögerung, Selektion, Verteilungsverschiebung oder Gruppen-Transportabilität. Die fachliche Einheit muss vor dem Split definiert werden.",
      "independentReviewQuestion": "Entspricht die Gruppenvariable der später unabhängigen Einheit, und werden Zeit, Labelverfügbarkeit und Auswahlprozess zusätzlich statt implizit durch GroupKFold behandelt?",
      "editorialFinding": "Die Seite beginnt mit Zeitpunkt, Einheit und Auswahlprozess und behandelt Group- und Time-Splits getrennt; die engere API-Quelle ergänzt die bestehende User-Guide-Quelle.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ml-calibration-fit",
      "contentId": "ml-evaluation",
      "riskClass": "concept-machine-learning",
      "sourceId": "src-sklearn-calibrated-cv-2026",
      "sourceFit": "bounded-direct",
      "claim": "Kalibrator und finale Güte dürfen nicht unkontrolliert auf denselben Outcomes gelernt und berichtet werden; Cross-Validation kann getrennte Fit-/Kalibrierungsanteile erzeugen, garantiert aber keine zeitliche oder deploymentbezogene Transportabilität.",
      "sourceEvidence": "Die offizielle API dokumentiert, dass Basisschätzer je Fold auf Trainingsdaten und Kalibrator auf den jeweiligen Testdaten gelernt werden, sowie Überfit-Risiken kleiner Kalibrierungsstichproben.",
      "scopeLimit": "Der API-Default kennt weder Einsatzzeit noch Gruppen, Kosten oder Drift. Ein getrenntes Fitverfahren beweist keine stabile Kalibrierung in einer neuen Population.",
      "independentReviewQuestion": "Sind Modellfit, Kalibratorfit, Modellwahl und finale Evaluation datenlogisch getrennt, und wird Kalibrierung unabhängig von Ranking und Schwellenpolicy beurteilt?",
      "editorialFinding": "Die Seite trennt Ranking, Kalibrierung, Schwelle und Workflow und verbietet Fit und finale Bewertung auf denselben Fällen; die API-Quelle macht die Implementierungsgrenze konkreter.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ml-softmax-calibration",
      "contentId": "ml-neural-networks",
      "riskClass": "concept-machine-learning",
      "sourceId": "src-sklearn-calibrated-cv-2026",
      "sourceFit": "bounded-inference",
      "claim": "Eine Softmax-Ausgabe ist nicht allein aufgrund ihrer Normierung kalibriert; Kalibrierungsmethode, getrennte Daten, mehrere Seeds, Einsatzverteilung und Schwellenworkflow müssen gegen einfachere Baselines geprüft werden.",
      "sourceEvidence": "Die API stellt Kalibrierung als eigenen Fit-Schritt mit Cross-Validation und mehreren Methoden dar; sie beschreibt zusätzlich datenabhängige Grenzen wie isotones Überfit bei kleinen Kalibrierungsmengen.",
      "scopeLimit": "Die Quelle belegt nicht, dass jedes neuronale Netz fehlkalibriert ist, und bestimmt keine universelle Methode. Architektur, Loss, Shift und Workflow erfordern eigene Evaluation.",
      "independentReviewQuestion": "Wird zwischen Score-Normierung, probabilistischer Kalibrierung, Diskrimination und Entscheidung unterschieden, ohne pauschal schlechte Kalibrierung jeder Architektur zu behaupten?",
      "editorialFinding": "Die Seite formuliert die Aussage als Prüfpflicht statt universellen Defekt und bindet Kalibrierung an getrennte Daten, Policy-nahe Metriken und Baselinevergleich.",
      "failureModeExample": null,
      "falsificationSignal": null,
      "editorialDisposition": null,
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ops-data-contract-alert",
      "contentId": "data-engineering",
      "riskClass": "concept-engineering-operations",
      "sourceId": "src-google-sre-monitoring-2026",
      "sourceFit": "bounded-inference",
      "claim": "Datenverträge müssen harte Schema-, Grain-, Zeit- und Werteverletzungen von statistischen Warnsignalen trennen; nur ein Alarm mit Owner, Kontext und konkreter Reaktion ist betriebsfähig.",
      "sourceEvidence": "Google SRE trennt Trendanalyse, Vergleich, Alerting und Diagnose und warnt vor Paging aufgrund eines bloß unspezifischen Auffälligkeitssignals; hohe Signalqualität und geringe Störlast sind eigene Betriebsanforderungen.",
      "scopeLimit": "Die Quelle definiert keinen ML-Datenvertrag und keine universellen Schema- oder Driftgrenzen. Grain, Zeitbezug, Owner und Reaktion bleiben eine begründete Übertragung auf den Lernworkflow.",
      "independentReviewQuestion": "Kann jeder harte Vertragsbruch und jedes weiche Verteilungssignal einer beobachtbaren Ursache, einem Owner und einer vorab bestimmten Reaktion zugeordnet werden, ohne Drift als Performanceverlust auszugeben?",
      "editorialFinding": "Die Seite trennt harte Grain-/Zeit-/Schemaverträge jetzt ausdrücklich von weichen Warnsignalen und ergänzt, dass ein Alarm ohne Owner und Handlungsregel kein automatischer Retrainingbefehl ist.",
      "failureModeExample": "Ein neuer Many-to-many-Join erhöht die Zeilenzahl um sieben Prozent, während ein globaler PSI-Alarm nur Verteilungsänderung meldet; das Team retrainiert und konserviert dadurch die vervielfachten Labels.",
      "falsificationSignal": "Die Annahme eines gesunden Datenstroms ist widerlegt, sobald eindeutige Schlüssel, as-of-Zeitgrenzen oder erwartete Zeilenzahl scheitern; der Pipeline-Lauf stoppt vor Modellmonitoring oder Retraining.",
      "editorialDisposition": "narrowed",
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true,
        "operationsFailureModeFields": true,
        "operationsDispositionAllowed": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ops-canary-attribution",
      "contentId": "mlops-lifecycle",
      "riskClass": "concept-engineering-operations",
      "sourceId": "src-google-sre-canary-2026",
      "sourceFit": "direct",
      "claim": "Ein Canary begrenzt Exposition, beweist aber keine sichere Vollfreigabe; Dauer, Population, getrennte Versionsmetriken, Zurechenbarkeit, absolute Guardrails und Stop-/Rollbackregel müssen zum Workflow passen.",
      "sourceEvidence": "Das offizielle SRE-Workbook definiert Canarying als partielles zeitbegrenztes Deployment, verlangt Vergleich und Releaseentscheidung und beschreibt Repräsentativitäts-, Attributions-, Isolations- und Vorher-nachher-Fallen.",
      "scopeLimit": "Das Kapitel illustriert überwiegend Softwareservices. Bei ML kommen verzögerte Labels, fachliche Qualität, Subgruppen und menschlicher Workflow hinzu; keine Canary-Quote oder Dauer gilt universell.",
      "independentReviewQuestion": "Erfasst die Canary-Population relevante Einheiten, Zeitfenster und seltene Pfade, sind Candidate und Control metrisch getrennt, und beendet ein absolutes Guardrail die Freigabe auch bei unauffälligem Relativvergleich?",
      "editorialFinding": "Die MLOps-Seite behandelt Canary nicht mehr nur als Freigabestufe, sondern nennt Repräsentativität, Attributionsgrenze, seltene Pfade und absolute Stopkriterien.",
      "failureModeExample": "Ein fünfprozentiger Canary sieht nur häufige Dokumenttypen; die seltene Parserkonfiguration, die nach Vollrollout falsche Felder erzeugt, kommt in der Beobachtungszeit nicht vor und der Canary bleibt grün.",
      "falsificationSignal": "Die Freigabeannahme ist widerlegt, wenn Candidate-versus-Control nicht getrennt messbar ist, die Repräsentativitätsabdeckung unter dem vorab definierten Minimum liegt oder ein absolutes Fehler-/Impact-Guardrail verletzt wird.",
      "editorialDisposition": "narrowed",
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true,
        "operationsFailureModeFields": true,
        "operationsDispositionAllowed": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ops-tested-rollback",
      "contentId": "mlops-lifecycle",
      "riskClass": "concept-engineering-operations",
      "sourceId": "src-google-sre-emergency-2026",
      "sourceFit": "bounded-direct",
      "claim": "Rollback ist eine getestete Systemfähigkeit und nicht nur eine alte Modelldatei; Wiederherstellung muss Artefakt, Konfiguration, Schema/State, Abhängigkeiten, Zugriffspfad und fachlichen Fallback gemeinsam abdecken.",
      "sourceEvidence": "Googles dokumentierter Vorfall zeigt, dass ungeprüfte Rollbackverfahren die Wiederherstellung verlängerten; andere Fälle zeigen versteckte Abhängigkeiten, Alarmfluten und seltene Konfigurationskombinationen trotz vorherigem Canary.",
      "scopeLimit": "Die Fallberichte stammen aus Googles Infrastruktur und quantifizieren keine APKV- oder ML-Ausfallwahrscheinlichkeit. Die Übertragung betrifft die Widerlegung der Annahme, ein vorhandenes Altartefakt garantiere Wiederherstellung.",
      "independentReviewQuestion": "Wurde der Rückweg unter realistischen Schema-, State-, Berechtigungs- und Dependency-Bedingungen geprobt, und bleiben Kommunikations- und Fallbackwege erreichbar, wenn die normale Bedienoberfläche ausfällt?",
      "editorialFinding": "Die frühere knappe Formulierung ‚bekannte sichere Version‘ war zu stark; die Seite korrigiert sie zu einem regelmäßig geprobten, end-to-end validierten Rückweg samt alternativem Zugriff und manuellem Fallback.",
      "failureModeExample": "Das vorige Modellartefakt existiert, erwartet aber das alte Feature-Schema; die Online-Tabelle wurde nicht rückwärtskompatibel migriert und der einzige Rollback-Button hängt an derselben ausgefallenen Oberfläche.",
      "falsificationSignal": "Die Rollback-Bereitschaft ist widerlegt, wenn ein kontrollierter Drill die bekannte Version nicht innerhalb des Zielzeitfensters mit validiertem Schema, erreichbarem Zugriffspfad und geprüftem Fallback in Betrieb bringt.",
      "editorialDisposition": "corrected",
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true,
        "operationsFailureModeFields": true,
        "operationsDispositionAllowed": true
      },
      "calculated": null
    },
    {
      "auditId": "concept-ops-incident-lifecycle",
      "contentId": "mlops-lifecycle",
      "riskClass": "concept-engineering-operations",
      "sourceId": "src-nist-incident-response-2025",
      "sourceFit": "direct",
      "claim": "Incident Response beginnt vor dem Ereignis mit Rollen, Kommunikations- und Recovery-Vorbereitung und endet nicht beim technischen Fix; Erkennung, Reaktion, Wiederherstellung und nachlaufende Risikoverbesserung gehören zusammen.",
      "sourceEvidence": "NIST SP 800-61 Rev. 3 integriert Incident Response in das laufende CSF-2.0-Risikomanagement und beschreibt Vorbereitung sowie Detection, Response und Recovery als zusammenhängende Funktionen.",
      "scopeLimit": "NIST setzt keine ML-spezifische Severity-Matrix, Kommunikationsfrist oder Abhilfeschwelle. Betroffenenprüfung, Modellrollback und fachliche Korrektur müssen für den konkreten Workflow ergänzt werden.",
      "independentReviewQuestion": "Sind Owner, alternative Kommunikation, Evidenzsicherung, Wirkungseindämmung, Recovery-Ziel, Betroffenenkorrektur und überprüfte Folgeaktionen vorab zugeordnet statt erst während des Vorfalls improvisiert?",
      "editorialFinding": "Die MLOps-Seite erweitert das lineare Runbook um Preparation und Recovery, alternative Kommunikation, betroffene Outputs und einen Tabletop-Nachweis; NIST bleibt als allgemeiner Rahmen sichtbar begrenzt.",
      "failureModeExample": "Das Modell wird deaktiviert, doch niemand besitzt die Review-Queue; betroffene Outputs bleiben unidentifiziert, Statuskommunikation läuft über den ausgefallenen Dienst und dieselbe Datenursache erzeugt beim Wiederanlauf erneut Fehler.",
      "falsificationSignal": "Die Behauptung eines einsatzfähigen Incidentpfads ist widerlegt, wenn ein Tabletop-Drill keinen erreichbaren Owner, keine unabhängige Kommunikation, keine rekonstruierbare Versions-/Outputmenge oder kein messbares Recovery-Ziel nachweisen kann.",
      "editorialDisposition": "narrowed",
      "passed": true,
      "checks": {
        "requiredFields": true,
        "contentResolves": true,
        "sourceResolves": true,
        "sourceAttachedToContent": true,
        "sourceFitClassified": true,
        "claimSubstantial": true,
        "evidenceSubstantial": true,
        "scopeLimitSubstantial": true,
        "reviewVerdictPass": true,
        "conceptFieldsPresent": true,
        "conceptContentIsPage": true,
        "operationsFailureModeFields": true,
        "operationsDispositionAllowed": true
      },
      "calculated": null
    }
  ],
  "errors": [],
  "limitations": "Kuratiertes 22er-Audit mit maschinengeprüften Metadaten, Zahlen, sechs Statistik-/ML-Konzeptgegenprüfungen und vier widerlegbaren Engineering-/MLOps-Failure-Modes. Claim-Passungs- und redaktionelle Urteile sind transparent dokumentiert, aber kein automatischer Wahrheitsbeweis, Zuverlässigkeitsnachweis oder externes Rechts-/Fachgutachten."
}
