fix: harden terminal-scoped analytics contracts

Keep JSON and bounded CSV exports on one canonical predicate, replace replayable offsets with encrypted tenant/filter-bound keyset cursors, and suppress merchant-grain peers under terminal scope. Validate period filters and align OpenAPI and capability specs with runtime behavior.
This commit is contained in:
2026-08-20 21:29:18 +03:30
parent 857f29635e
commit d6de48fd15
14 changed files with 577 additions and 103 deletions

View File

@@ -0,0 +1,13 @@
package analytics
import "testing"
func TestPeerComparisonSupported(t *testing.T) {
t.Parallel()
if peerComparisonSupported("T318") {
t.Fatal("peerComparisonSupported() = true for terminal scope")
}
if !peerComparisonSupported("") {
t.Fatal("peerComparisonSupported() = false for merchant scope")
}
}