Proposals in Cosmo provide a structured way to manage, review, and implement changes to federated graphs. They allow teams to propose and evaluate modifications to subgraphs, enabling a collaborative review process and minimizing the risk of introducing errors or breaking changes.A proposal represents a collection of changes to a federated graph, which can include:
Note: When updating a proposal, any subgraphs you specify will completely replace the corresponding subgraphs in the existing proposal. The update is not incremental.
The proposal configuration allows you to set severity levels for subgraph checks and publishes, this is to make sure that the schema used for checks/publishes is a part of an approved proposal.
The Schema Comparison view displays a side-by-side diff of the current and proposed schemas. This diff view makes it easy to identify and understand proposed schema modifications, such as the addition of enum values, type changes, or directive modifications… etc.The review process provides a governance layer that ensures all schema changes are properly vetted before being applied to your production graph.
Cosmo automatically executes a comprehensive suite of validation checks whenever a proposal was created or updated. These checks ensure the proposed schema changes are valid, compatible, and adhere to best practices before they can be approved.