Ideology
AI Startup Validator
| Team | Agent | Status |
| Pre-flight | Problem Definer | pending |
| Analyst Team | Market Analyst | pending |
| Competitor Analyst | pending | |
| Trend Analyst | pending | |
| Customer Analyst | pending | |
| Biz Model Analyst | pending | |
| Research Team | Bull Researcher | pending |
| Bear Researcher | pending | |
| Synthesis Team | Research Manager | pending |
| Critical Risk Agent | pending | |
| Red Team Critic | pending | |
| Verdict Agent | pending |
| Time | Type | Content |
Waiting for first agent to complete...
A single LLM asked to evaluate your startup idea will almost always validate it. Ideology solves this with a structurally adversarial pipeline: two separate agents, two opposing mandates, running sequentially so the bear agent receives the bull's full argument and must rebut specific claims — not generic risks.
Architecture
Research Layer (sequential)
├── Problem Definer → frames the idea, classifies business type
├── Market Size Analyst → sizing, growth trajectory
├── Trend Analyst → search trends, timing, tailwinds/headwinds
├── Competitor Analyst → competitor mapping, funding activity, gaps
├── Customer Analyst → pain level, willingness to pay signals
├── Business Model Analyst → revenue model, unit economics
└── Specialist Agents → practice-specific (routed by business_type)
Debate Layer (sequential, N rounds with convergence check)
├── Bull Researcher → strongest sourced case for the idea
├── Bear Researcher → receives bull's full output, rebuts specific claims
└── Claim Register → live structured claim graph, updated each round
Synthesis Layer (critical_risk + red_team run in parallel)
├── Research Manager → resolves bull/bear disagreements on record
├── Critical Risk Agent → single most likely cause of failure
├── Red Team Agent → reasons about the reasoning quality itself
└── Verdict Agent → score, conditions, next stepsKey Engineering Decisions
Why the debate layer runs sequentially
The bear agent's entire value comes from reading the bull's full argument. If they ran in parallel, the bear would produce generic risks — exactly what every other tool does. Sequential execution is not a limitation here. It is the architectural feature.
The Claim Register
After each debate round, a separate LLM call extracts every claim, its supporting evidence, and its status: OPEN, CONTESTED, or CONCEDED. The register feeds back into subsequent rounds so agents argue about the same claims, not past each other. The debate terminates when the register detects convergence — no new claims, no status changes — rather than after a fixed round count.
Checkpointing for resumability
Every agent writes a checkpoint immediately after completing. A 10-agent pipeline that costs real money cannot afford to restart from scratch on a network timeout. On resume, agents check if their output key is already populated and skip if so — the same code handles fresh runs and resumed runs without branching.
Two-pass report rendering
The raw pipeline output is not shown directly to users. A final LLM pass rewrites the concatenated agent outputs into an editorial-quality markdown document with strict rules: paragraphs for reasoning, bullets for enumeration, citations enforced as (Source, Year), hard word count ceiling of 700–1000 words. Agents can be verbose and raw; the final output stays clean.
How It Reduces Hallucinations
| Problem | Typical LLM System | Ideology |
|---|---|---|
| Sycophancy | Model agrees with the idea's framing | Bear agent's mandate is adversarial by design |
| One voice | Pros and cons in the same model pass | Two agents, two mandates — bear reads bull |
| No claim tracking | Each section is independent | Claim register tracks specific claims across rounds |
| Stale data | Training cutoff | Live web search on every analyst run |
| Fabricated citations | Model generates plausible-sounding sources | Citation gate: only sources in raw report allowed |
| No reasoning audit | Analysis is not self-critiqued | Red team agent critiques the quality of the reasoning |
Stack
| Layer | Technology |
|---|---|
| Language | Python 3.13 |
| LLM Provider | Anthropic SDK |
| Models | claude-opus-4-6 (debate/synthesis), claude-sonnet-4-6 (research) |
| Web Search | Native Anthropic web search tool — no external API |
| Concurrency | asyncio — no orchestration framework |
| Report Generation | Playwright (PDF), markdown library (HTML) |