Commit Graph

19 Commits

Author SHA1 Message Date
Jörg Lohrer 2c4bceb768 fix(snapshot): cache akkumuliert deletedCoords + timeout-kommentar
Code-review-feedback aus etappe 2.9/2.10:

1. cli.ts: deletedCoords im cache wird ab jetzt akkumuliert statt
   ersetzt. Vorher wurden bei einem run nur die aktuell von relays
   gelieferten kind:5-coords geschrieben — wenn ein relay beim
   naechsten run die alten deletions nicht mehr liefert (GC,
   relay-tausch), waere die geschichte verloren und newDeletionsCount
   im naechsten lauf wieder "neu" -> false-positive hard-fail im
   drop-check.

2. relays.ts: kommentar zum belt-and-suspenders-setTimeout neben dem
   RxJS-timeout-operator, damit der zweck (handle-cleanup falls beide
   subscribe-callbacks verschluckt werden) klar ist.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:27:12 +02:00
Jörg Lohrer d7bb62d469 feat(snapshot): cli-entrypoint verdrahtet alle module
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:23:55 +02:00
Jörg Lohrer d8a29ca389 feat(snapshot): relay-loader (kind:10002 + event-fetch)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:23:25 +02:00
Jörg Lohrer 10cb0d947d docs(snapshot): multi-lang-TODO fuer translation-inferenz
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:21:08 +02:00
Jörg Lohrer 49c740d908 docs(snapshot): dedup-tie-break dokumentiert
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:21:00 +02:00
Jörg Lohrer 63b68411e4 feat(snapshot): cache validiert format beim lesen
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:20:51 +02:00
Jörg Lohrer 998e08e073 feat(snapshot): config validiert BOOTSTRAP_RELAY-prefix
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:20:29 +02:00
Jörg Lohrer 1827817ad5 docs(snapshot): drop-check-semantik dokumentiert
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:20:01 +02:00
Jörg Lohrer 715c1f5e1e fix(snapshot): tagsAll filtert tags ohne value
Vorher konnten malformed tags wie ['t'] (ohne second element)
undefined ins string[]-array werfen, das im JSON als null landete.
Code-review-feedback aus etappe 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:19:51 +02:00
Jörg Lohrer 848cdf763e fix(snapshot): NIP-09-filter beachtet zeitliche reihenfolge
Per NIP-09 darf ein deletion nur events mit created_at <= deletion.created_at
loeschen. Vorher wurde ein re-publizierter post nach geloeschtem vorgaenger
stumm wegfiltern. Code-review-feedback aus etappe 2.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:19:20 +02:00
Jörg Lohrer 0755498937 feat(snapshot): output-writer (index.json + posts/<slug>.json)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:12:01 +02:00
Jörg Lohrer a199f1daf1 feat(snapshot): cache-state fuer last-known-good
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:11:36 +02:00
Jörg Lohrer 2af44035b8 feat(snapshot): cover-image-HEAD-probe-modul
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:11:17 +02:00
Jörg Lohrer 4b2c157938 feat(snapshot): post-json-builder mit fallback-summary
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:10:55 +02:00
Jörg Lohrer 7e38b73785 feat(snapshot): plausibilitaets-checks (relay-quorum, drop, min-events)
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:10:07 +02:00
Jörg Lohrer ccd7daf14d feat(snapshot): NIP-09-filter
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:09:37 +02:00
Jörg Lohrer 300cd9bea9 feat(snapshot): dedup-by-d-tag
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:09:14 +02:00
Jörg Lohrer 45df54f2b3 feat(snapshot): config-loader mit env-validierung
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:08:46 +02:00
Jörg Lohrer b6366ea1fe feat(snapshot): modul-skelett
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 08:08:17 +02:00