AKEL Pipeline Flow

Last modified by Robert Schaub on 2026/02/08 21:46

AKEL Pipeline Flow

High-Level Flow

flowchart TB
    subgraph Input["📥 Input Layer"]
        URL[URL Input]
        TEXT[Text Input]
    end

    subgraph Retrieval["🔍 Content Retrieval"]
        FETCH[extractTextFromUrl]
        PDF[PDF Parser
pdf2json] HTML[HTML Parser
cheerio] end subgraph AKEL["🧠 AKEL Pipeline"] direction TB subgraph Step1["Step 1: Understand"] UNDERSTAND[understandClaim
━━━━━━━━━━━━━
• Detect input type
• Extract claims
• Identify dependencies
• Assign risk tiers] LLM1[("🤖 LLM Call #1
Claude/GPT/Gemini")] end subgraph Step2["Step 2: Research (Iterative)"] DECIDE[decideNextResearch
━━━━━━━━━━━━━
• Generate queries
• Focus areas] SEARCH[("🌐 Web Search
Google CSE / SerpAPI")] FETCHSRC[fetchSourceContent
━━━━━━━━━━━━━
• Parallel fetching
• Timeout handling] EXTRACT[extractEvidence
━━━━━━━━━━━━━
• Parse sources
• Extract evidence] LLM2[("🤖 LLM Call #2-N
Per source")] end subgraph Step3["Step 3: Verdict Generation"] VERDICT[generateVerdicts
━━━━━━━━━━━━━
• Claim verdicts
• Article verdict
• Dependency propagation] LLM3[("🤖 LLM Call #N+1
Final synthesis")] end subgraph Step4["Step 4: Summary"] SUMMARY[generateTwoPanelSummary
━━━━━━━━━━━━━
• Format results
• Build two-panel summary] end subgraph Step5["Step 5: Report"] REPORT[generateReport
━━━━━━━━━━━━━
• Generate markdown] end end subgraph Output["📤 Output"] RESULT[AnalysisResult JSON] MARKDOWN[Report Markdown] end %% Flow connections URL --> FETCH TEXT --> UNDERSTAND FETCH --> PDF FETCH --> HTML PDF --> UNDERSTAND HTML --> UNDERSTAND UNDERSTAND --> LLM1 LLM1 --> DECIDE DECIDE --> SEARCH SEARCH --> FETCHSRC FETCHSRC --> EXTRACT EXTRACT --> LLM2 LLM2 --> DECIDE DECIDE -->|"Research Complete"| VERDICT VERDICT --> LLM3 LLM3 --> SUMMARY SUMMARY --> REPORT REPORT --> RESULT REPORT --> MARKDOWN

Pipeline Steps Detail

Step 1: Understand (understandClaim)

  • Detects input type: question | statement | article
  • Extracts claims with dependencies
  • Assigns risk tiers (A/B/C)
  • Detects context(s) and temporal boundaries
  • Discovers KeyFactors (optional decomposition questions)
  • Applies Gate 1: Claim Validation

Step 2: Research (decideNextResearch + extractEvidence)

  • Iterative research cycle (typically 2-3 rounds)
  • Generates search queries targeting gaps
  • Fetches and parses sources (HTML, PDF)
  • Extracts evidence from each source
  • Continues until research is complete or max rounds reached

Step 3: Verdict Generation (generateVerdicts)

  • Generates verdicts for each claim
  • Aggregates claim verdicts into KeyFactor verdicts
  • Aggregates KeyFactor verdicts into context answers
  • Generates overall article verdict
  • Applies Gate 4: Verdict Confidence Assessment

Step 4: Summary (generateTwoPanelSummary)

  • Builds two-panel summary (Overview + Key Findings)
  • Formats verdict data for display

Step 5: Report (generateReport)

  • Generates markdown report
  • Includes all sections: Summary, Claims, Sources, Verdict

Navigation: Architecture Overview | Prev: Architecture Summary | Next: Data Models