MemberJunction / MemberJunction/MJ
[Regression suite] Environment gaps: missing seeded 'Account Revenue by Type' query; no credentials for most model-vendor combos
- Dominant language
- TSQL
- Stars
- 29
- Forks
- 6
- Avg merge
- 2d 1h
- Merged PRs (30d)
- 323
Description
## Summary
Two gaps in the **regression test environment** (Docker stack + seeded DB) produce console errors during suite runs. Neither is an MJ product defect — filing so they are tracked rather than re-diagnosed on every run.
## 1. Missing seeded query: `Account Revenue by Type`
```
console.error: ❌ RunQuery failed: Query 'Account Revenue by Type' not found in category path 'Demo'
```
Observed 2× in run `run-20260727T202606Z`, on test T147. Something in the seeded metadata references a Demo-category query that the regression database does not contain — either the query should be added to the seed, or the reference should be removed.
## 2. No API credentials for most model-vendor combinations
```
console.error: [ConversationAgentRunner] Agent execution failed: No suitable model found for prompt
Sage - System Prompt. No valid API credentials/keys are configured for any of the candidate
model-vendor combinations. Tried: Gemma 4 31B Instruct/Cerebras, GPT…
console.error: [VectorManagement] Error generating suggestion: No suitable model found for prompt
Entity Document Suggestion. No valid API credentials/keys are configured for any of the candidate
model-vendor combinations. Tried: Gemini 3.1 Flash-Lite/Google, …
```
Observed on tests T090, T093, T095, T107. The regression stack configures credentials for only a subset of vendors, so in-app AI features (Sage, entity-document suggestions) can't execute. This is expected given the environment, but it means those code paths get **no regression coverage** — worth deciding deliberately whether to add credentials for them or to explicitly mark those surfaces as out of scope for the suite.
Related note: the candidate list is the full priority-ordered matrix (315 combos), and candidates lacking credentials are skipped without cost — see the logging clarification in `AIPromptRunner` that distinguishes "skipped for missing credentials" from a genuine failover.
## Not included here
Other console errors from the same run are genuine product issues and are filed separately:
- [#3317](https://github.com/MemberJunction/MJ/issues/3317) — `_mj__CreatedAt` transport field name leaking into `BaseEntity`
- [#3320](https://github.com/MemberJunction/MJ/issues/3320) — `Language not found: jinja2` in the template editor
- [#3321](https://github.com/MemberJunction/MJ/issues/3321) — Integration Connections surfaces connector-registration failures only to the console
---
*Found by the MJ Explorer Computer Use regression suite, run `run-20260727T202606Z` (2026-07-27).*
Contributor guide
Research direction
Start with regression run run-20260727T202606Z and inspect the Docker stack's seeded database around test T147 and the Demo query reference. Review the AIPromptRunner credential-skipping logs and the failures in T090, T093, T095, and T107. Done means the missing query is resolved in the seed or reference, and the suite has an explicit decision and coverage boundary for unavailable model vendors.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker
- Domain
- database, devops, testing
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100