01must proveConfirmed | Query export uses the same access as query execution with no extra export permission, validating the request before creating an export. | permission | api, service | test |
02must proveConfirmed | Exports require exactly one saved-query source with values or an on-screen definition, support CSV or Excel and label, technical-name or absent headings, allow descriptions only in Excel, and default to Excel with labels without descriptions. | validation | api | test |
03must proveConfirmed | Exports queue asynchronously and read the query engine in pages of one thousand to write its complete result once in its column and row order. | invariant | service | test |
04must proveConfirmed | CSV uses UTF-8 with a byte-order mark, CRLF and quoting, calendar dates and workspace-offset instants; Excel retains native value types, and formula-like text is neutralized without altering negative numbers. | calculation | service | test |
05must proveConfirmed | Exports fail with an actionable message above one million CSV rows, Excel’s sheet capacity or fourteen minutes of work. | validation | service | test |
06must proveConfirmed | Export execution rechecks query access and produces no file when it is lost, while Rhythm staff need a current workspace grant. | policy | service | test |
07must proveConfirmed | Export status and downloads are available to the requester, the relevant schedule owner and schedule managers; others receive not found, unfinished files return not ready, and expired files return gone. | permission | service | test |
08must proveConfirmed | Files remain for thirty days under their workspace and export identities, and download redirects last five minutes. | lifecycle | service | test |
09must proveConfirmed | Personal delivery links need no login, bind workspace, export, recipient and a seven-day expiry, require current recipient membership and an existing file, record downloads, and otherwise return an invalid-link page. | policy | service | test |
10Confirmed | Interactive and scheduled exports use separate queues and concurrency allocations. | policy | service | documented |
11must proveConfirmed | Exported references show their display values with identity columns only when selected, and an empty result still writes headings. | calculation | service | test |