docs: RQ-NOTION-PILOT-20260825-001 Pilot-Backup-Doku (Notion Safety Brain)
This commit is contained in:
parent
9b89ed77bb
commit
36c804325b
1 changed files with 159 additions and 0 deletions
159
notion-safety-brain/PILOT_RUN_20260825_001.md
Normal file
159
notion-safety-brain/PILOT_RUN_20260825_001.md
Normal file
|
|
@ -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:<sha>` 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.*
|
||||
Loading…
Reference in a new issue