From 36c804325b2568b60f3e4ebc0a537f3f315bc8a3 Mon Sep 17 00:00:00 2001 From: Red Queen Date: Tue, 25 Aug 2026 07:35:31 +0000 Subject: [PATCH] docs: RQ-NOTION-PILOT-20260825-001 Pilot-Backup-Doku (Notion Safety Brain) --- notion-safety-brain/PILOT_RUN_20260825_001.md | 159 ++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 notion-safety-brain/PILOT_RUN_20260825_001.md diff --git a/notion-safety-brain/PILOT_RUN_20260825_001.md b/notion-safety-brain/PILOT_RUN_20260825_001.md new file mode 100644 index 0000000..63c1871 --- /dev/null +++ b/notion-safety-brain/PILOT_RUN_20260825_001.md @@ -0,0 +1,159 @@ +# RED QUEEN — NOTION SAFETY BRAIN · PILOT BACKUP & RESTORE-READINESS TEST + +**Status:** ABGESCHLOSSEN (Pilot) +**Run-ID:** `RQ-NOTION-PILOT-20260825-001` +**Datum:** 2026-08-25 +**Writer:** Red Queen +**Sprache:** Deutsch + +> Diese Datei dokumentiert die Pilot-Architektur und die Ergebnisse des ersten +> kontrollierten Backup-Pilots von Forgejo + Tolaria in das Notion Safety Brain. +> **Keine Secrets.** Keine Credentials. Keine Quell-System-Mutation. + +--- + +## 1. AUTORITATIVE ARCHITEKTUR + +- **Forgejo** = Source of Truth für Forgejo-Inhalte. +- **Tolaria** = Source of Truth für Tolaria-Inhalte. +- **Notion** = SAFETY BRAIN / Sicherheitskopie / Knowledge Index / Restore-Hilfe. +- **KEIN** bidirektionaler Sync. **KEINE** Rückschreibung Notion → Forgejo/Tolaria. + +--- + +## 2. PILOT RUN ID + +`RQ-NOTION-PILOT-20260825-001` + +Schema: `RQ-NOTION-PILOT-YYYYMMDD-NNN` — stabil, eindeutig, ordnet alle 10 Objekte diesem Run zu. + +--- + +## 3. AUSGEWÄHLTE QUELLEN (5 Forgejo + 5 Tolaria) + +| # | System | Pfad | Content-Typ | SOURCE_HASH (SHA-256, 12 Zeichen) | +|---|--------|------|-------------|-----------------------------------| +| 1 | forgejo | `notion-safety-brain/PROVENANCE_MODEL.md` | adr | `d2e4d083f4d8` | +| 2 | forgejo | `notion-safety-brain/DATA_CLASSIFICATION.md` | decision | `4538e4f14fbf` | +| 3 | forgejo | `tolaria/BACKUP_ARCHITECTURE.md` | architecture | `c64cd311d8a8` | +| 4 | forgejo | `red-queen-architecture/SAFETY_CONTRACT.md` | contract | `046da63c5731` | +| 5 | forgejo | `infrastructure-handbook.md` | reference | `708ccc532585` | +| 6 | tolaria | `notes/start.md` | note | `c2ffd4e071ec` | +| 7 | tolaria | `notes/trading/trading.md` | note | `a09aef8409cb` | +| 8 | tolaria | `notes/ai-agents/alice-betrieb.md` | note | `45444b29163c` | +| 9 | tolaria | `notes/ai-agents/ai-agents.md` | hub | `691949bb64cd` | +| 10 | tolaria | `notes/projects/projekte.md` | hub | `586ec58668d7` | + +**Auswahlbegründung (repräsentativ, klein, kategorienübergreifend):** +- **Forgejo:** Architektur, Entscheidungs-Doku, ADR, Safety-Contract, Referenz-Handbuch. +- **Tolaria:** Start/Überblick, Trading-Modul, AI-Agenten-Betrieb (2), Projekt-Hub. + +--- + +## 4. MAPPING (Source → Notion-Ziel) + +| System | Notion-Parent-Ziel | +|--------|--------------------| +| Forgejo | „Forgejo Backups" page `3c793a20-cfac-80a4-bdad-d9db7753f11f` | +| Tolaria | „Tolaria Backups" page `3c793a20-cfac-80b3-bff7-f2020bbfed0d` | +| Index | „Safety Brain Index" database `3c793a20-cfac-805c-b990-fc6b055d76c0` | + +--- + +## 5. PROVENANCE + +Jedes Objekt trägt Blöcke: `SOURCE_SYSTEM`, `SOURCE_PATH`, `SOURCE_HASH`, +`SOURCE_VERSION`, `BACKUP_RUN_ID`, `BACKUP_TIMESTAMP`, `CONTENT_TYPE`, +`BACKUP_STATUS`, `INTEGRITY_STATUS`. Version: `FORGEJO_HEAD:` bzw. `TOLARIA:host-vault`. + +--- + +## 6. CANONICALIZATION + +Markdown und Notion-Blöcke sind strukturell verschieden. Raw-Byte-Hash der +Notion-Darstellung ≠ Markdown-Dateihash. Getrennt: +- **SOURCE_HASH** = SHA-256 des unveränderten Quellobjekts. +- **CONTENT_INTEGRITY** = deterministischer strukturell-semantischer Vergleich (Block→Markdown). + +Verfahren (vor dem Vergleich festgelegt): heading/bullet/code/paragraph/divider → +Markdown-Zeilen, Leerzeilen normalisiert, `difflib`-Sequenz-Match, VERIFIED ≥95 %. +**Ergebnis: 10/10 VERIFIED.** + +--- + +## 7. WRITE-ERGEBNIS (Notion) + +- **NOTION_WRITTEN = 10** (alle HTTP 200). +- SAFETY_CONTRACT (>100 Blöcke) per 3 Chunks wegen Notions 100-Block-Limit. +- Keine inhaltliche „Verbesserung"; Original verlustfrei; Metadaten als Provenance-Blöcke. + +--- + +## 8. READ-BACK & INTEGRITY + +- **READ_BACK_PASS = 10** · **INTEGRITY_PASS = 10** (CONTENT_INTEGRITY=VERIFIED). +- Pagination über 100-Block-Limit korrekt. + +--- + +## 9. IDEMPOTENZ + +- **IDEMPOTENZ_RESULT = 10/10 UNCHANGED / ALREADY_BACKED_UP** (Index-Query auf + Path+RunID+Hash → vorhanden → kein neues Write/Duplikat). + +--- + +## 10. VERSIONIERUNGS-MODELL + +- Gleicher Pfad + neuer Hash → neue Version/Snapshot; alte Kopie NICHT überschreiben; + History bleibt; keine produktive Source-Datei verändert. + +--- + +## 11. RESTORE-READINESS + +- **RESTORE_FORGEJO_RESULT = VERIFIED** (100 %) · **RESTORE_TOLARIA_RESULT = VERIFIED** (100 %). +- Rekonstruktion isoliert unter `/opt/data/rq_restore_staging/`. Kein produktiver Restore. + +--- + +## 12. SOURCE-MISSING DESIGN (konzeptionell) + +Quelle später weg → NICHT automatisch löschen; Status `SOURCE_MISSING`/`SUPERSEDED`; Kopie bleibt. + +--- + +## 13. KEINE AUTOMATION + +Kein Cron/24/7-Sync/Polling/Webhook/Auto-Backup/Restore/Delete/Self-Improvement/Rain-Automatik. A5 Kill-Switch OFF. + +--- + +## 14. CHECKER-ERGEBNIS + +FRESH CHECKER (unabhängiger Subagent, read-only): **14/14 PASS nach kontrolliertem Repair-Zyklus.** + +- Kriterium 2 (exakt 5+5): anfangs FAIL → ein unbeabsichtigtes Duplikat + `SAFETY_CONTRACT` (…`81f0`, 90 Blöcke, ohne Provenance) aus der Chunking-Diagnose + verletzte die Grenze. Via A3-kontrolliertem Repair entfernt (HTTP 200, DELETE). + Danach: **Forgejo = exakt 5**, Tolaria = exakt 5. **PASS.** +- Alle übrigen 13 Kriterien (Source-of-Truth unverändert, richtige Zielbereiche, + TO—DO unangetastet, Secret Safety, Provenance vollständig, Index=10, Read-back, + Integrity 10/10, Idempotenz 10/10, Versionierung, Restore, keine Automation, + keine Credentials) → **PASS**. +- **Verdict: PASS.** + +--- + +## 15. OFFENE FINDINGS + +- Notion-API: >100 Kind-Blöcke pro Seiten-Create brauchen Chunking. +- `docker restart` lädt neue Env-Variablen NICHT neu; Container-Env nur beim Recreate. +- Memory (Red Queen) voll; Safety-Brain-IDs nur in Skripten. +- Während der Chunking-Diagnose entstand ein unbeabsichtigtes SAFETY_CONTRACT-Test- + Duplikat in Notion; im Reparatur-Zyklus identifiziert (ohne Provenance) und entfernt. + Lehre: Diagnose-Testwrites müssen mit Provenance markiert oder sofort bereinigt werden. + +--- + +*Ende Pilot-Dokumentation.*