Monolithic Dynamic Pipeline Internal (v2.6.33)

Version 1.1 by Robert Schaub on 2026/01/20 21:59

Warning

Experimental (v2.6.33) - Flexible output structure not bound to canonical schema. File: monolithic-dynamic.ts (550 lines). Labeled as "Experimental" in UI.

Monolithic Dynamic Pipeline Internal Flow


flowchart TB
    subgraph Entry[Entry Point]
        INPUT[runMonolithicDynamic]
        BUDGET[Initialize Budget maxIterations 4 maxSearches 6]
        TIMEOUT[Start timeout 2.5 minutes]
    end

    subgraph Analysis[Single LLM Analysis]
        PROMPT[Build dynamic analysis prompt]
        LLM[LLM Call DynamicAnalysisSchema]
        SEARCH[searchWebWithProvider]
        FETCH[fetchSourceContent]
    end

    subgraph Safety[Safety Contract Enforcement]
        CITATIONS[Extract citations array]
        RAW[Store rawJson]
        VALIDATE[Validate minimum fields]
    end

    subgraph Transform[Output Transform]
        DYNAMIC[Build DynamicAnalysisResult]
        REPORT[Generate experimental report]
    end

    subgraph Output[Output]
        RESULT[resultJson dynamic structure]
        MARKDOWN[reportMarkdown experimental label]
    end

    INPUT --> BUDGET
    BUDGET --> TIMEOUT
    TIMEOUT --> PROMPT

    PROMPT --> LLM
    LLM --> SEARCH
    SEARCH --> FETCH
    FETCH --> LLM

    LLM --> CITATIONS
    CITATIONS --> RAW
    RAW --> VALIDATE

    VALIDATE --> DYNAMIC
    DYNAMIC --> REPORT
    REPORT --> RESULT
    REPORT --> MARKDOWN

Key Characteristics

 Feature  Description
 Flexible Output  LLM can structure analysis freely
 Experimental  Labeled as experimental in UI
 Safety Contract  Must always include citations[] and rawJson
 Shorter Budget  More restrictive limits than canonical
 No Fallback  Does not fall back to other pipelines

Budget Configuration

 Parameter  Value  Comparison to Canonical
 maxIterations  4  vs 5 (20% less)
 maxSearches  6  vs 8 (25% less)
 maxFetches  8  vs 10 (20% less)
 timeoutMs  150000  vs 180000 (2.5 min vs 3 min)

Minimum Safety Contract

Required fields (always present):

 Field  Type  Purpose
 citations  Array  Source URLs with excerpts (provenance)
 rawJson  Any  Full LLM output for auditing

Optional fields (LLM decides):

 Field  Type  Purpose
 summary  String  Analysis summary
 verdict  Object  label, score, confidence, reasoning
 findings  Array  Key findings with support levels
 methodology  String  Analysis approach description
 limitations  Array  Known analysis limitations

Output Schema


erDiagram
    DYNAMIC_RESULT ||--o{ CITATION : has
    DYNAMIC_RESULT ||--o| VERDICT : may_have
    DYNAMIC_RESULT ||--o{ FINDING : may_have

    DYNAMIC_RESULT {
        array citations required
        any rawJson required
        string summary
        string methodology
        array limitations
    }

    CITATION {
        string url required
        string title
        string excerpt required
        string accessedAt
    }

    VERDICT {
        string label
        number score 0_to_100
        number confidence 0_to_100
        string reasoning
    }

    FINDING {
        string point
        string support strong_moderate_weak_none
        array sources
        string notes
    }

Differences from Other Pipelines

 Aspect  Orchestrated  Mono Canonical  Mono Dynamic
 Schema  Canonical fixed  Canonical fixed  Flexible
 UI  Jobs page  Jobs page  Dynamic viewer
 Fallback  Default  To Orchestrated  None
 Budget  Generous  Moderate  Restrictive
 Label  Standard  Standard  Experimental
 Code  9000 lines  1100 lines  550 lines

Use Cases

When to use Dynamic:

  • Exploratory analysis of novel claim types
  • Research where canonical structure is limiting
  • Comparing LLM reasoning approaches
  • Debugging LLM behavior

When NOT to use:

  • Production fact-checking
  • Results that need UI rendering
  • Comparing results across pipelines