Repository navigation
Adopt saved views identified through the mdbase.view contract - #498
Merged
Merged
Conversation
mdbase-rs now identifies saved views through the mdbase.view record contract instead of `type: view` frontmatter. Fixtures that list or execute canonical views install the contract and an implementing `view` type first: the hosted lifecycle test and the hosted e2e through the type-pack review path an application uses, the workspace and registry tests as definition files. The registry test now writes definitions before the collection opens; it had passed only because type-name discovery ignored the runtime's stale definition catalog.
…ests The provider e2e installs only the contract through type-pack review and creates the implementing view type with create_type, keeping every canonical mutation exercised. The lifecycle test rebuilds its projection after the definition change, as the recovery worker would, before running views, since canonical-view cursors require a current generation.
An application that saves views declares the mdbase.view contract and provisions its published pack, embedded as a test fixture. Portal approval installs it during collection setup; the application then creates, lists, executes, replaces, and deletes a view record under ordinary record grants, without views.manage.
…tract callumalpass/mdbase-rs#94, merged as 0d96ad4.
callumalpass
force-pushed
the
feature/view-contract
branch
from
September 28, 2026 11:43
d3228ec to
2f783d6
Compare
callumalpass
enabled auto-merge
September 28, 2026 11:43
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pins callumalpass/mdbase-rs#94, which identifies saved views through the
mdbase.viewrecord contract (mdbase-dev/mdbase-spec#56) and fixes single-record mutations after installing packs whose schemas live outside_schemas/.viewtype: the hosted e2e through type-pack review pluscreate_type, the hosted lifecycle test through type-pack review followed by a projection rebuild, and the workspace and registry tests as definition files. The registry test now writes definitions before the collection opens; it had passed only because type-name discovery ignored the runtime's stale definition catalog.mdbase.viewand provisions its published pack (Add the mdbase.view saved-view contract pack mdbase-contracts#11), portal approval installs it during collection setup, and the application creates, lists, executes, replaces, and deletes a view record with record grants only, withoutviews.manage. This is the flow Reader adopts in Save library views as mdbase.view records mdbase-reader#24.The mdbase-rs pin must reach mdbase-rs
mainbefore this merges (check:mdbase-rs-pin).Verification:
pnpm ci:local,pnpm e2e,pnpm e2e:provider, and the Postgres lifecycle test all pass locally.🤖 Generated with Claude Code