# rudrao2/faraday architecture

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

- Interactive diagram: https://gitdiagram.com/rudrao2/faraday
- Repository: https://github.com/rudrao2/faraday

## Overview

Faraday is a local, governed AI workbench for confidential industrial tasks. An operator submits a request through the harness; the plugin classifies and scores it, dispatches it to an eligible local model, and shapes the turn for images, coding, or helper-agent work. Tools can produce files, while the seal governs network-capable calls and records outcomes for audit and on-screen evidence. The graph reflects the README and sampled modules; several documented capabilities, including sandbox execution and some deliverable formats, are represented only at their supported enclosing paths because their implementations were not sampled.

Main entry points: [`plugins/dsh-client-ui-base/lib/index.js`](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/index.js) (Plugin host), [`plugins/dsh-client-ui-base/lib/model-plane/llm-adapter.js`](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/llm-adapter.js) (LLM adapter), [`plugins/dsh-client-ui-base/lib/deliverables/tool.js`](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/tool.js) (Approval-note tool), [`plugins/dsh-client-ui-base/lib/router/dispatch.js`](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/dispatch.js) (Turn dispatch)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interaction["Operator experience"]
  node_browser["Workbench panels<br/>[client.js]"]
  node_plugin["Plugin host<br/>[index.js]"]
end

subgraph group_routing["Routing and fleet"]
  node_classifier["Task classifier<br/>[classify.js]"]
  node_scorer["Fleet scorer<br/>[score.js]"]
  node_dispatch["Turn dispatch<br/>[dispatch.js]"]
  node_fleet["Fleet registry<br/>[fleet.js]"]
  node_licence["Licence gate<br/>[loader.js]"]
end

subgraph group_inference["Inference and lanes"]
  node_adapter["LLM adapter<br/>[llm-adapter.js]"]
  node_provider["Provider contract<br/>[model-provider.js]"]
  node_local["Local provider<br/>[local-provider.js]"]
  node_replay["Replay provider<br/>[replay-provider.js]"]
  node_images["Image resolver<br/>[images.js]"]
  node_code["Code lane<br/>[code.js]"]
  node_fanout["Helper-agent lane<br/>[fanout.js]"]
end

subgraph group_governance["Governance and evidence"]
  node_seal["Egress seal<br/>[seal.js]"]
  node_audit["Audit trail<br/>[audit-trail.js]"]
  node_trace["Turn trace<br/>[turn.js]"]
  node_trace_rpc["Residency RPC<br/>[rpc.js]"]
end

subgraph group_outputs["Tools and outputs"]
  node_tool["Approval-note tool<br/>[tool.js]"]
  node_docx["DOCX generator<br/>[docx.js]"]
  node_deliverables["Other deliverables"]
  node_sandbox["Code sandbox<br/>[code.js]"]
end

node_operator(("Operator"))
node_harness["Harness host"]
node_runtime["llama-swap fleet"]
node_image_store[("Harness attachments")]
node_session_log[("Session event log")]
node_filesystem[("Local filesystem")]
node_internet(("External network"))

node_operator -->|"submits request"| node_browser
node_browser -->|"uses host UI"| node_harness
node_harness -->|"loads plugin"| node_plugin
node_plugin -->|"classifies request"| node_classifier
node_plugin -->|"scores fleet"| node_scorer
node_scorer -->|"reads members"| node_fleet
node_plugin -->|"loads eligible fleet"| node_licence
node_licence -->|"checks licences"| node_fleet
node_plugin -->|"records route"| node_session_log
node_adapter -->|"resolves model"| node_dispatch
node_dispatch -->|"reads members"| node_fleet
node_adapter -->|"resolves attachments"| node_images
node_images -->|"reads image data"| node_image_store
node_adapter -->|"shapes coding turns"| node_code
node_adapter -->|"plans helper work"| node_fanout
node_adapter -->|"requests generation"| node_provider
node_local -->|"sends inference"| node_runtime
node_runtime -->|"streams responses"| node_local
node_replay -.->|"provides cached answers"| node_provider
node_plugin -->|"checks egress state"| node_seal
node_seal -->|"records seal changes"| node_session_log
node_plugin -.->|"permits or denies calls"| node_internet
node_adapter -->|"records turn details"| node_trace
node_trace_rpc -->|"checks residency"| node_local
node_trace_rpc -->|"reads dispatch"| node_dispatch
node_browser -->|"requests trace"| node_trace_rpc
node_tool -->|"builds provenance"| node_audit
node_tool -->|"reads routing evidence"| node_dispatch
node_tool -->|"reads turn evidence"| node_trace
node_tool -->|"generates approval note"| node_docx
node_docx -->|"writes document"| node_filesystem
node_sandbox -->|"executes code locally"| node_filesystem
node_harness -->|"dispatches tools"| node_deliverables

click node_browser "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/client.js"
click node_plugin "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/index.js"
click node_classifier "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/classify.js"
click node_scorer "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/score.js"
click node_dispatch "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/dispatch.js"
click node_fleet "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/registry/fleet.js"
click node_licence "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/registry/loader.js"
click node_adapter "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/llm-adapter.js"
click node_provider "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/model-provider.js"
click node_local "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/local-provider.js"
click node_replay "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/replay-provider.js"
click node_runtime "https://github.com/rudrao2/faraday/blob/main/runtime/llama-swap.config.yaml"
click node_images "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/attachments/images.js"
click node_code "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/code.js"
click node_fanout "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/fanout.js"
click node_seal "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/egress/seal.js"
click node_audit "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/audit-trail.js"
click node_trace "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/trace/turn.js"
click node_trace_rpc "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/trace/rpc.js"
click node_tool "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/tool.js"
click node_docx "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/docx.js"
click node_deliverables "https://github.com/rudrao2/faraday/tree/main/plugins/dsh-client-ui-base/lib/deliverables"
click node_sandbox "https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/code.js"

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_browser,node_plugin toneBlue
class node_classifier,node_scorer,node_dispatch,node_fleet,node_licence,node_image_store,node_session_log,node_filesystem toneAmber
class node_adapter,node_provider,node_local,node_replay,node_images,node_code,node_fanout toneMint
class node_seal,node_audit,node_trace,node_trace_rpc toneRose
class node_tool,node_docx,node_deliverables,node_sandbox,node_operator,node_harness,node_internet toneIndigo
class node_runtime toneTeal
```

## Components

### Operator experience

- [Workbench panels](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/client.js): `plugins/dsh-client-ui-base/lib/client.js`
- [Plugin host](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/index.js): `plugins/dsh-client-ui-base/lib/index.js`

### Routing and fleet

- [Task classifier](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/classify.js): `plugins/dsh-client-ui-base/lib/router/classify.js`
- [Fleet scorer](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/score.js): `plugins/dsh-client-ui-base/lib/router/score.js`
- [Turn dispatch](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/router/dispatch.js): `plugins/dsh-client-ui-base/lib/router/dispatch.js`
- [Fleet registry](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/registry/fleet.js): `plugins/dsh-client-ui-base/lib/registry/fleet.js`
- [Licence gate](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/registry/loader.js): `plugins/dsh-client-ui-base/lib/registry/loader.js`

### Inference and lanes

- [LLM adapter](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/llm-adapter.js): `plugins/dsh-client-ui-base/lib/model-plane/llm-adapter.js`
- [Provider contract](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/model-provider.js): `plugins/dsh-client-ui-base/lib/model-plane/model-provider.js`
- [Local provider](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/local-provider.js): `plugins/dsh-client-ui-base/lib/model-plane/local-provider.js`
- [Replay provider](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/model-plane/replay-provider.js): `plugins/dsh-client-ui-base/lib/model-plane/replay-provider.js`
- [Image resolver](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/attachments/images.js): `plugins/dsh-client-ui-base/lib/attachments/images.js`
- [Code lane](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/code.js): `plugins/dsh-client-ui-base/lib/lanes/code.js`
- [Helper-agent lane](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/fanout.js): `plugins/dsh-client-ui-base/lib/lanes/fanout.js`

### Governance and evidence

- [Egress seal](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/egress/seal.js): `plugins/dsh-client-ui-base/lib/egress/seal.js`
- [Audit trail](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/audit-trail.js): `plugins/dsh-client-ui-base/lib/deliverables/audit-trail.js`
- [Turn trace](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/trace/turn.js): `plugins/dsh-client-ui-base/lib/trace/turn.js`
- [Residency RPC](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/trace/rpc.js): `plugins/dsh-client-ui-base/lib/trace/rpc.js`

### Tools and outputs

- [Approval-note tool](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/tool.js): `plugins/dsh-client-ui-base/lib/deliverables/tool.js`
- [DOCX generator](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/deliverables/docx.js): `plugins/dsh-client-ui-base/lib/deliverables/docx.js`
- [Other deliverables](https://github.com/rudrao2/faraday/tree/main/plugins/dsh-client-ui-base/lib/deliverables): `plugins/dsh-client-ui-base/lib/deliverables`
- [Code sandbox](https://github.com/rudrao2/faraday/blob/main/plugins/dsh-client-ui-base/lib/lanes/code.js): `plugins/dsh-client-ui-base/lib/lanes/code.js`

### Other components

- **Operator**
- **Harness host**
- [llama-swap fleet](https://github.com/rudrao2/faraday/blob/main/runtime/llama-swap.config.yaml): `runtime/llama-swap.config.yaml`
- **Harness attachments**
- **Session event log**
- **Local filesystem**
- **External network**

## Connections

- Operator → Workbench panels: submits request
- Workbench panels → Harness host: uses host UI
- Harness host → Plugin host: loads plugin
- Plugin host → Task classifier: classifies request
- Plugin host → Fleet scorer: scores fleet
- Fleet scorer → Fleet registry: reads members
- Plugin host → Licence gate: loads eligible fleet
- Licence gate → Fleet registry: checks licences
- Plugin host → Session event log: records route
- LLM adapter → Turn dispatch: resolves model
- Turn dispatch → Fleet registry: reads members
- LLM adapter → Image resolver: resolves attachments
- Image resolver → Harness attachments: reads image data
- LLM adapter → Code lane: shapes coding turns
- LLM adapter → Helper-agent lane: plans helper work
- LLM adapter → Provider contract: requests generation
- Local provider → llama-swap fleet: sends inference
- llama-swap fleet → Local provider: streams responses
- Replay provider → Provider contract: provides cached answers
- Plugin host → Egress seal: checks egress state
- Egress seal → Session event log: records seal changes
- Plugin host → External network: permits or denies calls
- LLM adapter → Turn trace: records turn details
- Residency RPC → Local provider: checks residency
- Residency RPC → Turn dispatch: reads dispatch
- Workbench panels → Residency RPC: requests trace
- Approval-note tool → Audit trail: builds provenance
- Approval-note tool → Turn dispatch: reads routing evidence
- Approval-note tool → Turn trace: reads turn evidence
- Approval-note tool → DOCX generator: generates approval note
- DOCX generator → Local filesystem: writes document
- Code sandbox → Local filesystem: executes code locally
- Harness host → Other deliverables: dispatches tools
