docs/panels/daily-market-brief.mdx
The Daily Market Brief panel (internal id daily-market-brief) is the markets-focused sibling of the Latest Brief panel. Instead of a world-intelligence digest, it produces a stanced, thematic take on today's markets — each item labelled Bullish, Defensive, or Neutral, with source attribution and framework context.
A list of brief items grouped by theme. Each item shows:
Bullish / Defensive / Neutral (from stanceLabel() in src/components/DailyMarketBriefPanel.ts).describeFreshness() to show how recent the underlying brief is, and whether the render came from a live fetch or the cached path (typed BriefSource = 'live' | 'cached').A Framework selector at the top lets PRO users re-generate the brief under a different analytical framework (client-generated analysis only; the note string spells this out).
Panel id is daily-market-brief; canonical component is src/components/DailyMarketBriefPanel.ts. Title per src/config/panels.ts:51.
premium: 'locked'. Not present in the tech, commodity, or happy variants.Generated by the forecast pipeline and read through @/services/daily-market-brief. The underlying feed is composed from today's market signals (quotes, commodity prices, macro signals, sector moves, prediction markets). Issue timestamps are rendered in the panel owner's timezone via formatGeneratedTime().
For the adjacent WorldMonitor Brief's source filtering, deduplication, LLM-grounding, and bias posture, see News Digest and Briefing Methodology.
Daily cadence, refreshed as part of the forecast cron. The panel surfaces describeFreshness() so the reader can see the age of the current brief directly; a stale fetch paints the source badge as cached.
PRO (hard-locked). premium: 'locked' in src/config/panels.ts:51. isPanelEntitled unlocks it when either a valid WORLDMONITOR_API_KEY is present or isPro is true (daily-market-brief is in the apiKeyPanels allowlist at src/config/panels.ts:973).