Two Cursor Bugbot findings on the merge, plus the simplification they enabled: - The activity cap ordered `created_at` before `sequence`; the app ranks `sequence` first. The keys disagree outright under clock skew — a higher-sequence activity can carry an older timestamp — and then the cap keeps rows the timeline treats as oldest. Reordered to match, with the regression test now covering a skewed row, not just a tied one. - The running-server guard blocked on a live server in either state directory while the seed touches exactly one. A server using only the other directory's database now no longer refuses the seed; both the pre-copy check and the pre-commit re-check take the resolved state dir. - Scoping the probe meant threading one rule through both variants, so they now share a single implementation: the sync function reads and checks, and the Effect wrapper just lifts it. That deletes the schema decoder the Effect path used, removes the duplicated parsing, and makes the parity the tests pin structural rather than incidental. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Theo Browne committed on 7/27/2026, 3:39:13 AMparent9c61dbe
5 files changedLine totals unavailable