This file defines the minimum source behavior for time-sensitive market questions. It is a source and freshness gate, not a promise of background monitoring or autonomous trading.
Use this gate when the user asks about:
- today, now, current, live, intraday, premarket, after-hours, latest move
- 是否崩盘 / 是否调整 / 今天怎么了 / 现在还能不能看
- market reaction to an event that is still trading
- price, index, yield, FX, commodity, VIX, options or volume conditions where same-day data changes the answer
For live-use answers, do a fresh source check before making a market judgment. Do not rely on model memory, old case notes or stale market data.
Minimum live chain:
time-sensitive prompt -> market-date resolution -> live data gate -> source cross-check
-> quote_time or publish_time/as_of -> facts/inferences/judgment
-> stale_after/must_refresh_if
If fresh data is unavailable, say so and downgrade the answer to needs_refresh,
source_gap or watch_only.
Before source lookup, apply time-policy.md Market-Date
Resolution: relative words like today, now, 今天 and 目前 are anchored
to the instrument's market timezone, not to the user's local calendar date. For
US equities, indexes and options, default to America/New_York; if the user is
in China/Singapore on June 12 while New York is still June 11, a US-market
"today" quote must use the June 11 US market session unless the user explicitly
asks for China-date reporting.
The same rule applies in reverse. If the user is in the US on June 11 while an
East Asian market is already on June 12, a China/Korea/Japan/HK/Taiwan market
"today" quote must use that local market session date, not the US local date.
Use Asia/Shanghai, Asia/Seoul, Asia/Tokyo, Asia/Hong_Kong or
Asia/Taipei according to market_scope.
If a local authorized broker/provider connector is configured as
MIRA_MARKET_DATA_DEFAULT_SOURCE and is reachable, treat it as the first live
market-pricing source for quote-bearing questions in markets covered by its
local entitlements. Record the connector source_id, quote time, permission
boundary and whether a public cross-check was skipped or performed. Public
aggregators remain fallback/cross-check sources, not the local default.
Prefer the narrowest available source stack for the object:
| object | preferred live sources | fallback sources | minimum cross-check |
|---|---|---|---|
| US major index / ETF | exchange or official index page; Google Finance; Yahoo Finance; Stooq; broker/provider connector if authorized | professional media live blog with timestamp | two independent market-data sources, or one source plus a timestamped high-quality live article |
| single US equity | exchange/issuer trading page where available; Google Finance; Yahoo Finance quote; Nasdaq/NYSE page; authorized provider | professional media live article | quote source plus news/source explaining the event if the question asks "why" |
| non-US equity | local exchange/official quote page first; local disclosure/IR for events | Yahoo/Stooq/Google as delayed cross-check | local market source where practical; otherwise label as delayed/aggregated |
| rates / macro release | official release page or Treasury/FRED/Fed/BLS/BEA where applicable | professional media live coverage | official source for the released number; market source for reaction |
| crypto / FX / commodities | exchange/venue or reputable market-data provider | professional media live coverage | two venues/providers if the move is material |
For non-US markets, apply data/market-default-packs.csv first. Aggregated
quotes alone are enough for a quick delayed market read, not for a durable local
market conclusion.
Every live or same-day market-pricing answer should state or carry internally:
research_objectmarket_scopetime_boundaryuser_local_datetimewhen knownmarket_timezonemarket_session_datesource_boundaryquote_timeorpublish_timeas_of_datesource_nameslive_freshness_status:live,delayed,stale, orunavailablecross_check_status:passed,partial, orfailedstale_aftermust_refresh_if
For quick answers, the visible output can be compact, but it must still include the time boundary and freshness caveat when the judgment depends on live data.
Search or live-source lookup is required when the answer uses any of these freshness claims:
- "today", "currently", "right now", "latest", "premarket", "after-hours"
- same-session index/price/volatility direction
- market reaction to a newly published event
- whether a move is a pullback, correction, crash, squeeze, breakout or panic
For price, index, volatility, FX, commodity and other quote-bearing questions,
use live_data_gate=required_quote_time. For macro releases, regulatory
announcements, issuer news or other publication-only questions without a market
quote, use live_data_gate=required_publish_time.
When the question asks only for a stable definition, historical explanation or
methodology, this gate can be waived with live_data_gate=waived_definition.
Do not reuse evidence-log freshness_status for live-source acquisition
quality. The evidence-log field already has a separate schema:
current, acceptable_for_period, preliminary, stale, or unknown.
Use:
live_freshness_statusfor live-source freshness in routing cards, source notes and quick-map outputs.- evidence-log
freshness_statusfor claim-level evidence posture after a row is logged. cross_check_statusfor whether live-source lookup was corroborated.- evidence-log
conflict_statusfor whether claim-level evidence rows conflict after evidence is logged.
Use explicit thresholds where possible, and state them:
normal_noise: major index move less than about 1% and volatility calm.pullback_or_adjustment: major index down about 1-3%, or sector/index weakness with contained volatility and no broad liquidity stress.sharp_selloff: major index down about 3-5%, VIX or equivalent volatility rising sharply, breadth materially weak.crash_or_panic: major index down more than about 5% intraday or over a very short window, volatility in a stress regime, broad cross-asset or liquidity deterioration, and credible evidence of forced selling or systemic stress.
These are heuristics, not labels to force. If the object is a high-volatility single stock, use object-specific history, beta and event context instead of major-index thresholds.
Common live-data failures:
- source is delayed but not labeled as delayed
- quote time is missing or from a previous session
- the user's local date is treated as the market session date
- search result headline is current but underlying article is old
- one aggregator has a stale cached quote
- futures, ETF and cash index are mixed without naming the instrument
- premarket/after-hours move is treated as regular-session breadth
- price action is used to prove a fundamental conclusion
- a news headline explains correlation but not causality
If any of these affect the answer, downgrade the judgment and state the gap.
For a live market quick map, include:
- core judgment
- fact snapshot with source/time
- inference separating price action from cause
- confidence and reversal condition
stale_afterormust_refresh_if
Do not give trade execution instructions. If the user asks about buying, selling, adding, trimming, hedging or options, route through the actionability and instrument gates after the live-data gate.