@groupby/ai-dev 0.5.21 → 0.5.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,55 @@
1
+ # Qase Export Schema Reference
2
+
3
+ Based on actual SRTM export from Rezolve AI QA team.
4
+
5
+ ## Field value enums
6
+
7
+ ### priority
8
+ `critical` | `high` | `medium` | `low`
9
+
10
+ ### severity
11
+ `critical` | `major` | `normal` | `minor` | `trivial`
12
+
13
+ ### type
14
+ `functional` | `regression` | `performance` | `smoke` | `security` | `usability`
15
+
16
+ ### behavior
17
+ `positive` | `negative` | `destructive`
18
+
19
+ ### automation
20
+ `is-not-automated` | `is-automated` | `to-be-automated`
21
+
22
+ ### layer
23
+ `api` | `ui` | `e2e` | `unit`
24
+
25
+ ### status
26
+ `actual` | `deprecated` | `draft`
27
+
28
+ ## Title convention
29
+ `[SERVICE-NAME][TC-NN] Short imperative title`
30
+
31
+ Examples:
32
+ - `[SITE-SEARCH][TC-01] Bulkhead overflow logs HTTP 429 as ERROR`
33
+ - `[SEARCH-API][TC-03] Regression guard: 429 must never be WARNING`
34
+
35
+ ## Suite title convention
36
+ `[TICKET-KEY] Short description — service-name`
37
+
38
+ Example: `[S4R-11081] 429 should show as errors not warnings - site-search-api`
39
+
40
+ ## Suite description
41
+ Always the Jira URL: `https://rezolvetech.atlassian.net/browse/TICKET-KEY`
42
+
43
+ ## Steps — data field
44
+ Use the `data` field for:
45
+ - Full URL of the endpoint being called
46
+ - Request payload (JSON or key params)
47
+ - GCP Logs Explorer query URL (for log-checking steps)
48
+ - Any env-specific value needed to execute the step
49
+
50
+ ## Tags
51
+ Use lowercase, hyphen-separated. Include:
52
+ - Service name (e.g. `site-search-api`)
53
+ - Feature area (e.g. `bulkhead`, `429`, `logging`)
54
+ - Test type (e.g. `regression`, `negative-control`)
55
+ - Ticket key is NOT needed in tags (it's in suite description)
@@ -0,0 +1,52 @@
1
+ # Rezolve AI — Stack & Testing Patterns Reference
2
+
3
+ ## Team
4
+ SNPD team, QA engineer stack:
5
+ - Kotlin/Java backend services
6
+ - React frontend
7
+ - Node.js microservices
8
+ - Python ML services
9
+ - Postman API testing
10
+ - GitHub Actions CI/CD
11
+ - GCP (Google Cloud Platform) — logs via GCP Logs Explorer
12
+
13
+ ## Known services / components (update as needed)
14
+ - `site-search-api` — search service (Kotlin/Java)
15
+ - GroupBy search cloud (`groupbycloud.com`) — external search provider
16
+ - Command Center (CC) — internal admin/config UI (React)
17
+
18
+ ## Common test endpoints (QA/staging)
19
+ - Search: `https://search.gbiqa-lo.groupbycloud.com/api/search`
20
+ - Auth: `Authorization: client-key <uuid>`
21
+ - Tenant header: `X-Groupby-Customer-Id`
22
+
23
+ ## Areas (for API requests)
24
+ - `regressionAutomation` — MONGO, GOOGLE, MONGO_GOOGLE engines
25
+ - `regressionAutomationBrowse` — GOOGLE BROWSE engine
26
+ - Wrong area → 401 response
27
+
28
+ ## Logging
29
+ - GCP Logs Explorer is used to verify log severity
30
+ - Relevant filter pattern: `resource.labels.namespace_name="<service-name>"` + keyword
31
+ - Severity levels to watch: ERROR vs WARNING (common regression point)
32
+
33
+ ## Feature flags
34
+ - Controlled in Command Center or Vault
35
+ - Always ask which env has which flag state before writing flag-dependent tests
36
+
37
+ ## Vault settings
38
+ - Timeout values, bulkhead/concurrency limits, thresholds — ask user for actual values per env
39
+ - Do not hardcode — use variable placeholders like `<bulkhead_limit>` and note the question
40
+
41
+ ## Automation tools
42
+ - **Postman** — API testing, collections, environment variables
43
+ - **GitHub Actions** — CI regression, can run k6 or curl-based load tests
44
+ - **Manual** — GCP log severity checks, visual UI validation
45
+
46
+ ## Bulkhead / concurrency pattern (resilience4j or similar)
47
+ When a ticket involves bulkhead/semaphore limits:
48
+ - Positive: send N requests where N < limit → all succeed
49
+ - Boundary: send exactly N = limit requests → edge (some may queue)
50
+ - Overflow: send N > limit → expect 429 Too Many Requests
51
+ - Log check: 429 events must be ERROR not WARNING
52
+ - Negative control: low concurrency (e.g. 5 requests) → no 429, no error logs