Go single-binary mail migration tool
uid-delta-brief.md: UIDVALIDITY+UID waehlt nur KANDIDATEN aus. Body wird weiterhin geladen, Identitaet weiterhin aus canonicalMessageBytes berechnet. body_sha256 bleibt die Wahrheit; die UID spart nur den Download alter Kandidaten. backup-brief.md (Pos-81): DB und mbox sind NICHT symmetrisch abhaengig - mbox ohne DB ist per Reindex heilbar, DB ohne mbox ist wertlos. Gefaehrlich ist allein neuere DB + aeltere mbox. Daraus die Reihenfolge-Regel: DB zuerst. Gemessen: /mnt/DATA ist ext4 ohne LVM -> atomarer Snapshot unmoeglich. Aber mbox ist strikt append-only (06-mbox.go:61, kein O_TRUNC/Truncate/ Rename), und MAX(file_offset+frame_len) aus mbox_index ist die exakte Schreib-Wasserlinie - ueber alle 228 mbox-Dateien 0 Abweichungen. Daraus: VACUUM INTO + Praefix-Kopie = konsistenter Stand OHNE Stillstand. Falle notiert: mbox_index_state.indexed_bytes ist NICHT die Wasserlinie. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| backend | ||
| deploy/goldpi-test-container/mail-graveyard-pod | ||
| frontend-js/dist | ||
| .gitignore | ||
| backup-brief.md | ||
| bug-hashkey-instabil.md | ||
| bug-htmltotext-panic.md | ||
| bug-index-drift.md | ||
| bug-mbox-reader.md | ||
| Codex-Briefing.md | ||
| Codex-Prompt-Durchstich.md | ||
| compile.sh | ||
| config.json.example | ||
| db-rename-brief.md | ||
| go-imap-migration.md | ||
| go.mod | ||
| go.sum | ||
| INSTALL.md | ||
| korrektur-brief.md | ||
| main.go | ||
| Projektbeschreibung.md | ||
| rettungslauf-fixes.md | ||
| REVIEW-FIXES.md | ||
| streaming-brief.md | ||
| ui-fetch-brief.md | ||
| ui-fixes-brief.md | ||
| uid-delta-brief.md | ||
| zstd-brief.md | ||