Skip to content

List every earlier reader-source starter as an upgrade baseline - #14

Merged
callumalpass merged 2 commits into
mainfrom
chore/starter-baseline-lists
Oct 3, 2026
Merged

callumalpass merged 2 commits into
mainfrom
chore/starter-baseline-lists

Conversation

@callumalpass

@callumalpass callumalpass commented Oct 3, 2026 •

Copy link
Copy Markdown
Contributor

Ready: Connect beta125, which includes mdbase-dev/mdbase-connect#567, is in production, and the SDK is published at 0.1.0-beta.125.

What changes

Pack dev.mdbase.writer 1.0.0-beta.5 ships the same starters as beta.4. The reader-source seed's upgrade_from now lists the same baselines as Reader's pack beta.5 (mdbase-dev/mdbase-reader#59), byte-identical and at the same paths, newest first, each with version: 1:

Baseline sha256 Writer packs that shipped it
mdbase/baselines/1.0.0-beta.3/types/reader-source.md 82869c12… beta.3
mdbase/baselines/1.0.0-beta.2/types/reader-source.md (new) 54f46e7c… none (Reader beta.2 only; listed so collections holding it upgrade)
mdbase/baselines/1.0.0-beta.1/types/reader-source.md (new) e8a3fca6… beta.1, beta.2

Baseline directories are named for the Reader pack version that first shipped each starter.

Tests

  • The existing "Reader resources are byte-identical to Reader's own" test now checks every listed baseline against Reader's copies. It runs when mdbase-reader is a sibling checkout.
  • The new beta.5 pack digest is pinned (sha256:21dfd856…), and the released beta.4 pin is reproduced from the listed beta.3 baseline. Both digests match mdbase packs assess (Rust CLI at mdbase-rs 056db73).
  • pnpm typecheck and pnpm test pass locally. Writer has no CI.

CLI: an unedited Writer beta.3 or beta.4 collection upgrades to beta.5 (reader-source replaced with the exact v2 bytes, upgrade_baseline = beta.3). The reader-source seed of Writer beta.1/beta.2 is planned as an update from the beta.1 baseline, but those upgrades still fail to apply. The cause is older: the preserved writer-manuscript seed requires manuscript contract 1.0.0-beta.1. The upgrade to the released beta.4 fails the same way, and this PR doesn't change it.

Dependencies

The @mdbase-dev/connect* packages are pinned to 0.1.0-beta.125, whose manifest schema accepts the list form. The temporary connect-protocol patch that backported it is removed.

Pack beta.4 named only the beta.3 reader-source starter as
`upgrade_from`, so a collection holding an earlier starter was merged
against the wrong document. mdbase-spec 05A (mdbase-dev/mdbase-spec#59)
lets a seed list every starter it supports, and engines choose the
baseline from the lock's seed origin.

Pack beta.5 lists the same baselines as Reader's pack beta.5, byte for
byte and under the same paths, newest first with their `version`:
Reader's beta.3 starter (82869c1, Writer's beta.3), beta.2 (54f46e7)
and beta.1 (e8a3fca, Writer's beta.1 and beta.2). The existing
byte-identity test now covers every listed baseline against Reader's
copies.

Until a Connect release includes mdbase-dev/mdbase-connect#567,
@mdbase-dev/connect-dev rejects baseline lists, so connect-protocol
0.1.0-beta.124 is patched with that PR's schema change. Drop the patch
when moving to that release.
@callumalpass
callumalpass merged commit 80df87e into main Oct 3, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant