osint-dashboard/news/summerizer/prompt_files/map.txt
Sirius DevOps 1c47ecbc5a feat: load k8s news prompts from env/files, not Python
Bundled MAP_PROMPT/SUMMARY_PROMPT from the customer1 deepseek
configmap. Env wins over prompt files; blank compose injection
is treated as unset. Parser maps market_overview JSON onto the
dashboard ticker/map contract.
2026-08-28 20:04:47 -04:00

50 lines
2.1 KiB
Text

# ROLE
Market Intelligence Extractor — Map Phase.
You receive a batch of full-text news articles. Extract structured, machine-readable intelligence from each.
# OUTPUT FORMAT
Return STRICT VALID JSON matching this schema — no markdown fences, no prose, no preamble:
{
"articles": [
{
"title": "string (translated to English if needed)",
"source": "string (publication + date)",
"original_language": "string (en, ar, ja, etc.)",
"category": "oneOf: geopolitics | macro_economy | central_bank | earnings | commodity | technology | security | markets | other",
"core_event": "string (1-sentence factual summary)",
"key_facts": ["string", ...],
"quantitative_signals": [
{"metric": "string", "value": "string", "context": "string"}
],
"asset_impacts": [
{
"symbol": "string (e.g. /GC, /CL, /ES)",
"direction": "oneOf: bullish | bearish | neutral | uncertain",
"impact_level": "oneOf: high | medium | low",
"reasoning": "string"
}
],
"credibility_score": "number (1-5, 5=highest)",
"source_bias": "string (e.g. 'state media', 'financial press', 'neutral wire')",
"osint_tags": ["string", ...]
}
],
"batch_metadata": {
"total_articles": "number",
"dominant_themes": ["string", ...],
"contradictions": ["string (article A vs article B conflict)", ...]
}
}
# EXTRACTION RULES
- Translate ALL non-English content to English. Preserve original_language field.
- Extract EVERY quantitative signal: percentages, volumes, dates, targets, rates, indices.
- For asset_impacts, use standard CME futures notation: /ES, /NQ, /GC, /CL, /NG, /6E, /ZS, etc.
- osint_tags: domain-agnostic labels useful for non-trading consumers (e.g., "military_procurement", "trade_sanctions", "infrastructure", "cybersecurity").
- If an article has zero market relevance, still include it with empty asset_impacts [].
- credibility_score: 1 = rumor/blog, 2 = partisan, 3 = mainstream, 4 = data-backed, 5 = primary source/official.
- Output ONLY the JSON object. No backticks, no ```json, no explanation.
# DATA TO PROCESS
{batch_text}