Recommendations
Read for recommendation intent before ranking and rendering. The root citation and output laws take precedence over presentation examples.
If QUERY_TYPE = RECOMMENDATIONS — Signal-weighted picks, not mention counts
The failure mode for RECOMMENDATIONS queries is "counting when you should have judged." Mention count rewards whatever is already popular, which is rarely what is actually recommended. Rank by signal quality instead.
Signal weights (highest to lowest):
- Practitioner testimony (weight 5) - first-person "I use X and here's why" with specific reasoning, version numbers, or workflow details
- Expert defection / authority move (weight 4) - a domain insider publicly switching, endorsing, or picking (e.g., Flask creator switching from Python to Go)
- Measurable claim (weight 4) - specific number, benchmark, production adoption proof (e.g., "43.7% latency win", "LinkedIn and Uber running it in prod")
- Reasoned comparison (weight 3) - side-by-side analysis with tradeoffs explicitly named
- Pattern across independent sources (weight 2) - multiple unaffiliated voices converging on the same pick
- Descriptive mention (weight 1) - "X is a Python framework" — existence, not recommendation
- Promotional / bootcamp / course-caption (weight 0) - "comment CODE for my course" — skip entirely, do not count
Before ranking, separate "what EXISTS" from "what is RECOMMENDED":
- EXISTS = descriptive mentions, promotional content, training-data inertia, bootcamp curriculum, "learn X first" posts with no stakes attached
- RECOMMENDED = reasoned picks from voices with stakes in the outcome (practitioners, experts, case studies, people who switched)
- Only RECOMMENDED items drive the top of the ranking. Existing-but-not-recommended items go in "Also mentioned" at the bottom with a one-line note on why they are mentions not picks.
Lead with the 30-day DELTA, not the status-quo baseline. What is the interesting movement? Who is switching? What is the contrarian signal? A status-quo leader with no movement is a footer item, not the headline. "Python has 15 mentions" is not a delta; "Flask creator switched to Go this month" is.
Output shape:
🏆 Top recommendations (ranked by signal quality, not mention count):
**[Pick 1]** - [one-line why it is the top recommendation based on the strongest signal in the research]
- Evidence: [specific practitioner testimony, benchmark number, or expert pick - quote the actual signal]
- Best for: [specific use case]
- Voices: [real @handles, publications, or r/subreddits with stakes in the outcome]
**[Pick 2]** - [same shape]
**[Pick 3]** - [same shape]
Also mentioned (exists, not recommended): [comma-separated list with one-line note on WHY each is a mention rather than a pick - e.g., "Python (status-quo default across bootcamp content; @javitm: 'agents have a strong bias for Python despite it probably not being the best')"]Anti-patterns to avoid:
- Leading with the most-mentioned option because it appears most frequently ("Python has 15 mentions so it is #1"). That is counting, not judging.
- Treating every mention equally. A Flask-creator switching to Go (expert defection, weight 4) outranks 10 bootcamp captions saying "learn Python first" (promotional, weight 0). The bootcamp captions do not belong in the ranking at all.
- Collapsing "best for what?" into one leaderboard. RECOMMENDATIONS queries usually split into 2-4 sub-questions (best for production scale, best for agents to generate reliably, best for learning, best for benchmarks). Separate them if the research supports it.
- Ignoring anti-signal quotes. If the corpus contains a quote like "@javitm: agents have a strong bias for Python despite it probably not being the best — they prioritize the strongest signal in training data over the right choice," that is telling you mention-count is a biased metric for this topic. Read it; surface it; do not ignore it.
- Stress-test your top pick before emitting. Ask: "Would the research actually defend this claim to a skeptical expert?" If the answer is no, re-rank.
BAD RECOMMENDATIONS synthesis (counting):
"🏆 Most mentioned: Python (15 mentions), TypeScript (10x), Go (7x), Rust (5x)."
GOOD RECOMMENDATIONS synthesis (judging):
"🏆 Top recommendations (ranked by signal quality, not mention count):
Go - Flask creator Miguel Grinberg publicly switched this month for a specific technical reason
- Evidence: @miguelgrinberg blog post "Why I am moving Python projects to Go for AI agents" — cites reliability and concurrency model; 1.2K upvotes on r/programming
- Best for: production agent infrastructure
- Voices: @miguelgrinberg, r/programming, r/golang
Rust - Hardest numbers in the corpus
- Evidence: production benchmark showing 43.7% latency reduction and 16x throughput growth in agent workloads; LangChain Rust port announcement
- Best for: performance-critical agent runtimes
- Voices: @langchainai, r/rust, Hacker News
TypeScript - Strongest production-adoption signal
- Evidence: LinkedIn, Uber, and Klarna running LangGraph.js in prod per LangChain blog
- Best for: agents that integrate with existing web stacks
- Voices: @hwchase17, @LangChainAI, r/LocalLLaMA
Also mentioned (exists, not recommended): Python (status-quo default across training data and bootcamp content; @javitm: 'agents have a crazy strong bias for Python despite it probably not being the best — they prioritize the strongest signal in training data over the right choice'), Java/Kotlin (enterprise mentions only, no practitioner testimony in the 30-day window)."
Notice how the good version:
- Leads with movement (Flask creator switched), not volume (Python has most mentions)
- Cites specific evidence that would defend the ranking to a skeptic
- Treats Python's volume as anti-signal (the @javitm quote) rather than support
- Puts promotional / descriptive mentions in "Also mentioned" with explicit framing
Rendering: use the signal-quality template above; mention counts do not determine ranking.
CRITICAL for RECOMMENDATIONS:
- Each item MUST have a "Voices:" line with actual @handles from X posts (e.g., @LONGLIVE47, @ByDobson)
- Include subreddit names (r/hiphopheads) and web sources (Complex, Variety)
- Parse @handles from research output and include the highest-engagement ones
- Format naturally - tables work well for wide terminals, stacked cards for narrow
- CRITICAL whitespace rule: Never insert more than ONE blank line between any two content blocks. Comparison tables should immediately follow the preceding paragraph with exactly one blank line. Do NOT pad with 3-6 empty lines before tables.