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?"