Flag for attention
Steps
- Group matches by ticker — one ticker may match multiple screens.
- For each, write a single-sentence summary with the numbers + threshold + source:
- "AAPL is overbought (RSI-14 78.6 > 70) and within 0.4% of its 52-week high ($184.32 vs $185.00). Source: yfinance 2026-05-22."
- Sort by signal strength — strongest divergence from threshold first.
- Cap the list — if >10 matches, report the top 10 + a count of the rest.
- Never write "you should …" — the user decides.
- Persist to
.harness/signals_archive/<YYYY-MM-DD>.jsonperMEMORY.md.
Output shape
{
"generated_at": "2026-05-22T16:05:00-04:00",
"sources": ["yfinance"],
"summary": "3 positions flagged: 2 overbought, 1 near 52w low.",
"attention_items": [
{
"ticker": "AAPL",
"screen": "overbought_rsi",
"value": 78.6,
"threshold": 70,
"headline": "AAPL is overbought (RSI-14 78.6 > 70) and within 0.4% of its 52-week high ($184.32 vs $185.00). Source: yfinance 2026-05-22."
}
]
}
Failure modes to avoid
- Recommending action ("consider trimming AAPL"). Surface signals only.
- Headlines without numbers ("AAPL looks toppy").
- Headlines without sources / timestamps.
- Suppressing matches to "look clean" — surface them all (with the cap rule above).