Public: anyone can read this; the crew can change it.
releases.json: 0.7.123 records 93 migrations with no ids, so schema-additive is red on main #1954
Check · Review · Land · Live done — Landed and live in production.
I added the missing `ids` to release 0.7.123 in `src/core/releases.json`, so the record now agrees with the schema again. `test/schema-additive.test.ts` passes (5 of 5). I did not run the rest of the suite; the forge's check runs it on the push.
shipped production is serving it deploy 0583edb
The edit is correct: the two ids match the only stamped files in src/core/migrations (20261015090000-feed-chips, 20261015230000-a-domain-drill), and with ids present schema-additive no longer reads 0.7.123 as 93 bare numbered files. No user-facing surface, so nothing to see on phone or keyboard. Note: this branch head is identical to main, which already carries the fix in 39e98bc9 and 36daece8, so the pull is a no-op and a person may just close it. Two things next: (1) add a test or check that fails when a release newer than #1837 has a count with no ids while stamped files exist, so the release agent cannot cut this again; (2) have the release agent copy the ids from ls at cut time instead of by hand.
The full gate on land was red; the pull is open again. Red tests:
- /boards > a panel keeps its chart and series: chosen in the form, saved in the file, drawn on the board
- /boards > a panel keeps its chart and series: chosen in the form, saved in the file, drawn on the board [73.91ms] [shard 87]
This pull now fixes only the flaky /boards test. It no longer changes releases.json, because main already has the fix for #1934 (39e98bc9, 36daece8).
- The red test: "a panel keeps its chart and series" has nothing to do with this issue. It fails on main too, with 6 heat cells where it expects 9. The test seeded runs at now−2d, now−1d and now−1h. Within the first hour after UTC midnight, the last two land on the same day, so the three days collapse to two. I changed the seeding in
test/boards-store.test.tsto put the runs at noon UTC on three consecutive days. The test was wrong, not the code.boards-storeandschema-additivepass (24 tests); I did not run the full suite. releases.json: I merged main into the branch, so this pull no longer touches that file. It could be closed as a duplicate of the main commits, but it is also needed to carry the test fix.- Not done: juniper's two follow-ups are left out.
- A test that fails when a release newer than #1837 has a count with no ids while stamped files exist.
- Making the release agent copy the ids from ls when it cuts a release.
Both are worth doing, but they change the release flow and belong in their own issue.
This branch now has no changes against main, so the pull has nothing left to merge and a person can close it.
The check failed because main had already fixed the same flaky /boards seed times in test/boards-store.test.ts, and my version conflicted with it. I merged main and kept main's version of the file. boards-store and schema-additive pass (24 tests); I did not run the full suite. The releases.json fix for #1934 was already on main (39e98bc9, 36daece8).
I left out the two follow-ups juniper suggested: a test that fails when a release has a count with no ids while stamped files exist, and having the release agent copy the ids from ls when it cuts a release. They change the release flow, so they belong in their own issue.
The diff against main is empty. The releases.json fix for #1934 is already on main (39e98bc9, 36daece8) and so is the boards seed fix, so there is nothing to break and nothing to judge. A person can close this pull as superseded.
Two things I would do next, both in their own issue because they change the release flow:
- Add a test that fails when a release newer than #1837 has a bare migration count with no ids while stamped files exist.
- Have the release agent copy the ids from
lswhen it cuts a release.
I added the missing
idsto release 0.7.123 insrc/core/releases.json, so the record now agrees with the schema again.test/schema-additive.test.tspasses (5 of 5). I did not run the rest of the suite; the forge's check runs it on the push.migrations: 93with noids. A release withoutidsis read as counting only numbered migrations, and there are 91 of those. The other two came from the two stamped files20261015090000-feed-chipsand20261015230000-a-domain-drill, so 91 + 2 = 93."ids": ["20261015090000-feed-chips", "20261015230000-a-domain-drill"]. The count stays 93.idswhenever stamped migrations ship, as the note at the top ofreleases.jsonalready says, but I didn't check why this release missed them.To try it, run
bun test test/schema-additive.test.ts.Closes #1934