How lauphilip/au-btech-literature-review-agent works
1. Overall shape
- This is a single .NET 10 application named AuBtechReviewAgent.
- It combines a Blazor UI with a backend review pipeline for literature synthesis and PRISMA-style reporting.
2. Application entry and UI shell
- Program.cs boots the app and wires services.
- Components/App.razor, Routes.razor, and the layout components define the browser-facing shell.
- MainLayout, NavMenu, and ReconnectModal indicate a stateful interactive UI, with Bootstrap used for styling.
3. Primary user-facing screens
- Home.razor is the main landing/control page.
- SpecMatrix.razor is the most important domain screen: it likely surfaces the structured screening/matrix view for the review process.
- Error.razor and NotFound.razor handle failure and routing boundaries.
4. Core orchestration engine
- PrismaReviewEngine.cs is the central workflow coordinator.
- From the README, the engine’s role is to execute the review pipeline end-to-end: query sources, screen candidates, ingest manuscripts, chunk documents, and synthesize PRISMA-compliant outputs.
5. Source-adapter boundary
- IAcademicSource.cs defines the abstraction for literature providers.
- ArxivSource, ElsevierSource, GoogleScholarSource, IeeeXploreSource, and ResearchGateSource are provider-specific adapters.
- This isolates external source behavior from the rest of the pipeline and makes the ingestion stage pluggable.
6. Document processing and grounding
- DocumentRAGUtility.cs is the document-analysis layer used to turn raw papers into retrievable context for synthesis.
- The README describes a chunking and grounding flow: PDFs are parsed, split into overlapping text windows, and passed into the synthesis stage so outputs are tied back to source evidence rather than free-form text.
7. Review data model
- ReviewModels.cs likely contains the shared domain objects used across the pipeline: papers, screening results, evidence chunks, report items, and trace records.
- This forms the contract between source ingestion, screening, ranking, and reporting.
8. Quality / venue ranking subsystem
- JournalRankingMatcher.cs is a separate enrichment step for mapping venues to quality/ranking data.
- The ScimagoData folder contains year-specific CSVs from 2020–2025, which act as a local reference dataset for journal/venue ranking lookups.
9. State management and UI coordination
- UiStateContainer.cs likely holds shared application state across components, such as current review progress, selected dataset, or generated results.
- This is the main bridge between the review engine and the interactive Blazor views.
10. Outputs and artifacts
- prisma-report.json is a key generated artifact and represents the structured PRISMA checklist/report output.
- The README also describes a disposable workspace containing source PDFs and a process trace, which implies the pipeline produces auditable run artifacts rather than only a final textual summary.
11. Configuration and runtime boundaries
- appsettings.json and appsettings.Development.json hold environment-specific settings for the pipeline and UI.
- Properties/launchSettings.json shows it is intended to run as a local .NET app during development.
- There is no visible database layer; the architecture appears file- and service-driven, with local CSVs and generated JSON artifacts as the main persistence surfaces.
12. End-to-end data flow
- User action in the Blazor UI triggers the review engine.
- The engine queries external academic sources through the provider interfaces.
- Candidate papers are screened and enriched with ranking data.
- PDFs are ingested and chunked for grounded synthesis.
- The final outputs are the PRISMA report and traceable review artifacts, which are then displayed back in the UI.
13. Important architectural boundary
- The key design boundary is between external evidence acquisition and internal synthesis.
- Source adapters and local ranking CSVs collect inputs; the review engine and document utilities transform them into auditable, reproducible report artifacts.
Main entry points: PrismaReviewEngine.cs Review engine · IAcademicSource.cs Source contract · Components App shell · UiStateContainer.cs UI state
Components 19
UI shell
Blazor browser surface and shared layout
- Program · Application startup and dependency wiring
AuBtechReviewAgent/Program.cs - App shell · Root app, routing, layout, and interactive navigation
AuBtechReviewAgent/Components - Home · Main entry and control screen
AuBtechReviewAgent/Components/Pages/Home.razor - Spec Matrix · Structured screening and review matrix view
AuBtechReviewAgent/Components/Pages/SpecMatrix.razor - Error pages · Error and not-found boundaries
AuBtechReviewAgent/Components/Pages/Error.razor - Layout · Main layout, nav menu, and reconnect modal
AuBtechReviewAgent/Components/Layout
Review pipeline
End-to-end literature review orchestration and synthesis
- Review engine · Coordinates query, screening, ingestion, and PRISMA output
AuBtechReviewAgent/PrismaReviewEngine.cs - Review models · Shared pipeline data structures and review records
AuBtechReviewAgent/ReviewModels.cs - UI state · Cross-component application state and progress tracking
AuBtechReviewAgent/UiStateContainer.cs - Document RAG · PDF chunking, grounding, and retrieval context assembly
AuBtechReviewAgent/DocumentRAGUtility.cs - Journal ranker · Maps venues to ranking and quality data
AuBtechReviewAgent/JournalRankingMatcher.cs
Source adapters
External academic provider integrations
- Source contract · Abstraction for academic literature sources
AuBtechReviewAgent/IAcademicSource.cs - ArXiv · Provider-specific literature adapter
AuBtechReviewAgent/ArxivSource.cs - Elsevier · Provider-specific literature adapter
AuBtechReviewAgent/ElsevierSource.cs - Scholar · Provider-specific literature adapter
AuBtechReviewAgent/GoogleScholarSource.cs - IEEE Xplore · Provider-specific literature adapter
AuBtechReviewAgent/IeeeXploreSource.cs - ResearchGate · Provider-specific literature adapter
AuBtechReviewAgent/ResearchGateSource.cs
Reference data
Local ranking data and generated artifacts
- Scimago data · Year-specific CSV venue ranking data
AuBtechReviewAgent/ScimagoData - PRISMA report · Structured PRISMA-style output artifact
AuBtechReviewAgent/prisma-report.json
Connections 21
- Program → App shell: boots · Starts the Blazor application and services
- App shell → Layout: renders · Provides shared navigation and page chrome
- App shell → Home: routes to · Exposes the main landing screen
- App shell → Spec Matrix: routes to · Exposes the core review workspace
- App shell → Error pages: fallbacks · Handles error and not-found states
- Layout → UI state: binds · Shares app state across interactive components
- Home → Review engine: starts review · Triggers the review workflow from the UI
- Spec Matrix → UI state: shows · Displays current review progress and results
- Review engine → Source contract: uses · Queries literature through the source abstraction
- Source contract → ArXiv: implemented by · ArXiv provider integration
- Source contract → Elsevier: implemented by · Elsevier provider integration
- Source contract → Scholar: implemented by · Google Scholar provider integration
- Source contract → IEEE Xplore: implemented by · IEEE Xplore provider integration
- Source contract → ResearchGate: implemented by · ResearchGate provider integration
- Review engine → Journal ranker: enriches via · Adds venue ranking and quality context
- Journal ranker → Scimago data: looks up · Reads local Scimago reference CSVs
- Review engine → Document RAG: grounds with · Chunks and retrieves document evidence for synthesis
- Review engine → Review models: structures with · Uses shared review domain contracts
- Document RAG → Review models: emits · Produces evidence chunks and traceable context
- Review engine → PRISMA report: writes · Generates the PRISMA report artifact
- UI state → Review engine: reflects · Mirrors pipeline progress and outputs in the UI