Wiki source code of High-Level Architecture (v2.6.33)
Last modified by Robert Schaub on 2026/02/08 08:31
Hide last authors
| author | version | line-number | content |
|---|---|---|---|
| |
1.1 | 1 | {{info}} |
| 2 | **Current Implementation (v2.6.33)** - Two-service architecture: Next.js web app for UI and analysis, .NET API for job persistence. | ||
| 3 | {{/info}} | ||
| 4 | |||
| 5 | = High-Level Architecture = | ||
| 6 | |||
| 7 | {{mermaid}} | ||
| 8 | |||
| 9 | graph TB | ||
| 10 | subgraph Client[Client Layer] | ||
| 11 | BROWSER[Web Browser] | ||
| 12 | end | ||
| 13 | |||
| 14 | subgraph NextJS[Next.js Web App] | ||
| 15 | ANALYZE[analyze page] | ||
| 16 | JOBS[jobs page] | ||
| 17 | JOBVIEW[jobs id page] | ||
| 18 | ANALYZE_API[api fh analyze] | ||
| 19 | JOBS_API[api fh jobs] | ||
| 20 | RUN_JOB[api internal run-job] | ||
| 21 | ORCH[orchestrated.ts] | ||
| 22 | CANON[monolithic-canonical.ts] | ||
| 23 | SHARED[Shared Modules] | ||
| 24 | WEBSEARCH[web-search.ts] | ||
| 25 | MBFC[source-reliability.ts] | ||
| 26 | end | ||
| 27 | |||
| 28 | subgraph DotNet[.NET API] | ||
| 29 | DOTNET_API[ASP.NET Core API] | ||
| 30 | JOBS_CTRL[JobsController] | ||
| 31 | HEALTH_CTRL[HealthController] | ||
| 32 | SQLITE[(SQLite factharbor.db)] | ||
| 33 | end | ||
| 34 | |||
| 35 | subgraph External[External Services] | ||
| 36 | LLM[LLM Providers] | ||
| 37 | SEARCH[Search Providers] | ||
| 38 | end | ||
| 39 | |||
| 40 | BROWSER --> ANALYZE | ||
| 41 | BROWSER --> JOBS | ||
| 42 | BROWSER --> JOBVIEW | ||
| 43 | ANALYZE --> ANALYZE_API | ||
| 44 | ANALYZE_API --> DOTNET_API | ||
| 45 | DOTNET_API --> SQLITE | ||
| 46 | RUN_JOB --> ORCH | ||
| 47 | RUN_JOB --> CANON | ||
| 48 | ORCH --> SHARED | ||
| 49 | CANON --> SHARED | ||
| 50 | ORCH --> LLM | ||
| 51 | CANON --> LLM | ||
| 52 | ORCH --> WEBSEARCH | ||
| 53 | WEBSEARCH --> SEARCH | ||
| 54 | SHARED --> MBFC | ||
| 55 | |||
| 56 | {{/mermaid}} | ||
| 57 | |||
| 58 | == Component Summary == | ||
| 59 | |||
| 60 | |= Component |= Technology |= Purpose | ||
| 61 | | **Web App** | Next.js 14 | UI, API routes, AKEL pipeline | ||
| 62 | | **API** | ASP.NET Core | Job persistence, health checks | ||
| 63 | | **Database** | SQLite | Jobs, events, results (JSON blob) | ||
| 64 | | **LLM** | AI SDK | Multi-provider LLM abstraction | ||
| 65 | | **Search** | Google CSE / SerpAPI | Web search for evidence | ||
| 66 | |||
| 67 | == Key Files == | ||
| 68 | |||
| 69 | |= File |= Lines |= Purpose | ||
| 70 | | ##orchestrated.ts## | ~9000 | Main orchestrated pipeline | ||
| 71 | | ##monolithic-canonical.ts## | ~1100 | Monolithic canonical pipeline | ||
| 72 | | ##scopes.ts## | ~600 | Scope detection | ||
| 73 | | ##aggregation.ts## | ~300 | Verdict aggregation | ||
| 74 | |||
| 75 | == Environment Variables == | ||
| 76 | |||
| 77 | |= Variable |= Default |= Purpose | ||
| 78 | | ##LLM_PROVIDER## | anthropic | Primary LLM provider | ||
| 79 | | ##FH_SEARCH_ENABLED## | true | Enable web search | ||
| 80 | | ##FH_DETERMINISTIC## | true | Zero temperature |