Conversation
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #5361 +/- ##
===========================================
+ Coverage 38.41% 56.32% +17.90%
===========================================
Files 753 874 +121
Lines 24866 37221 +12355
Branches 6794 6794
===========================================
+ Hits 9552 20963 +11411
- Misses 13553 14497 +944
Partials 1761 1761
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
All reviewed changes are synchronized generated or schema updates with no unresolved issues.
Review effort: Lite
Findings: None
What changed in this PR
Adds workspace-role readiness fields and updated ARN documentation to shared GraphQL role types, with synchronized catalog-generated artifacts.
Changes:
- Adds
workspaceRoleReadyto managed and unmanaged roles. - Updates ARN documentation.
- Regenerates catalog GraphQL types and schema metadata.
| File | Description |
|---|---|
shared/graphql/schema.graphql |
Adds readiness fields and ARN documentation. |
catalog/app/model/graphql/types.generated.ts |
Adds generated TypeScript fields. |
catalog/app/model/graphql/schema.generated.ts |
Updates generated schema metadata. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
@greptileai re-review at head e2c4c3f, please — the description's Links now name the stacked quilt3 change, #5362; the code is unchanged. |
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
@greptileai re-review at head 9c5c8a4, please — this now carries the whole clients change: quilt3.admin's role models expose workspace_role_ready, with the regenerated client, API reference and a changelog entry; title and description updated to match. |
|
On the compatibility impact the Copilot overview names: it is deliberate and stated in Risk and rollback and in the changelog entry. quilt3.admin's selections follow the registry they are generated against, as when #4690 added |
|
Parked as a draft: the registry's readiness field this change reads moved to a later change. It stays here for when that change lands. |
The need
quilt3's admin API returns roles from
quilt3.admin.roles, and on the users andpolicies it returns. None of them says whether a role's workspace role is ready
to vend sessions on. The registry's role types gain that field in
quiltdata/enterprise#1169, which is not merged yet. Without it, an admin
scripting against quilt3 cannot tell whether a role's users get its workspace
role or the fallback. With the data-products option on, the same registry
change makes a managed or built-in role's
arnits derived workspace-role ARN,known before that role exists. The spec change is quiltdata/quilt-specs#109
(The clients read readiness, on the decision Readiness is a field; the ARN
stays non-null).
What changed
ManagedRoleandUnmanagedRolecarryworkspaceRoleReady: Boolean!and the new description ofarn, taken asenterprise#1169's own hunks at
52a214c0. The rest of that file's driftbelongs to other registry changes and is not taken. The catalog's generated
types follow, and nothing in the catalog reads the field.
quilt3.admin.ManagedRoleandUnmanagedRolecarryworkspace_role_ready,read wherever quilt3 reads a role: the roles API, a user's role and extra
roles, and a policy's roles. The generated client and the API reference
follow.
Verification
catalog/:npm run gql:generate && git diff --exit-code,npm run lint,npm run typecheck,npm test, andnpm run buildall pass.api/python/:uv run poe lint,uv run poe fmt --check,uv run poe test-cov(699 passed, 1 xfailed) anduv run poe gql-checkallpass.
uv run poe testdocspasses with 42 tests.tests/test_admin_api.pyhas a ready managed role and an unready unmanagedrole, which the existing role, user and policy tests parse.
shared/graphql/schema.graphqlagainst enterprise'sregistry/quilt_server/graphql/schema.graphqlat52a214c0leaves only theother changes' drift.
test-lambda (shared)fails. The external W3C validator that its Excelpreview test calls now reports a new message about
<style scoped>. Thischange touches nothing under
lambdas/, and the check passed onmasterate6aef94e.Links
serves the field. Merge after it; the schema copy is re-synced to its merge
commit when it merges.
Risk and rollback
quilt3's role selections now ask for the field. Against a registry that predates
enterprise#1169, every
quilt3.admincall that returns a role, user or policytherefore fails GraphQL validation. As with earlier additions to these
selections, a quilt3 release that carries this needs stacks that serve the
field. The two dataclasses gain a required field, which breaks code that
constructs them itself. Known limit, left as it is: with the option on, while a
role is still being provisioned, the admin Roles page's "Open AWS Console" link,
built from
arnalone, can open an IAM role that does not exist yet. Revertingrestores the previous schema copy, generated code and models.
The optionality note
Opens: scripts can report a role's readiness or wait on it, and the catalog can
read it later. Closes: quilt3's admin client no longer runs against registries
that lack the field.
🤖 Generated with Claude Code
The PR appears safe to merge once the registry serving the new field is deployed, as the documented compatibility requirement specifies.
Summary
The PR exposes workspace-role readiness through the shared GraphQL schema and
quilt3.adminrole models, regenerates client types, and updates tests and documentation.Diagram
%%{init: {'theme': 'neutral'}}%% flowchart LR Registry[Registry role readiness] --> Schema[Shared GraphQL schema] Schema --> Selection[Python role selections] Selection --> Generated[Generated client models] Generated --> Admin[quilt3.admin role results] Schema --> Catalog[Catalog generated types]Reviews (3) · Last reviewed commit: "Link the changelog entry to the pull req..."