Files
lda-wf/docs/historical/thesis/diagrams.md
T

4.5 KiB

Diagram Scratchpad

This file is a working library of Mermaid diagrams for the thesis/report. Keep diagrams here while they are being shaped, then copy stable versions into the final document when the surrounding prose is ready.

Main Architecture Spine

flowchart LR
  Owner[Workflow Owner] --> Agent[External LLM Agent]
  Agent --> CLI[wf CLI]
  CLI --> Transport[JSON-RPC Transport]
  Transport --> Server[WorkflowServer]
  Server --> API[Workflow API Surface]
  API --> Core[Workflow Core]
  API --> Platform[Artifacts / Deployments / Runs]
  Server --> Sources[Source Providers]
  Sources --> Builtins[Platform Sources]
  Sources --> MCP[MCP Sources]
  Sources --> Python[Python Sources]

Layered Package Boundary

Package ownership view, not a runtime call graph.

flowchart TB
  CLI[wf_cli] --> Transport[wf_transport_rpc_http]
  Transport --> Server[wf_server]
  Server --> API[wf_api]
  API --> Artifacts[wf_artifacts]
  API --> Core[wf_core]
  API --> Platform[wf_platform]
  Server --> MCP[wf_sources_mcp]
  Server --> Python[wf_sources_python]
  MCP --> Platform
  Python --> Platform
  Artifacts --> Platform

Workflow Lifecycle

Simplified view. For the detailed platform-domain version with source inventory and diagnostics, see "Platform Domain" below.

flowchart LR
  Draft[Draft Workspace] --> ValidateDraft[Draft Validation]
  ValidateDraft --> Artifact[Workflow Artifact]
  Artifact --> Deployment[Workflow Deployment]
  Deployment --> ValidateDeploy[Deployment Validation]
  ValidateDeploy --> Run[Workflow Run]
  Run --> Trace[Run Trace]
  Run --> Inspect[Run Inspect / List]
  Run --> Resume[Resume If Interrupted]

Source Resolution

flowchart LR
  Ref[Logical Source Requirement] --> PlatformCheck{Platform Source?}
  PlatformCheck -- yes --> Fixed[Fixed Source Id]
  PlatformCheck -- no --> Binding[Deployment Binding]
  Binding --> Concrete[Concrete Source]
  Fixed --> Runtime[Source Runtime / Handler]
  Concrete --> Runtime
  Runtime --> Capability[Workflow Capability]

Workflow Core

flowchart TD
  Start[Prepare Run] --> ValidateInput[Validate Workflow Input]
  ValidateInput --> Select[Select Ready Frame]
  Select --> Step{Step Type}
  Step --> Node[NodeUse]
  Step --> Condition[Condition]
  Step --> Foreach[Foreach]
  Step --> Subgraph[Subgraph]
  Step --> Interrupt[Interrupt]
  Step --> Join[Join / Minimal Done Step]
  Step --> End[End]
  Node --> ResolveInput[Resolve Input Bindings]
  ResolveInput --> Handler[Invoke NodeDef Handler]
  Handler --> CheckOutcome[Check Declared Outcome]
  CheckOutcome --> StatePatch[Build Reducer-Aware State Patch]
  StatePatch --> Trace[Append Trace Frame]
  Condition --> Trace
  Foreach --> Trace
  Subgraph --> Trace
  Join --> Trace
  Trace --> Route[Route By Outcome Edge]
  Interrupt --> Stop[Persist Interrupt Request]
  End --> Finalize[Project Workflow Output]
  Route --> Select
  Stop --> Resume[Resume Payload + Outcome]
  Resume --> Route

Platform Domain

flowchart LR
  Draft[Draft Workspace] --> DraftValidation[Draft Validation]
  DraftValidation --> Artifact[Workflow Artifact]
  Artifact --> Deployment[Workflow Deployment]
  SourceInventory[Source Inventory] --> DeploymentValidation[Deployment Validation]
  Deployment --> DeploymentValidation
  DeploymentValidation --> Run[Workflow Run]
  Run --> RunRecord[Run Record]
  Run --> Trace[Trace Slice]
  RunRecord --> Resume[Resume If Interrupted / Stopped]
  DeploymentValidation --> Diagnostics[Repairable Diagnostics]

Workflow API Lifecycle Cohesion

flowchart LR
  Context[WorkflowOperationContext] --> API[WorkflowApi]
  API --> Caps[Capability API]
  API --> Drafts[Draft API]
  API --> Artifacts[Artifact API]
  API --> Deployments[Deployment API]
  API --> Runs[Run API]
  Caps --> Specs[WorkflowSpecProvider]
  Drafts --> DraftStore[Draft Store]
  Artifacts --> ArtifactStore[Artifact Store]
  Deployments --> ArtifactStore
  Runs --> RunStore[Run Store]
  Runs --> Runtime[WorkflowRuntimeRunner]
  Runs --> Live[Optional Live Source Checker]

Source Provider Boundary

flowchart LR
  Config[Workflow Config Sources] --> Server[WorkflowServer Composition]
  Server --> Builtin[Platform Sources]
  Server --> MCP[MCP Source Provider]
  Server --> Python[Python Source Provider]
  Builtin --> Inventory[CapabilitySource Inventory]
  MCP --> Inventory
  Python --> Inventory
  Inventory --> API[Workflow API Surface]
  API --> Runtime[Workflow Runtime]