What problem does it solve? Turning an entire blog or newsletter archive into structured knowledge-base pages is tedious and error-prone: feeds only show recent posts, URLs carry tracking junk, re-runs create duplicates, and paywalled or rate-limited fetches leave empty pages that pollute search results. ## Core Features & Use Cases - Feed discovery and archive walking: Finds RSS/Atom feeds via link tags, conventional paths, or sitemaps, then paginates to enumerate the full archive before fetching. - Canonical-URL dedup and idempotent re-runs: Strips tracking parameters and checks the brain before every write, so re-running an ingestion never duplicates pages. - Pacing, husk repair, and gated-post handling: Paces requests with 429 backoff, skips paywalled posts, and detects and repairs near-empty "husk" pages. - Use Case: Point it at a Substack publication to backfill every public post as a clean, normalized source page, then hand off to enrichment for entity linking. ## Quick Start Ingest this whole blog into my brain, walking its feed and writing one deduplicated source page per public post.