Repository navigation
v2026.5.89
Closes Epic T9752 — the 5 deferred T9738 carryforwards from the
v2026.5.88 IVTR remediation. Lands all 5 in a single release alongside
SOLID/DRY refactor groundwork (pure aggregator + DB chokepoint
discipline + realpath-aware test helpers).
Added (T9753 — changesets aggregator)
- PR #357 (T9753) —
cleo release plannow reads.changeset/*.md,
aggregates entries via a pureaggregateChangesetsForRelease(...)
helper, persists rows into the newrelease_changesetstable, and
embeds the rendered CHANGELOG section intoplan.meta.releaseNotes.
Re-run is idempotent (delete-then-insert keyed onrelease_id). All
writes route through the existinggetDb()chokepoint — no raw SQL
outside the store layer. 13 new tests (8 aggregator + 5 wiring); 225
release tests pass with no regressions.
Refactored (T9756 — A4 uniform PK shape)
- PR #359 (T9756) — new migration
20260520163500_t9756-uniform-releases-pkrewrites legacy
releases.idfromlegacy:<version>→<projectHash>:<version>so
every row uses the canonical PK shape. FK references in 4 dependent
tables (release_commits,release_changes,release_artifacts,
brain_release_links) update in lockstep underPRAGMA foreign_keys=OFF. Idempotent re-apply; full revert restores
legacy:form. The discriminator inreleasesRowToManifestswitched
from a PK-prefix check totasks_json IS NULL/NOT NULL, which is the
correct semantic boundary anyway.
Fixed (T9755 — commits backfill + FK)
-
PR #358 (T9755) — backfills 18 legacy v5.80 → v5.88 ship and
PR-merge SHAs into thecommitstable (9 ship + 8 PR-merge + 1
squash-merge), then re-adds thereleases.merge_commit_sha→
commits.shaFK that PR #328 (B2) relaxed for expediency. Migration
is idempotent (ON CONFLICT (sha) DO NOTHING), wrapped inPRAGMA foreign_keys=OFFfor the table rebuild, and ships a
LEGACY_BACKFILL_COMMIT_COUNT = 18constant in affected fixtures so
count-based test assertions stay readable. -
PR #354 (T9757) —
primary-guard.test.tsis now realpath-aware.
Root cause: macOSmkdtempSyncreturns/var/folders/...(a symlink
to/private/var/folders/...) whilegit worktree list --porcelain
reports the realpath form, so the raww.path === repoRootpredicate
silently failed on macOS only. Confirmed via Linux symlink repro (same
failure mode); 3 path-comparison sites in the test file are now
routed through the existingisPrimaryWorktree(...)helper. This
closes T9736 — the documented "merged-through-as-not-required" flake.
Removed (T9754 — cleanup)
- PR #353 (T9754) — drops
@changesets/cli@^2.30.0from root
devDependencies. PR #349 replaced upstream changesets with the
CLEO-native task-anchored DSL on 2026-05-20; the upstream package
has been dead weight since. 482 lockfile lines pruned. The stale
"Replaces the upstream@changesets/cliformat" comment in
packages/contracts/src/changesets.tsis also corrected.