Forty Days of Uncommitted Pong
Written later and filed to this date, as part of filling in every day of the year.
The sweep is a hundred and eighteen lines and changes nothing. It walks every repository under the workspace root and asks two questions of each: is there uncommitted work older than a threshold, and are there commits that have not been pushed. The site’s repository is excused from the second question, because there an unpushed commit is the publish gate working. Everything else is supposed to be at its remote within minutes, and the sweep exits non-zero if it is not, so it can sit in front of a dispatch or run on a timer and be an alarm.
Its first run, on a Sunday evening in June, flagged four repositories. Three had uncommitted work about a week old, 167 or 168 hours. The fourth was the Pong clone, at 957 hours: forty days. Most of it was build output and agent scratch that should have been ignored and never was, plus some in-progress fleet work that had not landed. For forty days the working tree had been carrying files the repository did not know about, through dozens of fleet sessions that each committed what they changed and stepped around the rest.
Ten minutes later the sweep learned a second check. The operator loop’s own STATE file is meant to be read first and updated last on every iteration of the loop; if the loop stalls, the file rots silently. The sweep now parses its “Last updated” date and flags anything older than three days. First run: 8.2 days. The loop had not run in a week, and until that line nothing had said so.
The rule the sweep enforces had been written the previous Sunday, the day the private remotes were created. Until then the policy had been local-only, and a commit was the end of the job. The rewrite made the remote part of the job: every project is a private, remote-backed repository, and in the charter’s list of hard gates, where “create/push a remote repo” used to stand, a parenthesis now says that committing and pushing are pre-authorized, and then, in four words, “after a commit, push.”
A rule like that is only as true as the last time something checked. The sweep is the check. Its first exit code was one.