Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions docs/diagram1_three_contexts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# diagram1_three_contexts

```mermaid
flowchart TB
classDef llm fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
classDef human fill:#fff3e0,stroke:#e65100,color:#000
classDef tool fill:#f1f8e9,stroke:#33691e,color:#000
classDef delta fill:#fce4ec,stroke:#ad1457,stroke-dasharray:4 3,color:#000

Thesis["<b>Today</b>: LLMs inform humans &nbsp;&nbsp;━━ 6-month step ━━▶&nbsp;&nbsp; <b>Tomorrow</b>: LLMs act within workflows"]:::delta

subgraph P1["① Real-time bot — Mattermost"]
direction TB
U1["ePIC users"]:::human
B1["AI bot<br/>Haiku · cross-session memory<br/>context harness"]:::llm
O1["Q&A, diagnostics, on-the-fly analysis"]
U1 --> B1 --> O1 --> U1
end

subgraph P2["② Research orchestrator — corun-ai"]
direction TB
U2["Expert evaluators<br/>(production, user learning)"]:::human
S2["Scheduler<br/>model × sysprompt × MCP set<br/>config compare & annotate"]
B2["Long-latency worker<br/>Opus / Sonnet / Gemini / Gemma<br/>minutes–tens of minutes"]:::llm
O2["Deep research entry<br/>(e.g. Perlmutter performance)"]
U2 --> S2 --> B2 --> O2 --> U2
end

subgraph P3["③ Active workflow orchestrator — swf-testbed"]
direction TB
U3["Testbed users"]:::human
B3["LLM orchestrator<br/>launch · run · monitor<br/>assess · summarize"]:::llm
W3["Hybrid workflow<br/>LLM steps ⇄ deterministic agents<br/>DAQ sim → PanDA workers"]
O3["Completed run + summary"]
U3 --> B3 --> W3 --> B3
W3 --> O3 --> U3
end

subgraph MCP["Shared MCP tool ecosystem"]
direction LR
IH["<b>In-house</b><br/>AskPanDA · PanDA Monitor · Streaming Workflow"]:::tool
AD["<b>Adopted</b><br/>Rucio · XRootD · uproot · LXR · GitHub · Zenodo"]:::tool
end

Thesis -.-> P1
Thesis -.-> P2
Thesis -.-> P3
P1 --> MCP
P2 --> MCP
P3 --> MCP
```
47 changes: 47 additions & 0 deletions docs/diagram1_three_contexts.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
flowchart TB
classDef llm fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
classDef human fill:#fff3e0,stroke:#e65100,color:#000
classDef tool fill:#f1f8e9,stroke:#33691e,color:#000
classDef delta fill:#fce4ec,stroke:#ad1457,stroke-dasharray:4 3,color:#000

Thesis["<b>Today</b>: LLMs inform humans &nbsp;&nbsp;━━ 6-month step ━━▶&nbsp;&nbsp; <b>Tomorrow</b>: LLMs act within workflows"]:::delta

subgraph P1["① Real-time bot — Mattermost"]
direction TB
U1["ePIC users"]:::human
B1["AI bot<br/>Haiku · cross-session memory<br/>context harness"]:::llm
O1["Q&A, diagnostics, on-the-fly analysis"]
U1 --> B1 --> O1 --> U1
end

subgraph P2["② Research orchestrator — corun-ai"]
direction TB
U2["Expert evaluators<br/>(production, user learning)"]:::human
S2["Scheduler<br/>model × sysprompt × MCP set<br/>config compare & annotate"]
B2["Long-latency worker<br/>Opus / Sonnet / Gemini / Gemma<br/>minutes–tens of minutes"]:::llm
O2["Deep research entry<br/>(e.g. Perlmutter performance)"]
U2 --> S2 --> B2 --> O2 --> U2
end

subgraph P3["③ Active workflow orchestrator — swf-testbed"]
direction TB
U3["Testbed users"]:::human
B3["LLM orchestrator<br/>launch · run · monitor<br/>assess · summarize"]:::llm
W3["Hybrid workflow<br/>LLM steps ⇄ deterministic agents<br/>DAQ sim → PanDA workers"]
O3["Completed run + summary"]
U3 --> B3 --> W3 --> B3
W3 --> O3 --> U3
end

subgraph MCP["Shared MCP tool ecosystem"]
direction LR
IH["<b>In-house</b><br/>AskPanDA · PanDA Monitor · Streaming Workflow"]:::tool
AD["<b>Adopted</b><br/>Rucio · XRootD · uproot · LXR · GitHub · Zenodo"]:::tool
end

Thesis -.-> P1
Thesis -.-> P2
Thesis -.-> P3
P1 --> MCP
P2 --> MCP
P3 --> MCP
135 changes: 135 additions & 0 deletions docs/diagram1_three_contexts.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions docs/diagram2_mcp_ecosystem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# diagram2_mcp_ecosystem

MCP ecosystem: one LLM reaches into the experiment's operational stack
through a two-tier tool set. Answers the reviewer who thinks "everyone
has MCP tools now" by showing depth into production systems.

```mermaid
flowchart TB
classDef llm fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
classDef ih fill:#f1f8e9,stroke:#33691e,color:#000
classDef ad fill:#fff8e1,stroke:#f57f17,color:#000
classDef sys fill:#fafafa,stroke:#888,color:#444

LLM["<b>LLM</b><br/>Opus · Sonnet · Haiku · Gemini · Gemma<br/>sysprompt · effort level · context harness"]:::llm

subgraph IH["In-house — purpose-built on our production WFMS"]
direction LR
T1["AskPanDA<br/><i>job diagnostics</i>"]:::ih
T2["PanDA Monitor MCP<br/><i>operational state</i>"]:::ih
T3["Streaming Workflow MCP<br/><i>active testbed control</i>"]:::ih
end

subgraph AD["3rd-party MCP — 6+ community/standard tools"]
direction LR
T4["Rucio MCP"]:::ad
T5["XRootD MCP"]:::ad
T6["uproot MCP"]:::ad
T7["LXR XREF MCP"]:::ad
T8["GitHub MCP"]:::ad
T9["Zenodo MCP"]:::ad
end

subgraph SYS["Reaches into"]
direction LR
S1["PanDA DB<br/>monitor · testbed"]:::sys
S2["Rucio<br/>data catalogs"]:::sys
S3["XRootD<br/>remote I/O"]:::sys
S4["ePIC codebase<br/>(55+ repos)"]:::sys
S5["Zenodo<br/>official repo"]:::sys
end

LLM --> IH
LLM --> AD
IH --> SYS
AD --> SYS
```
45 changes: 45 additions & 0 deletions docs/diagram3_hybrid_workflow.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# diagram3_hybrid_workflow

```mermaid
flowchart TB
classDef llm fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
classDef det fill:#eeeeee,stroke:#555,color:#000
classDef hitl fill:#fff3e0,stroke:#e65100,stroke-dasharray:5 3,color:#000
classDef mcp fill:#f1f8e9,stroke:#33691e,font-size:11px,color:#000

U["User prompt<br/>'run a fast-processing test<br/>and summarize results'"]:::hitl

L1["① Prepare<br/>select config, check prior runs"]:::llm
L1t["swf_list_workflow_executions<br/>pcs_list_tags · swf_get_system_state"]:::mcp

L2["② Start testbed"]:::llm
L2t["swf_start_user_testbed"]:::mcp

L3["③ Start workflow"]:::llm
L3t["swf_start_workflow<br/>(stf_count, config, …)"]:::mcp

D1["④ DAQ simulator<br/>emits STF files"]:::det
D2["⑤ Data agent<br/>STF registration"]:::det
D3["⑥ FastMon agent<br/>samples Time Frames"]:::det
D4["⑦ Fast processing agent<br/>TF slices → PanDA"]:::det
D5["⑧ PanDA workers<br/>EICrecon reconstruction"]:::det

L4["⑨ Monitor in-flight<br/>errors, throughput, stragglers"]:::llm
L4t["swf_list_logs(level='ERROR')<br/>swf_list_workflow_executions<br/>panda_get_activity"]:::mcp

G1{"human-in-loop<br/>gate<br/>(scope of 6-mo work)"}:::hitl

L5["⑩ Assess & summarize<br/>narrative run report,<br/>anomaly notes,<br/>comparison to prior runs"]:::llm
L5t["swf_get_workflow_execution<br/>panda_study_job · lxr_ident"]:::mcp

O["Run entry + summary<br/>annotated, searchable"]:::hitl

U --> L1 --> L2 --> L3 --> D1 --> D2 --> D3 --> D4 --> D5 --> L4
L4 --> G1 --> L5 --> O

L1 -.- L1t
L2 -.- L2t
L3 -.- L3t
L4 -.- L4t
L5 -.- L5t
```
41 changes: 41 additions & 0 deletions docs/diagram3_hybrid_workflow.mmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
flowchart TB
classDef llm fill:#e3f2fd,stroke:#1565c0,stroke-width:2px,color:#000
classDef det fill:#eeeeee,stroke:#555,color:#000
classDef hitl fill:#fff3e0,stroke:#e65100,stroke-dasharray:5 3,color:#000
classDef mcp fill:#f1f8e9,stroke:#33691e,font-size:11px,color:#000

U["User prompt<br/>'run a fast-processing test<br/>and summarize results'"]:::hitl

L1["① Prepare<br/>select config, check prior runs"]:::llm
L1t["swf_list_workflow_executions<br/>pcs_list_tags · swf_get_system_state"]:::mcp

L2["② Start testbed"]:::llm
L2t["swf_start_user_testbed"]:::mcp

L3["③ Start workflow"]:::llm
L3t["swf_start_workflow<br/>(stf_count, config, …)"]:::mcp

D1["④ DAQ simulator<br/>emits STF files"]:::det
D2["⑤ Data agent<br/>STF registration"]:::det
D3["⑥ FastMon agent<br/>samples Time Frames"]:::det
D4["⑦ Fast processing agent<br/>TF slices → PanDA"]:::det
D5["⑧ PanDA workers<br/>EICrecon reconstruction"]:::det

L4["⑨ Monitor in-flight<br/>errors, throughput, stragglers"]:::llm
L4t["swf_list_logs(level='ERROR')<br/>swf_list_workflow_executions<br/>panda_get_activity"]:::mcp

G1{"human-in-loop<br/>gate<br/>(scope of 6-mo work)"}:::hitl

L5["⑩ Assess & summarize<br/>narrative run report,<br/>anomaly notes,<br/>comparison to prior runs"]:::llm
L5t["swf_get_workflow_execution<br/>panda_study_job · lxr_ident"]:::mcp

O["Run entry + summary<br/>annotated, searchable"]:::hitl

U --> L1 --> L2 --> L3 --> D1 --> D2 --> D3 --> D4 --> D5 --> L4
L4 --> G1 --> L5 --> O

L1 -.- L1t
L2 -.- L2t
L3 -.- L3t
L4 -.- L4t
L5 -.- L5t
Loading
Loading