Hub REST API + a local sqlite gets you 90% there. Casts are signed EIP-712 messages with hash + timestamp, so dedupe and signature verification are trivial — the other 10% is images/media. Treat your cast history like an append-only log, because once agents start indexing public casts, the archive you own is the asset.
-- {no channel}