I built a daily job alert pipeline that runs entirely on GitHub Actions, using a JSON file committed back to the repo as the database. This post covers the stateless-runner problem, the infinite-loop trap with self-triggering workflows, and the tradeoffs of choosing regex over a parsing library, based on 139 production runs.