01must proveConfirmed | A report’s audience includes its owner, selected-role holders, the workspace for organization sharing, and report managers, with other readers receiving a not-found response. | permission | service | test |
02must proveConfirmed | Report reading requires read permission, whereas every write requires use permission, preventing Read Only users from creating, copying, saving, sharing or deleting reports. | permission | api | test |
03must proveConfirmed | Stored-report catalog reads check source-query visibility and base-dataset access for every reader, including managers, without validating the full definition or every joined dataset. | policy | service | observed |
04must proveConfirmed | A report cannot have a wider audience than its saved query, and selected report roles must be contained in the query’s roles, with the narrower source identified on refusal. | policy | service | test |
05must proveConfirmed | Owners and managers maintain reports; owners need share permission for audience changes, managers use manage permission, and an unchanged audience needs neither sharing grant. | permission | service | test |
06must proveConfirmed | Rhythm staff working under a workspace grant receive report-management powers over private and shared reports, while data-readability filtering still applies. | permission | service | test |
07must proveConfirmed | An authorized report-use holder can copy a visible report into a new private report they own; Read Only readers cannot create copies. | policy | service | test |
08must proveConfirmed | Creating or saving a report requires a visible saved-query source, rejecting unseen sources as unavailable. | validation | service | test |
09must proveConfirmed | Reports have owner-unique case-insensitive names of one to 120 characters, descriptions of at most one thousand characters, one of four kinds and exact stored layouts bounded by 512 KiB. | validation | service, database | test |
10must proveConfirmed | Saves carry the read version in their body and deletes supply it as a parameter, rejecting missing versions and conflicting stale changes. | validation | api, service | test |
11must proveConfirmed | Report reads flag source definitions changed since the report was saved, and another report save records the latest source versions. | calculation | service | test |
12must proveConfirmed | Report deletion releases its saved-query dependency without deleting the query and pauses dependent schedules atomically. | lifecycle | service, database | test |
13Confirmed | The catalog returns newest-updated reports without layouts in pages of at most one hundred, filtered by scope, name, kind or source query. | policy | api, service | test |
14Confirmed | Rhythm’s built-in reports ship in the console rather than stored records, and stored reports have no system-sharing audience. | policy | console | documented |