Skip to content

Add review guardrails for changes to Salsa declarations - #1410

Open
lionel- wants to merge 2 commits into
mainfrom
oak-query/guardrails
Open

lionel- wants to merge 2 commits into
mainfrom
oak-query/guardrails

Conversation

@lionel-

@lionel- lionel- commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Part of #1409

This PR adds review guardrails when the Salsa declaration surface changes: a new query, different key, or changed recovery policy now leaves an explicit snapshot diff that asks the reviewer to reconsider cycle safety. The reviewer is pointed to a new salsa.md guide.

The snapshots are generated by a new oak_tidy crate. The name "tidy" follows other projects where "tidying" means checking source-level properties that the type system can't enforce:

Oak's Rust source is walked with the syn crate to find Salsa queries and cycle handlers. The collected data is snapshotted with insta.

Note that the snapshot is necessarily partial: it only captures the Salsa declarations, not simple functions calling these queries. It doesn't capture Salsa edges in general because they can arise from any kind of Rust code invocation (methods, closures, functions), and can't be traced in the general case.

In addition to its role in prompting agents for a review when it changes, the snapshot is also a useful reference for both us and agents.

@lionel-
lionel- added this pull request to stack #1412 September 18, 2026 17:36
@lionel-
lionel- force-pushed the oak-query/guardrails branch from 90d7d7c to 8e55fa0 Compare September 20, 2026 09:27
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