Skip to content

Schema proposals beginnings#6836

Merged
jdolle merged 98 commits into
mainfrom
schema-proposals-schema
Dec 18, 2025
Merged

Schema proposals beginnings#6836
jdolle merged 98 commits into
mainfrom
schema-proposals-schema

Conversation

@jdolle

@jdolle jdolle commented Jun 3, 2025

Copy link
Copy Markdown
Collaborator

Background

https://linear.app/the-guild/issue/CONSOLE-1245/collaborative-schema-designerproposer

Our goal is to build a space where developers/teams can come together and collaborate on schema. "Schema Proposals", as it's currently named, is a feature that would do just this. By allowing users to submit a proposed change and others to review and comment.

Description

This is not the full feature, but it lays some of the groundwork for this feature.
I have a proposed database structure, initial graphql API, and am gradually adding additional elements to this feature branch.

@jdolle jdolle self-assigned this Jun 3, 2025
@coderabbitai

coderabbitai Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch schema-proposals-schema

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions

github-actions Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

🚀 Snapshot Release (alpha)

The latest changes of this PR are available as alpha on npm (based on the declared changesets):

Package Version Info
@graphql-hive/apollo 0.46.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
@graphql-hive/cli 0.57.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
@graphql-hive/core 0.19.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
@graphql-hive/envelop 0.40.1-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
@graphql-hive/yoga 0.46.1-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
hive 8.14.0-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
hive-apollo-router-plugin 2.3.6-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎
hive-console-sdk-rs 0.2.3-alpha-20251218034553-069e7dd23d11e07a4c858725a6be0de41654deb9 npm ↗︎ unpkg ↗︎

@github-actions

github-actions Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

📚 Storybook Deployment

The latest changes are available as preview in: https://pr-6836.hive-storybook.pages.dev

@github-actions

github-actions Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

💻 Website Preview

The latest changes are available as preview in: https://pr-6836.hive-landing-page.pages.dev

@github-actions

github-actions Bot commented Jun 3, 2025

Copy link
Copy Markdown
Contributor

🐋 This PR was built and pushed to the following Docker images:

Targets: build

Platforms: linux/amd64

Image Tag: 069e7dd23d11e07a4c858725a6be0de41654deb9

@jasonkuhrt

Copy link
Copy Markdown
Contributor

Will look tomorrow!

@jasonkuhrt jasonkuhrt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! Left a few odd thoughts on the data model fwiw 🙌

Comment thread packages/migrations/src/actions/2025.05.29T00.00.00.schema-proposals.ts Outdated
Comment thread packages/migrations/src/actions/2025.05.29T00.00.00.schema-proposals.ts Outdated
Comment thread packages/migrations/src/actions/2025.05.29T00.00.00.schema-proposals.ts Outdated
Comment thread packages/migrations/src/actions/2025.05.29T00.00.00.schema-proposals.ts Outdated
Comment on lines +150 to +158
CREATE TABLE IF NOT EXISTS "schema_proposal_comments"
(
id UUID PRIMARY KEY DEFAULT uuid_generate_v4 ()
, user_id UUID REFERENCES users (id) ON DELETE SET NULL
, body TEXT NOT NULL
, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
, updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
, schema_proposal_review_id UUID REFERENCES schema_proposal_reviews (id) ON DELETE CASCADE
)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could we bake in more semantics here rather than just free form? For example maybe a category enum.

type: kudos | confused | disagree | idea

The thinking is that structured semantics here would allow some interesting UX downstream, such as us being able to present the user with triaged comments e.g. "blocking" | "optional" etc. to reduce review process overhead.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is a great idea but it might belong on the review object and is better suited to a v2.

For more context -- One constraint of the current table design is that every comment must be tied to a review. This is because I opted to use sql and I wanted to avoid complicated merging + pagination logic in the UI to display multiple sets or chronological data at the same time.
If using nosql then this could all be in the same table and have different structures.

Comment thread packages/services/api/src/modules/auth/lib/authz.ts Outdated
@n1ru4l n1ru4l self-requested a review December 16, 2025 18:44
});
},
availableMemberPermissionGroups: () => {
return OrganizationMemberPermissions.permissionGroups;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This didn't account for feature flags.

@jdolle jdolle enabled auto-merge (squash) December 18, 2025 05:16
@jdolle jdolle merged commit 128ce1b into main Dec 18, 2025
52 of 53 checks passed
@jdolle jdolle deleted the schema-proposals-schema branch December 18, 2025 05:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants