FAQ and troubleshooting

Common issues—batch analysis delays, data freshness, HTTP errors, and missing symbols—with practical checks.

Question mark icon beside a short support checklist.
Most issues are timing, cache, or scope—walk the sections below in order before assuming a systemic outage.

Batch analysis feels stuck

Batch jobs depend on ATHENA (and related queues). Large universes or peak load can extend runtime.

  • Check the in-app batch status or job list for the symbol set you submitted.
  • If the UI shows no progress for an unusually long time, note the approximate start time and any request id from the network tab—your support channel can correlate with server logs.
  • Avoid resubmitting the same large batch repeatedly; duplicate work increases queue depth.

Portfolio performance or benchmark looks empty

Portfolio charts, totals, or vs SPY (or similar benchmark) rows often read precomputed snapshots. They are not guaranteed to redraw on every click.

  • Wait and retry after a few minutes or after the next regular refresh window (especially right after market open or large data updates).
  • Confirm the date range you selected still has trading days; very short windows can look blank if a job has not written that slice yet.
  • Open IRIS Status (/status) when nothing portfolio-related loads—sustained outages differ from a lagging chart.
  • N/A on a benchmark column usually means no comparison data for that window yet, same as elsewhere in the app—see Glossary (VS SPY).

For how portfolio state relates to cash and closed positions, read Your portfolio in TRINITY.

Quotes or stages look stale

Market data flows through HERMES and related caches. Delays, halts, corporate actions, or exchange maintenance can make a symbol look wrong or frozen.

  • Confirm the as-of time or delay badge shown in the app, if any.
  • Try a hard refresh and another symbol in the same exchange to see if the issue is symbol-specific.
  • If everything is delayed across symbols, check IRIS /status (or your deployment’s status page) for HERMES or upstream health.

HTTP 502 / 503 / 504 from the app

These usually mean a proxy or upstream service was unavailable or timed out—not a problem with your browser alone.

  • Retry once after a short wait; sustained errors often indicate an incident.
  • If you are integrating via API, back off retries and respect 429 responses.
  • Capture timestamp, path, and response headers (including any X-Request-Id) when contacting support.

Symbol not found or “no data”

  • Verify ticker format (e.g. exchange suffix, class shares) matches what your deployment expects.
  • New listings, name changes, or thinly traded names may be absent or delayed in the data feed.
  • Use search in the app before assuming a symbol is supported end-to-end.

ATHENA analysis on symbol pages

Why did my stage (or signal) change overnight?

Stages and signals are recalculated when ATHENA runs on new data—overnight prints, premarket gaps, dividends/splits, and refreshed indicators all feed the next run. A change usually means inputs changed, not that yesterday’s label was “wrong.” Re-read the analysis timestamp and the full context (SATA, Mansfield RS, regime)—see Analysis, batch jobs, and symbol pages.

Why does Pattern Direction disagree with my AI Signal?

Pattern Direction summarizes pattern detection only. AI Signal (BUY / ADD / HOLD / REDUCE / SELL) combines stage, SATA, Mansfield RS, and confidence gates. The two are allowed to differ—see Patterns and structure on the symbol page.

How often should I re-run batch analysis?

Use batch when you need many symbols refreshed for the same decision (screening, portfolio review). For a single name, opening the symbol page after material news or a large gap is often enough; avoid spamming duplicate large batches—see Batch analysis feels stuck above. There is no universal “correct” cadence: match refreshes to how often your thesis needs new ATHENA inputs.

Symbol page shows empty analysis or “no data” for ATHENA

  • Confirm the symbol is active in your deployment’s universe and has recent market data (HERMES).
  • Some names lag after listing changes or corporate actions; try again later and check Symbol not found or “no data” above.
  • If batch jobs failed for that symbol, the UI may show partial cards—check per-symbol status in batch analysis when the product exposes it.

Stage transition probabilities moved a lot—is that a trade signal?

No. Transition percentages are model summaries of stage-shift emphasis at analysis time, not timed forecasts. Pair them with signals, staleness checks, and your risk rules—see Stage transition probabilities.

Learning progress not syncing to my account

Progress is local by default. Cloud sync requires a Firebase ID token and a configured IRIS API base. See Getting started for PUBLIC_IRIS_API_BASE, CORS allowlist, and window.__trinityIdToken.

Portfolio optimization (DIONYSUS) issues

“No symbols” or very few positions

Usually upstream, not a random bug:

  • Batch analysis has not run recently on your names, or indicators are missing so quality filters drop them.
  • Signals are mostly SELL/REDUCE in a risk-off tape—optimizer filters to long-friendly names.
  • Universe is tiny (few watchlist symbols analyzed).

Walk How DIONYSUS filters and ranks symbols and DIONYSUS optimization troubleshooting before assuming the service is down.

Validation errors (400) on optimize

  • total_capital must meet the minimum (currently $1,000 in the API).
  • allocation_strategy must be an exact enum string.
  • Risk fields must be fractions (0–1), not whole percents, unless your UI path normalizes them—see Optimization in the IRIS browser and API.

Different result than last time

Analyses change. Stages, SATA, and prices update. Re-running optimize is not supposed to be bitwise-identical day to day.

401 / 403 on optimize

Session or signed-in account issue—start with re-login to IRIS. If your firm runs custom integrations against optimization services directly, that path requires separate setup documented on the Developers portal; retail use stays in the app.

Timeouts (504) or blank UI

Heavy Firestore reads + scoring can exceed client timeouts. Wait, retry once, check IRIS /status. Include trace_id from any JSON error when contacting support.

“I thought Hunt said buy X but optimize skipped it”

Different engines (ARTEMIS vs DIONYSUS), different constraints. Compare Hunt, Cash Hunt, and optimization—disagreement is expected; you choose.

Did TRINITY trade without me clicking?

If automated trading (ARES) is enabled for your portfolio, a scheduled job may execute vetted trades after pulling Hunt / Cash Hunt style recommendations and passing risk checks. That is different from optimization or Hunt output you have not confirmed manually.

Automated trading (ARES) — decision logs and caps

Why does the log say replacement trades are “turned off” or the daily replacement limit is zero?

Daily caps are set per portfolio or workspace rules. A zero cap means swap ideas are intentionally skipped for that run—not a market holiday bug. Check whether you meant to allow replacement trades that day; separate caps apply to cash purchases.

Why does the log say cash purchases are turned off?

Same as swaps: cash deployment can be capped at zero while replacement trades are still allowed (or the reverse). Read the line that states both limits for the run.

Why did automation skip a “stage 1” name on a cash hunt?

Some agent policies exclude buying early-stage (accumulation) names on cash hunts while still allowing other actions. That is a policy skip, not a data error. See Reading automation decision logs.

I see two skip lines about the same symbol in one run—is that duplicate trades?

Usually no—the system dedupes so it does not buy or replace the same symbol twice in one run. The second line should cite “already used” or “already replaced” style wording.

The log says risk blocked the trade (max position, cash reserve, etc.)

Your risk settings vetoed the idea after recommendations were received. Tighten or loosen limits in portfolio settings only if that matches your plan—see Risk management and Policy and constraints in plain language.

The log reached “today’s limit” after one trade

Daily caps can stop further reviews even when more ideas were suggested. That is expected when limits are low; raise caps only if your risk policy allows more activity that day.

Symbol page stage changed after automation ran—did something go wrong?

Often no. ATHENA can refresh on a different schedule than automation (batch analysis, single-symbol refresh). New labels after a trade usually mean analysis time moved forward—not that execution ignored the model. See How ATHENA fits your trading process.

What does “[Dry run] would …” mean?

Your environment may be in simulation mode: the line describes what would have happened without executing. Confirm in-product whether you are on paper / simulation vs live-capable flows—see Disclosures.

Hunt and Cash Hunt (ARTEMIS)

Why does Cash Hunt show nothing (or almost nothing)?

Common causes:

  • Deployable cash is near zero after TRINITY’s cash buffer (about 10% of modeled total capital) and your risk envelope — see Hunt, Cash Hunt, and optimization.
  • Risk caps or max positions leave no room for a new line.
  • Automation / agent policy filtered out ideas you might still see on a standalone symbol page — see Reading automation decision logs.
  • The analyzed universe for that run had no eligible names left after quality filters — not every listed stock is a candidate every time.

Walk Reading Hunt and Cash Hunt results before assuming outage; then Status, delays, and “is it broken?”.

Why won’t Hunt suggest a ticker I used to own?

Allocation history often still lists the symbol (including some closed lines). TRINITY may block it from new or replacement suggestion lists to avoid duplicate exposure. See Hunt, Cash Hunt, and optimization.

Why does replace mode show a different “breadth” of names than general mode?

Replace may try a wider search for swaps first, then fall back to the same on-platform analyzed pool used elsewhere. General mode is usually aligned to that pool from the start. Different breadth is expected — not random ranking — see Replace vs general mode.

Hunt and the symbol page don’t match—what do I check first?

Use the ordered checklist in When your symbol page and Hunt disagree.

Email and notifications

Overview: Emails and alerts in TRINITY.

I turned email on but I am not receiving anything

  • Confirm you saved portfolio Settings for the correct portfolio (toggles are per book where shown).
  • Check account or notification preferences in IRIS for the same category—some mail requires both portfolio and account switches to be on.
  • Look in spam or promotions; add the sender your workspace documents to safe senders if needed.
  • Remember welcome or portfolio created mail may be the only guaranteed first touch; other categories wait for the next scheduled send.

I expected mail immediately after toggling

Most digests run on a schedule (often weekdays). The first message after you opt in may arrive on the next run, not within seconds.

Symbols checker digest feels too frequent or too broad

That option is market-wide context, not “only my holdings.” Turn it off in portfolio Settings if you want a quieter inbox, or keep daily portfolio mail only—see Emails and alerts in TRINITY.

I get duplicate-looking emails

If you enabled the same category on multiple portfolios, messages can overlap in topic. Disable the category on books you do not need mail for.

ARTEMIS picks or ARES notices do not match the app

Check timestamps on symbol pages and decision logs—email can trail a fresh analysis or a prior automation run. Use Reading automation decision logs for scheduled trades.

Still stuck?

Use the Help entry point in the IRIS web app (/help when configured) and the contacts in Disclosures.

Progress is saved in this browser. Cloud sync requires PUBLIC_IRIS_API_BASE, IRIS CORS allowlist, and window.__trinityIdToken.