Skip to content

Portable people: Person 2.0.0, People pack 1.2.0 and TaskNotes rc.15 - #6

Merged
callumalpass merged 8 commits into
mainfrom
feature/portable-people
Sep 28, 2026
Merged

callumalpass merged 8 commits into
mainfrom
feature/portable-people

Conversation

@callumalpass

Copy link
Copy Markdown
Contributor

Adds the portable people contracts and packs:

  • mdbase.person 2.0.0: a person record with a name and exact account identities (issuer/subject); other records refer to it by link. No separate person ID.
  • People pack 1.2.0: Person 2.0.0 starter; keeps shipping Person 1.0.0 resources, unadvertised, for types customised under 1.1.0. Bundled byte-for-byte by the mdbase Editor in Connect beta.114.
  • TaskNotes rc.15: contract rc.5, where assignees are links to Person records declared in collection.links; upgrades collections seeded from rc.12's task type with a digest-pinned seed-type upgrade (Specify reviewed digest-pinned seed-type upgrades mdbase-spec#55). Vendored by tasknotes-app.
  • rc.13/rc.14 (superseded person-ID candidates) keep their URLs but are not listed.

CI: mdbase-ts cannot execute seed upgrades, so CI now builds the mdbase CLI (Connect beta.114 on mdbase-rs c456e71b) and verifies installs through it.

Depends on callumalpass/tasknotes-spec#10 and callumalpass/tasknotes-model#17.

🤖 Generated with Claude Code

callumalpass and others added 8 commits September 13, 2026 23:37
The id description and example now use a short readable ID such as
alex-rivera, generated once from the name and never regenerated. Only the
unpublished Contact 1.2.0 pack changes; the mdbase.person 1.0.0 contract
and the distributed 1.1.0 pack keep their exact bytes.
Assignments become ordinary links to person records, resolved with each
collection's own link rules, instead of a separate person ID.

- Add mdbase.person 2.0.0 without id. The People pack 1.2.0 (unreleased)
  installs it with a Person starter that has no id or uniqueness
  constraint, and keeps shipping 1.0.0 as an unadvertised resource so
  Person types customised under 1.1.0 keep validating on upgrade.
- Import TaskNotes contract rc.5 and starter type v3 from tasknotes-model,
  declaring assignees[] in collection.links, and add pack rc.15 upgrading
  the published rc.12 starter.

Upgrade tests now cover rc.12 to rc.15 and ran against the Rust CLI along
with verify.
…idates

rc.15 declares a seed-type upgrade, which the pinned mdbase-ts cannot
execute, so CI now also builds the mdbase CLI on the Rust engine and
verifies installs through it (MDBASE_VERIFY_CLI), as documented. rc.13 and
rc.14, the person-ID candidates superseded by rc.15, keep their immutable
URLs but are no longer listed. Contact 1.1.0 stays byte-identical because
it was distributed.

Co-Authored-By: Claude <noreply@anthropic.com>
@callumalpass
callumalpass merged commit f289a42 into main Sep 28, 2026
1 check passed
@callumalpass
callumalpass deleted the feature/portable-people branch September 28, 2026 01:41
callumalpass added a commit to mdbase-dev/mdbase.dev that referenced this pull request Sep 28, 2026
Pins mdbase-contracts f289a42e (mdbase-dev/mdbase-contracts#6).

Co-authored-by: Claude <noreply@anthropic.com>
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