# yashighosh/moltprotocol architecture

> Architecture diagram of the GitHub repository yashighosh/moltprotocol, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/yashighosh/moltprotocol
- Repository: https://github.com/yashighosh/moltprotocol

## Overview

MoltProtocol is an intent-aware workbench for legacy modernization. A user signs in, uploads or selects a codebase, reviews ingestion results, explores dependencies, generates confidence-scored intent summaries, and has an expert confirm or correct them before discrepancies are compared against validated intent. The server pipeline, parser, confidence scoring, discrepancy analysis, and SQLite persistence form the core internal layers; graph export and documented preview workspaces extend the product. Some page and server internals were not sampled, so those branches are included only where the README or source index supports them.

Main entry points: [`client/src/api.ts`](https://github.com/yashighosh/moltprotocol/blob/main/client/src/api.ts) (API Client), [`server/src/app.ts`](https://github.com/yashighosh/moltprotocol/blob/main/server/src/app.ts) (HTTP API), [`server/src/pipeline.ts`](https://github.com/yashighosh/moltprotocol/blob/main/server/src/pipeline.ts) (Analysis Pipeline), [`server/src/intent/summarize.ts`](https://github.com/yashighosh/moltprotocol/blob/main/server/src/intent/summarize.ts) (Intent Summaries)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Workbench"]
  node_auth["Demo Sign-in<br/>[auth.tsx]"]
  node_workspace["Project Workspace<br/>[WorkspacePage.tsx]"]
  node_ingestion_ui["Ingestion View<br/>[IngestionPage.tsx]"]
  node_dependency_ui["Dependency Map<br/>[DependencyPage.tsx]"]
  node_intent_ui["Intent Summaries<br/>[IntentPage.tsx]"]
  node_review_ui["Expert Review<br/>[ReviewPage.tsx]"]
  node_discrepancy_ui["Discrepancy View"]
  node_modernization_ui["Modernization Views"]
  node_api_client["API Client<br/>[api.ts]"]
end

subgraph group_ingestion["Ingestion and Analysis"]
  node_pipeline["Analysis Pipeline<br/>[pipeline.ts]"]
  node_ingest["Source Ingestion<br/>[zipSafe.ts]"]
  node_parser["Source Parser<br/>[parse.ts]"]
end

subgraph group_intent["Intent and Review"]
  node_summarizer["Intent Summaries<br/>[summarize.ts]"]
  node_confidence["Confidence Scoring<br/>[confidence.ts]"]
  node_review_state["Persisted Review<br/>[pipeline.ts]"]
end

subgraph group_insights["Modernization Insights"]
  node_graph_export["Graph Export<br/>[graphExport.ts]"]
  node_discrepancy["Discrepancy Analysis<br/>[compare.ts]"]
end

subgraph group_platform["API and Persistence"]
  node_api_routes["HTTP API<br/>[app.ts]"]
  node_read_models["Project Read Models<br/>[readModels.ts]"]
  node_database[("SQLite Database<br/>[db.ts]")]
end

node_user(("Engineer"))

node_user -->|"signs in"| node_auth
node_auth -->|"checks session"| node_api_client
node_user -->|"selects project"| node_workspace
node_workspace -->|"opens ingestion"| node_ingestion_ui
node_ingestion_ui -->|"submits source"| node_api_client
node_api_client -->|"requests API"| node_api_routes
node_api_routes -->|"reads uploaded zip"| node_ingest
node_api_routes -->|"starts ingestion"| node_pipeline
node_pipeline -->|"parses source"| node_parser
node_pipeline -->|"reads and writes"| node_database
node_pipeline -->|"generates summaries"| node_summarizer
node_summarizer -->|"uses parsed source"| node_parser
node_summarizer -->|"scores evidence"| node_confidence
node_user -->|"explores map"| node_dependency_ui
node_dependency_ui -.->|"requests analysis"| node_api_client
node_api_routes -->|"exports graph"| node_graph_export
node_user -->|"reviews summaries"| node_intent_ui
node_intent_ui -.->|"requests summaries"| node_api_client
node_review_ui -->|"confirms or corrects"| node_api_client
node_api_routes -.->|"records review"| node_pipeline
node_pipeline -->|"compares intent"| node_discrepancy
node_user -->|"checks findings"| node_discrepancy_ui
node_discrepancy_ui -.->|"loads findings"| node_api_client
node_user -->|"opens preview views"| node_modernization_ui
node_api_routes -.->|"serves project data"| node_read_models
node_read_models -.->|"reads records"| node_database

click node_auth "https://github.com/yashighosh/moltprotocol/blob/main/client/src/auth.tsx"
click node_workspace "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/WorkspacePage.tsx"
click node_ingestion_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/IngestionPage.tsx"
click node_dependency_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/DependencyPage.tsx"
click node_intent_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/IntentPage.tsx"
click node_review_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/ReviewPage.tsx"
click node_discrepancy_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/DiscrepancyPage.tsx"
click node_modernization_ui "https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/ArchitecturePage.tsx"
click node_api_client "https://github.com/yashighosh/moltprotocol/blob/main/client/src/api.ts"
click node_api_routes "https://github.com/yashighosh/moltprotocol/blob/main/server/src/app.ts"
click node_pipeline "https://github.com/yashighosh/moltprotocol/blob/main/server/src/pipeline.ts"
click node_ingest "https://github.com/yashighosh/moltprotocol/blob/main/server/src/ingest/zipSafe.ts"
click node_parser "https://github.com/yashighosh/moltprotocol/blob/main/server/src/analysis/parse.ts"
click node_graph_export "https://github.com/yashighosh/moltprotocol/blob/main/server/src/export/graphExport.ts"
click node_summarizer "https://github.com/yashighosh/moltprotocol/blob/main/server/src/intent/summarize.ts"
click node_confidence "https://github.com/yashighosh/moltprotocol/blob/main/server/src/intent/confidence.ts"
click node_review_state "https://github.com/yashighosh/moltprotocol/blob/main/server/src/pipeline.ts"
click node_discrepancy "https://github.com/yashighosh/moltprotocol/blob/main/server/src/discrepancy/compare.ts"
click node_read_models "https://github.com/yashighosh/moltprotocol/blob/main/server/src/readModels.ts"
click node_database "https://github.com/yashighosh/moltprotocol/blob/main/server/src/db.ts"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_auth,node_workspace,node_ingestion_ui,node_dependency_ui,node_intent_ui,node_review_ui,node_discrepancy_ui,node_modernization_ui,node_api_client toneBlue
class node_pipeline,node_ingest,node_parser toneAmber
class node_summarizer,node_confidence,node_review_state toneMint
class node_graph_export,node_discrepancy toneRose
class node_api_routes,node_read_models,node_database,node_user toneIndigo
```

## Components

### Workbench

- [Demo Sign-in](https://github.com/yashighosh/moltprotocol/blob/main/client/src/auth.tsx): `client/src/auth.tsx`
- [Project Workspace](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/WorkspacePage.tsx): `client/src/pages/WorkspacePage.tsx`
- [Ingestion View](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/IngestionPage.tsx): `client/src/pages/IngestionPage.tsx`
- [Dependency Map](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/DependencyPage.tsx): `client/src/pages/DependencyPage.tsx`
- [Intent Summaries](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/IntentPage.tsx): `client/src/pages/IntentPage.tsx`
- [Expert Review](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/ReviewPage.tsx): `client/src/pages/ReviewPage.tsx`
- [Discrepancy View](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/DiscrepancyPage.tsx): `client/src/pages/DiscrepancyPage.tsx`
- [Modernization Views](https://github.com/yashighosh/moltprotocol/blob/main/client/src/pages/ArchitecturePage.tsx): `client/src/pages/ArchitecturePage.tsx`
- [API Client](https://github.com/yashighosh/moltprotocol/blob/main/client/src/api.ts): `client/src/api.ts`

### Ingestion and Analysis

- [Analysis Pipeline](https://github.com/yashighosh/moltprotocol/blob/main/server/src/pipeline.ts): `server/src/pipeline.ts`
- [Source Ingestion](https://github.com/yashighosh/moltprotocol/blob/main/server/src/ingest/zipSafe.ts): `server/src/ingest/zipSafe.ts`
- [Source Parser](https://github.com/yashighosh/moltprotocol/blob/main/server/src/analysis/parse.ts): `server/src/analysis/parse.ts`

### Intent and Review

- [Intent Summaries](https://github.com/yashighosh/moltprotocol/blob/main/server/src/intent/summarize.ts): `server/src/intent/summarize.ts`
- [Confidence Scoring](https://github.com/yashighosh/moltprotocol/blob/main/server/src/intent/confidence.ts): `server/src/intent/confidence.ts`
- [Persisted Review](https://github.com/yashighosh/moltprotocol/blob/main/server/src/pipeline.ts): `server/src/pipeline.ts`

### Modernization Insights

- [Graph Export](https://github.com/yashighosh/moltprotocol/blob/main/server/src/export/graphExport.ts): `server/src/export/graphExport.ts`
- [Discrepancy Analysis](https://github.com/yashighosh/moltprotocol/blob/main/server/src/discrepancy/compare.ts): `server/src/discrepancy/compare.ts`

### API and Persistence

- [HTTP API](https://github.com/yashighosh/moltprotocol/blob/main/server/src/app.ts): `server/src/app.ts`
- [Project Read Models](https://github.com/yashighosh/moltprotocol/blob/main/server/src/readModels.ts): `server/src/readModels.ts`
- [SQLite Database](https://github.com/yashighosh/moltprotocol/blob/main/server/src/db.ts): `server/src/db.ts`

### Other components

- **Engineer**

## Connections

- Engineer → Demo Sign-in: signs in (evidence: `README.md`)
- Demo Sign-in → API Client: checks session (evidence: `client/src/auth.tsx`)
- Engineer → Project Workspace: selects project (evidence: `README.md`)
- Project Workspace → Ingestion View: opens ingestion (evidence: `README.md`)
- Ingestion View → API Client: submits source (evidence: `client/src/pages/IngestionPage.tsx`)
- API Client → HTTP API: requests API (evidence: `README.md`)
- HTTP API → Source Ingestion: reads uploaded zip (evidence: `server/src/app.ts`)
- HTTP API → Analysis Pipeline: starts ingestion (evidence: `server/src/app.ts`)
- Analysis Pipeline → Source Parser: parses source (evidence: `server/src/pipeline.ts`)
- Analysis Pipeline → SQLite Database: reads and writes (evidence: `server/src/pipeline.ts`)
- Analysis Pipeline → Intent Summaries: generates summaries (evidence: `server/src/pipeline.ts`)
- Intent Summaries → Source Parser: uses parsed source (evidence: `server/src/intent/summarize.ts`)
- Intent Summaries → Confidence Scoring: scores evidence (evidence: `server/src/intent/summarize.ts`)
- Engineer → Dependency Map: explores map (evidence: `README.md`)
- Dependency Map → API Client: requests analysis
- HTTP API → Graph Export: exports graph (evidence: `server/src/app.ts`)
- Engineer → Intent Summaries: reviews summaries (evidence: `README.md`)
- Intent Summaries → API Client: requests summaries
- Expert Review → API Client: confirms or corrects (evidence: `client/src/pages/ReviewPage.tsx`)
- HTTP API → Analysis Pipeline: records review (evidence: `server/src/app.ts`)
- Analysis Pipeline → Discrepancy Analysis: compares intent (evidence: `server/src/pipeline.ts`)
- Engineer → Discrepancy View: checks findings (evidence: `README.md`)
- Discrepancy View → API Client: loads findings
- Engineer → Modernization Views: opens preview views (evidence: `README.md`)
- HTTP API → Project Read Models: serves project data (evidence: `server/src/app.ts`)
- Project Read Models → SQLite Database: reads records
