Commit Graph

2 Commits

Author SHA1 Message Date
enki f98e6f8dfa feat: Phase 4 — publisher, qBittorrent watcher, identity CLI
Adds the full writer/publisher stack: NIP-35 event signing and relay
delivery, qBittorrent polling with publish-delay queue, lava_torrent
.torrent file parsing, TMDB inline lookup before publish, and
kindexr-cli identity/publish subcommands.
2026-05-17 12:43:21 -07:00
enki b6705d5b85 phase 3: WoT graph, curation sets, reports, publisher CLI
- Migration 003: add wot_level/muted/report_count to publishers;
  create curation_items and reports tables
- WoT builder (wot/follows.rs): fetches operator kind-3 contact list
  to build depth-1 and depth-2 trust graph; ingests kind-10000 mute
  list; runs at startup and refreshes every 24h
- Trust scoring (wot/trust.rs): recomputes trust from wot_level and
  report_count after each WoT build
- Reader: subscribes to kind-30004 (curation sets) from configured
  pubkeys; subscribes to kind-1984 (reports) from anyone; WoT/block/
  mute check gates kind-2003 ingest when wot_only=true; auto-block
  publishers that hit report threshold
- Search: curated events (referenced by kind-30004) sort first in
  both FTS and full-scan paths
- Publisher CLI: list, info, block, unblock, trust, mute subcommands
- Fix .gitignore: /bin/ not bin/ (was shadowing src/bin/)
2026-05-17 11:31:59 -07:00