Skip to content

Align generated types with the published starter (rc.15) - #19

Merged
callumalpass merged 1 commit into
mainfrom
fix/type-version-and-legacy-assignees
Sep 28, 2026
Merged

callumalpass merged 1 commit into
mainfrom
fix/type-version-and-legacy-assignees

Conversation

@callumalpass

Copy link
Copy Markdown
Owner

Found while preparing TaskNotes 5.0 upgrades, by running TaskNotes App approval (mdbase-rs, Connect's adoption retry) against collections written by TaskNotes 4.13.6 and the 5.0 betas and upgraded by the 5.0 release candidate:

  • Type version: generated types said version: 3, the published starter 4; the pack's seed upgrade saw two different version changes and refused. TASKNOTES_MDBASE_TYPE_VERSION = 4 is now used by the generator and the starter.
  • Legacy nullability: collections migrated from mdbase v0.2 generate nullable fields; assignees (not a v0.2 field) became nullable too and conflicted with the starter. It is now legacyNullable: false.
  • Generator bookkeeping: the starter now publishes the first starter's x-tasknotes-generator.managed_fields (TASKNOTES_STARTER_MANAGED_FIELDS), since each collection's list follows its own field mapping; plus TASKNOTES_STARTER_REVISION = 5 for the published file name. The starter reproduces pack rc.17 (TaskNotes rc.17: leave collections' generator bookkeeping alone mdbase-dev/mdbase-contracts#9) byte for byte; the test pins its digests.

Package 0.3.0-rc.15 (rc.14 was never published).

🤖 Generated with Claude Code

- TASKNOTES_MDBASE_TYPE_VERSION (4) is the generated type version, equal to
  the published starter's, so types written by TaskNotes and by the pack agree.
- assignees is never legacy-nullable: v0.2 collections cannot contain it, and
  a nullable variant conflicted with the starter on pack upgrade.
- The starter publishes the first starter's generator bookkeeping unchanged
  (TASKNOTES_STARTER_MANAGED_FIELDS) and a starter revision (5); it reproduces
  tasknotes.task pack rc.17 byte for byte.

Co-Authored-By: Claude <noreply@anthropic.com>
@callumalpass
callumalpass merged commit 801eaf2 into main Sep 28, 2026
3 checks passed
@callumalpass
callumalpass deleted the fix/type-version-and-legacy-assignees branch September 28, 2026 05:12
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