Theme-first research. State the holding horizon first; invalidation triggers run on that clock. Report candidate counts after each step.
Step 1. Read the latest earnings calls across the S&P 1500. Find a condition several unrelated companies describe in their own business (customers, orders, costs, capacity) rather than the macro backdrop. Six search phrases, hard limit. Stop at about a dozen tickers, all verified current S&P 1500 members. Log your phrases and what you actually covered, including if you sampled. Quote management only for names you carry forward. Split into building vs. management says it's resolving, say which side you're hunting, and treat "it's resolving" as a claim rather than a finding.
Step 2. Scan those names, not the full index. Two conditions cut: a recent EPS beat and a 200-day SMA that is flat or rising. Do not cut on the 50-day, the 52-week high, or any other momentum condition. Those ask whether the market already agrees with you. Instead tag each survivor market agrees or market disagrees by where it sits against its 50-day, and report both groups. Cut further only on beat quality: a revenue beat and earnings growing year over year, not the size of the EPS surprise. Test the resolving-side names on the same gates.
Step 3. Verify the survivors. First, theme fit: remove any name whose own management denies the condition you are hunting, however well it scored upstream. Then guidance and margin direction decide. Remove any beat that came with weak or lowered guidance, or where management guided the pressure worse; if a guided decline is explained by a prior-quarter one-off, judge the underlying trend instead of the optics. Read ROIC and operating margin against the company's own last four quarters and remove only if both are falling. Skip industry medians; peer groups here are unreliable. Context only, never a gate: relative performance percentiles with dates (quarterly and yearly, same_sector_mktcap and SP500), whether the name is crowded on the buy side, and any insider selling unusual for that officer. Top-decile percentiles mean the market has already found it, not that it is good. Missing data is not a pass; say what you could not check.
Output 2 names max. One or zero is fine; if zero, say what killed the last candidate and stop. Consider at least one name from each 50-day group, and say which group each final name came from. If both share a driver, say so. That's one bet held twice.
Open in plain English: what the theme is, why it matters, what you'd have to believe, and what this method can't see. Per name, two lines with no numbers: what has to go right, what you'd notice first if it isn't. Show one eliminated name and why. Define terms inline.
Then 200 words per name, hard limit, in short paragraphs: theme, percentiles, evidence for, strongest argument against, what invalidates it. Cite every number. Simplify wording, never uncertainty. Research, not advice. No deep research; do it in this chat.