Last time, I wrote about the dilemma of feeding specs scattered across multiple repositories to AI (Index Everything, or Read Everything?). This post is a devlog for the caching layer of the service I mentioned there (Repospec).
My answer in that post was "outsource just the search" — which means the spec files live in PostgreSQL.
In other words, PostgreSQL holds a cache of files that have already been pushed to GitHub. And that cache has no TTL. Once a file goes in, it stays. Indefinitely, by design.
If you've ever built a cache, this probably makes your skin crawl. It made mine crawl too — the first version absolutely had a TTL. This post is my personal record of how I talked myself out of it.
"It's a cache, so... Redis, right?"






