Skip to content

Verify every pack through mdbase-ts 0.3.0-rc.8 as well as the Rust CLI - #15

Merged
callumalpass merged 1 commit into
mainfrom
ci/verify-ts-rc8
Oct 2, 2026
Merged

callumalpass merged 1 commit into
mainfrom
ci/verify-ts-rc8

Conversation

@callumalpass

Copy link
Copy Markdown
Contributor

Why

CI built mdbase-ts from an old pinned commit but also set MDBASE_VERIFY_CLI, so every pack install actually ran through the Rust CLI only. That older mdbase-ts rejected seed upgrade_from ("must NOT have additional properties"), which tasknotes.task, mdbase.contact 1.3.0, mdbase.comment 1.0.1 and mdbase.view 1.0.1 now use. mdbase-ts 0.3.0-rc.8 supports upgrade_from with the Rust engine's semantics, so CI can now verify every pack through both engines.

What

  • sources.json: typescript_implementation.ref is now the tag v0.3.0-rc.8. This git checkout is the single source of truth for the mdbase-ts version; the npm package is not used. seed_upgrade_cli is renamed to rust_cli, since the CLI is no longer there only to work around missing seed upgrades.
  • CI: a matrix engine: [mdbase-ts, mdbase-cli] runs npm test once per engine. Only the CLI leg builds the Rust CLI and sets MDBASE_VERIFY_CLI. The comment about mdbase-ts being unable to run seed upgrades is removed.
  • New scripts/pack-engine.mjs: one loader for mdbase-ts and one packEngine() that installs through either engine, with adoptions supported in both. verify.mjs, person-pack.test.mjs and the two TaskNotes tests all use it. The TaskNotes upgrade and plugin-collection tests used to skip without the CLI (33 skipped). They now run through mdbase-ts as well.
  • person-pack.test.mjs: uses patch for updates. rc.8 rejects the old fields alias.
  • withLegacyResourceModes stays. Both rc.8 and the CLI still reject the immutable mdbase.contact 1.0.0 provision, which has no mode.
  • README: documents the engine selection and where the version is pinned.

Verification

Local, with mdbase-ts built from tag v0.3.0-rc.8:

  • MDBASE_TS_DIR=<rc.8> npm test: "Verified 24 contract and 12 pack installs with mdbase-ts"; node tests 27/27 and 42/42 pass, 0 skipped.
  • MDBASE_VERIFY_CLI=<mdbase 0.1.0-beta.123> MDBASE_TS_DIR=<rc.8> npm test: "... with mdbase CLI"; 27/27 and 42/42 pass, 0 skipped.

Pin CI's mdbase-ts checkout to tag v0.3.0-rc.8, which supports seed
upgrade_from, and run npm test once per engine in a matrix. Route all pack
installs (verify, People and TaskNotes tests) through one engine selector so
the TaskNotes upgrade and plugin-collection tests no longer skip without the
CLI. Use rc.8's v0.3 update member patch in the People pack test.
@callumalpass
callumalpass merged commit 15b0929 into main Oct 2, 2026
2 checks 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