# ACT: eine Freigabe zurücknehmen und das Übergabepaket prüfen

Ein öffentliches, vollständig synthetisches Arbeitsbeispiel zu **F02 Begriffsübergabe** und **F06 Paketabnahme**. Zwei Eingabeformen, vier redaktionell verfasste Antwortfixtures, eine getrennte Fehlantwort und vier lokale Prüfgruppen machen den Ablauf nachspielbar. Es gibt keine Kundendaten und keine Aufrufe eines Sprachmodells.

[English instructions](README_EN.md)

## Start

ZIP vollständig entpacken. Python 3.10 oder neuer mit Standardbibliothek genügt; keine Installation zusätzlicher Pakete, kein Konto und kein Netzwerkzugang sind nötig. Im entpackten Ordner ausführen:

```text
python -B run_demo.py --check
```

Ein erfolgreicher Lauf meldet `PASS` und nennt `work/run_<Kennung>/report.json`. Jeder Lauf erzeugt einen neuen Unterordner. Die Quelldaten bleiben erhalten. Unter `work/run_<Kennung>/comparison.md` steht der lesbare Vergleich; `comparison.json` enthält die Feldprüfungen und Belege. Im Unterordner `prompts/` liegen vier vollständige Eingabevorlagen. Die F06-Rohberichte und Varianten liegen unter `f06/`; ihre relativen Pfade stehen im Gesamtbericht.

`PASS` bedeutet hier: Die beobachteten lokalen Prüfungen entsprechen [expected.json](expected.json). Die erwarteten Fehlschläge bei manipulierten oder fehlenden Dateien sind Bestandteil eines erfolgreichen Demolaufs.

## Der Fall

Das fiktive Dokument `doc-synth-17`, Fassung 2, ist technisch vollständig. Die benannte fiktive Prüferrolle erlaubt um 09:00 die externe Weitergabe. Für den ersten Fall um 09:05 gilt diese Freigabe. Um 10:00 nimmt dieselbe Rolle sie ausdrücklich zurück: Fassung 2 soll bis zu einer erneuten Freigabe zurückgehalten werden. Im zweiten Fall um 10:05 ist deshalb `hold` die vorgesehene Antwort. Alle Uhrzeiten sind erfunden. Das Programm versendet oder genehmigt nichts.

Die Korrektur wird zum greifbaren Übergabeobjekt: [payload/instruction.json](payload/instruction.json) enthält `action: hold`, `external_distribution_allowed: false` und das aktive Ereignis `E2`. Der Lauf gleicht diese drei Felder mit der korrekten F02-Korrekturfixture ab. Zusammen mit einer fiktiven Textdatei und einem Prüfvermerk bildet sie das F06-Paket.

## F02: Vergleich vorbereiten und nachvollziehen

[Glossar](data/glossary.md) und [strukturierte Übergabe](data/structured_handoff.json) enthalten dieselben sechs geordneten Fakten mit denselben IDs und Texten. [Zwei Fälle](data/cases.json) liefern in beiden Bedingungen dieselben Ereignisse und Fragen. Der Code prüft die identischen Fakten und erzeugt vollständige Eingabevorlagen für beide Formen.

Die [Antwortfixtures](data/answer_fixtures.json) wurden redaktionell vorgegeben und sind je Fall absichtlich identisch. Die separate [Rubrik](data/rubric.json) nennt erwartete Aktionen, erlaubte Weitergabe, aktives Ereignis, Rückfrage und Beleg-IDs. Das Programm vergleicht diese strukturierten Felder; die Erklärungstexte bleiben zur menschlichen Prüfung sichtbar und werden nicht automatisch inhaltlich bewertet.

Alle vier guten Fixtures sollen zur Rubrik passen. Eine gesonderte, bewusst falsche Antwort ignoriert die Rücknahme; sie muss als Abweichung erkannt werden und zählt nicht als Ausgabe einer Vergleichsbedingung. Der vorgegebene Gleichstand ist **kein empirischer Nullbefund und keine Transfermessung**. Das kleine Beispiel ist keine Durchführung des angebotenen F02-Piloten mit zwölf Varianten und 24 realen Empfängerausgaben.

Für einen späteren echten Vergleich können die Vorlagen in getrennten frischen Kontexten verwendet werden. Beide Bedingungen brauchen dieselben Sachinformationen; Umgebung, Konfiguration, Eingaben und unveränderte tatsächliche Ausgaben müssen festgehalten werden. Freie Antworten benötigen eine fachliche Bewertung. Diese Schritte führt das Downloadpaket nicht aus.

## F06: vier lokale Prüfgruppen

| Gruppe | Eingriff in eine eigene Kopie | Erwartete Beobachtung |
|---|---|---|
| P1 | Unverändertes Paket gegen mitgelieferte Referenz | `PASS` |
| P2a | Genau einmal `"hold"` durch gleich langes `"send"` in `instruction.json` ersetzen | `FAIL`, Digestabweichung |
| P2b | `instruction.json` in einer separaten Kopie entfernen | `FAIL`, fehlende Datei |
| P3 | Geänderte Datei und Manifest gemeinsam neu erzeugen | Gegen neue Referenz `PASS`, gegen alte Referenz `FAIL`; Referenzwechsel sichtbar |
| P4 | Synthetischen Signaturdatensatz mit der vorhandenen Policy abgleichen | `CROSSCHECK_ONLY`, `cryptographic_operations_performed: false` |

P2 hat zwei getrennte Unterfälle. P3 bewahrt die alte Referenz; es überschreibt keine ursprüngliche Freigabe. Die injizierte Aktion `send` bleibt auch nach einem neuen Manifest eine absichtliche Abweichung vom korrigierten Auftrag. Das neue `PASS` bewertet die passende Dateireferenz, keine fachliche Richtigkeit. P4 verwendet einen gesonderten [synthetischen Metadatensatz](data/signature_record.json) mit einer [Bezugsdatei](data/signature_subject.txt); es signiert weder diese Datei noch das Übergabepaket.

Acht vorhandene ACT-Module sind unverändert eingebunden. In manifest.py ergänzt diese Arbeitsprobe den fehlenden Import EXIT_CHANGED, damit während der Manifest-Erstellung erkannte Datei- oder Baumänderungen den vorgesehenen Prüfungsfehler auslösen. Originalhash und dieser einzelne Importfix sind im Herkunftsbeleg getrennt dokumentiert. Der neue Demotreiber legt Kopien an und protokolliert die Ergebnisse. Das mitgelieferte [Manifest](reference/manifest.json) erfasst die drei Nutzdateien; [source_manifest.json](source_manifest.json) enthält zusätzlich Prüfsummen der Paketdateien. Beide Referenzen liegen im selben Download: Sie sind keine unabhängigen Vertrauensanker. Ein Byteabgleich belegt hier Übereinstimmung mit der gewählten Referenz, keine authentisierte Herkunft oder Autorisierung. Der Policy-Abgleich führt keine kryptografische Signaturprüfung aus. Auch PASS-Werte für identity, revocation oder role im Rohbericht bedeuten nur, dass die synthetischen Metadaten die jeweiligen Regeln erfüllen; sie bestätigen keine reale Identität, Widerrufsauskunft oder Berechtigung. HTTP, JWS und eine Agentenruntime gehören nicht zu diesem Beispiel.

## Herkunft und Nutzung

[source_provenance.json](source_provenance.json) nennt die relativen Originalquellen und Hashes der übernommenen Module. Die Falltexte, Fixtures, Eingabevorlagen und Demotreiber wurden für dieses Arbeitsbeispiel neu erstellt, mit KI-Unterstützung und lokaler Prüfung. Es werden keine privaten Rohdialoge oder fremden Modellantworten mitgeliefert. Die Veröffentlichung dieser Arbeitsprobe erteilt keine neue Softwarelizenz oder weitergehenden Rechte am Gesamtbestand; vorhandene Hinweise in den Quelldateien bleiben maßgeblich. Lokales Nachspielen ist der Zweck des Pakets.

[F02-Pilot anfragen](https://augmanitai.com/pilotprojekt/#f02) · [F06-Pilot anfragen](https://augmanitai.com/pilotprojekt/#f06)
