Pick any line to see why it is the way it is: the commit, the pull request and issue it came from, and what the agent was thinking.
| A line of a job's log no longer shows twice when the runner sends its batch again. The runner numbers each batch of a job's log (1 for the first, counting up through the job) and a batch keeps its number when a report whose answer was lost is sent again; g1t keeps that number in the log's new `chunk` column (migration 0016), under a unique index on the job and the number, and a batch whose number it already has is left out in the same statement that takes the next `seq`. A runner that numbers nothing has every batch kept, as before, and a job run again starts its numbers afresh, its earlier log having moved aside. The service's tests run the statement against the migrations in SQLite, and the runner's against a server that fails the first report. The Actions guide says so. | 1 | -- The runner's own number for each batch of a job's log (1 for its first), |
| 2 | -- which a batch keeps when the runner sends it again after an answer it did | |
| 3 | -- not hear: a batch g1t already has is not kept twice. Null for runners that | |
| 4 | -- do not number their batches; nulls never collide in a unique index. | |
| 5 | ALTER TABLE logs ADD COLUMN chunk INTEGER; | |
| 6 | CREATE UNIQUE INDEX logs_by_chunk ON logs (job_id, chunk); |