# zbmed-semtec/agentic_ai_projects_2026 architecture

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

- Interactive diagram: https://gitdiagram.com/zbmed-semtec/agentic_ai_projects_2026
- Repository: https://github.com/zbmed-semtec/agentic_ai_projects_2026

## Overview

This repository is a collection of independent hackathon agent projects, not one unified application. The visible workflows range from searching model cards and routing literature questions to annotating models and exploring dissertation archives. The graph preserves those distinct products and their major stages. Several paths are documented only by the source index; unsampled subsystems are included where the tree or index supports them, but uncertain runtime connections are omitted.

Main entry points: [`project_1/christian_j/scripts/crew.py`](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/crew.py) (Search Crew), [`project_3/rohitha_r/starter/crew.py`](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/crew.py) (Triage Crew), [`project_5/lukas_g/main.py`](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/main.py) (Research Runner), [`project_6/ali_s/dissify_exploration_agent/cli.py`](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/cli.py) (Exploration CLI)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cards["Model Card Search"]
  node_card_main["Card Search Runner<br/>[main.py]"]
  node_card_crew["Search Crew<br/>[crew.py]"]
  node_card_llm["LLM Setup<br/>[llm.py]"]
  node_card_list["List Cards<br/>[list_cards.py]"]
  node_card_read["Read Card<br/>[read_card.py]"]
  node_card_search["Search Cards<br/>[search_cards.py]"]
end

subgraph group_triage["Literature Triage"]
  node_triage_main["Triage Runner<br/>[main.py]"]
  node_paper_inputs["Paper Markdown"]
  node_router["Question Router<br/>[router.py]"]
  node_triage_crew["Triage Crew<br/>[crew.py]"]
  node_guardrails["Continuing Guardrails"]
  node_triage_llm["LLM Setup<br/>[llm.py]"]
  node_word_tool["Word Count Tool<br/>[example_tool.py]"]
  node_fulltext_fetch["Fulltext Fetcher<br/>[fetch_fulltext.py]"]
end

subgraph group_research["Model Research"]
  node_research_runner["Research Runner<br/>[main.py]"]
  node_starter_crew["Starter Crew<br/>[crew.py]"]
  node_ollama["Ollama Server<br/>[ollama_server.py]"]
  node_annotator["Task Annotator"]
  node_model_data["Model Data Tools"]
  node_publication_tools["Publication Tools"]
  node_publication_state["Publication Search State"]
  node_taxonomy["Task Taxonomy"]
  node_zain_runner["Paper Research Runner<br/>[main.py]"]
  node_zain_crew["Paper Research Crew<br/>[crew.py]"]
  node_zain_tools["Metadata and Paper Tools<br/>[tools.py]"]
end

subgraph group_archive["Dissertation Exploration"]
  node_archive_cli["Exploration CLI<br/>[cli.py]"]
  node_archive_config["Archive Configuration<br/>[config.py]"]
  node_data_loader[("Archive Data Index<br/>[data_loader.py]")]
  node_archive_agent["Exploration Agent<br/>[agent.py]"]
  node_multi_agent["Multi-Agent Workflow<br/>[multi_agent.py]"]
end

node_card_user(("Questioner"))
node_triage_user(("Researcher"))
node_model_user(("Researcher"))
node_archive_user(("Archive Researcher"))

node_card_user -->|"asks about"| node_card_main
node_card_main -->|"starts"| node_card_crew
node_card_crew -->|"uses"| node_card_llm
node_card_crew -->|"registers"| node_card_list
node_card_crew -->|"registers"| node_card_read
node_card_crew -->|"registers"| node_card_search
node_card_search -->|"uses card directory"| node_card_list
node_card_read -->|"uses card directory"| node_card_list
node_triage_user -->|"asks"| node_triage_main
node_paper_inputs -->|"loads abstracts and full text"| node_triage_main
node_triage_main -->|"routes question"| node_router
node_triage_main -->|"starts routed crew"| node_triage_crew
node_triage_crew -->|"selects route steps"| node_router
node_triage_crew -->|"configures model"| node_triage_llm
node_triage_crew -->|"wraps crew"| node_guardrails
node_triage_crew -->|"registers"| node_word_tool
node_model_user -->|"starts research"| node_research_runner
node_research_runner -->|"runs brief crew"| node_starter_crew
node_research_runner -->|"checks server"| node_ollama
node_research_runner -->|"initializes annotation data"| node_model_data
node_research_runner -->|"starts annotation"| node_annotator
node_zain_runner -->|"starts"| node_zain_crew
node_zain_crew -->|"registers tools"| node_zain_tools
node_archive_user -->|"submits query"| node_archive_cli
node_archive_cli -->|"loads settings"| node_archive_config
node_archive_cli -->|"loads archive data"| node_data_loader
node_archive_cli -->|"invokes"| node_archive_agent
node_archive_cli -->|"invokes"| node_multi_agent
node_multi_agent -->|"uses tools"| node_zain_tools

click node_card_main "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/main.py"
click node_card_crew "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/crew.py"
click node_card_llm "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/llm.py"
click node_card_list "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/list_cards.py"
click node_card_read "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/read_card.py"
click node_card_search "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/search_cards.py"
click node_triage_main "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/main.py"
click node_router "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/router.py"
click node_triage_crew "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/crew.py"
click node_guardrails "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/continuing_guardrail.py"
click node_triage_llm "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/llm.py"
click node_word_tool "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/tools/example_tool.py"
click node_fulltext_fetch "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/scripts/fetch_fulltext.py"
click node_research_runner "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/main.py"
click node_starter_crew "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/crew.py"
click node_ollama "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/ollama_server.py"
click node_annotator "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/model_task_annotator.py"
click node_model_data "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/model_data_tools.py"
click node_publication_tools "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/publication_tools.py"
click node_publication_state "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/publication_search_state.py"
click node_taxonomy "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/hf_task_taxonomy.py"
click node_zain_runner "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/main.py"
click node_zain_crew "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/crew.py"
click node_zain_tools "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/tools.py"
click node_archive_cli "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/cli.py"
click node_archive_config "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/config.py"
click node_data_loader "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/data_loader.py"
click node_archive_agent "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/agent.py"
click node_multi_agent "https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/multi_agent.py"

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_card_main,node_card_crew,node_card_llm,node_card_list,node_card_read,node_card_search toneBlue
class node_triage_main,node_paper_inputs,node_router,node_triage_crew,node_guardrails,node_triage_llm,node_word_tool,node_fulltext_fetch toneAmber
class node_research_runner,node_starter_crew,node_ollama,node_annotator,node_model_data,node_publication_tools,node_publication_state,node_taxonomy,node_zain_runner,node_zain_crew,node_zain_tools toneMint
class node_archive_cli,node_archive_config,node_data_loader,node_archive_agent,node_multi_agent toneRose
class node_card_user,node_triage_user,node_model_user,node_archive_user toneIndigo
```

## Components

### Model Card Search

- [Card Search Runner](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/main.py): `project_1/christian_j/scripts/main.py`
- [Search Crew](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/crew.py): `project_1/christian_j/scripts/crew.py`
- [LLM Setup](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/scripts/llm.py): `project_1/christian_j/scripts/llm.py`
- [List Cards](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/list_cards.py): `project_1/christian_j/tools/list_cards.py`
- [Read Card](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/read_card.py): `project_1/christian_j/tools/read_card.py`
- [Search Cards](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_1/christian_j/tools/search_cards.py): `project_1/christian_j/tools/search_cards.py`

### Literature Triage

- [Triage Runner](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/main.py): `project_3/rohitha_r/starter/main.py`
- **Paper Markdown**
- [Question Router](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/router.py): `project_3/rohitha_r/starter/router.py`
- [Triage Crew](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/crew.py): `project_3/rohitha_r/starter/crew.py`
- [Continuing Guardrails](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/continuing_guardrail.py): `project_3/rohitha_r/starter/continuing_guardrail.py`
- [LLM Setup](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/llm.py): `project_3/rohitha_r/starter/llm.py`
- [Word Count Tool](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/tools/example_tool.py): `project_3/rohitha_r/starter/tools/example_tool.py`
- [Fulltext Fetcher](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/scripts/fetch_fulltext.py): `project_3/rohitha_r/scripts/fetch_fulltext.py`

### Model Research

- [Research Runner](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/main.py): `project_5/lukas_g/main.py`
- [Starter Crew](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/crew.py): `project_3/rohitha_r/starter/crew.py`
- [Ollama Server](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_3/rohitha_r/starter/ollama_server.py): `project_3/rohitha_r/starter/ollama_server.py`
- [Task Annotator](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/model_task_annotator.py): `project_5/lukas_g/model_task_annotator.py`
- [Model Data Tools](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/model_data_tools.py): `project_5/lukas_g/tools/model_data_tools.py`
- [Publication Tools](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/publication_tools.py): `project_5/lukas_g/tools/publication_tools.py`
- [Publication Search State](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/publication_search_state.py): `project_5/lukas_g/tools/publication_search_state.py`
- [Task Taxonomy](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/lukas_g/tools/hf_task_taxonomy.py): `project_5/lukas_g/tools/hf_task_taxonomy.py`
- [Paper Research Runner](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/main.py): `project_5/zain-z/main.py`
- [Paper Research Crew](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/crew.py): `project_5/zain-z/crew.py`
- [Metadata and Paper Tools](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_5/zain-z/tools.py): `project_5/zain-z/tools.py`

### Dissertation Exploration

- [Exploration CLI](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/cli.py): `project_6/ali_s/dissify_exploration_agent/cli.py`
- [Archive Configuration](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/config.py): `project_6/ali_s/dissify_exploration_agent/config.py`
- [Archive Data Index](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/data_loader.py): `project_6/ali_s/dissify_exploration_agent/data_loader.py`
- [Exploration Agent](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/agent.py): `project_6/ali_s/dissify_exploration_agent/agent.py`
- [Multi-Agent Workflow](https://github.com/zbmed-semtec/agentic_ai_projects_2026/blob/main/project_6/ali_s/dissify_exploration_agent/multi_agent.py): `project_6/ali_s/dissify_exploration_agent/multi_agent.py`

### Other components

- **Questioner**
- **Researcher**
- **Researcher**
- **Archive Researcher**

## Connections

- Questioner → Card Search Runner: asks about
- Card Search Runner → Search Crew: starts (evidence: `project_1/christian_j/scripts/main.py`)
- Search Crew → LLM Setup: uses (evidence: `project_1/christian_j/scripts/crew.py`)
- Search Crew → List Cards: registers (evidence: `project_1/christian_j/scripts/crew.py`)
- Search Crew → Read Card: registers (evidence: `project_1/christian_j/scripts/crew.py`)
- Search Crew → Search Cards: registers (evidence: `project_1/christian_j/scripts/crew.py`)
- Search Cards → List Cards: uses card directory (evidence: `project_1/christian_j/tools/search_cards.py`)
- Read Card → List Cards: uses card directory (evidence: `project_1/christian_j/tools/read_card.py`)
- Researcher → Triage Runner: asks
- Paper Markdown → Triage Runner: loads abstracts and full text (evidence: `project_3/rohitha_r/starter/main.py`)
- Triage Runner → Question Router: routes question (evidence: `project_3/rohitha_r/starter/main.py`)
- Triage Runner → Triage Crew: starts routed crew (evidence: `project_3/rohitha_r/starter/main.py`)
- Triage Crew → Question Router: selects route steps (evidence: `project_3/rohitha_r/starter/crew.py`)
- Triage Crew → LLM Setup: configures model (evidence: `project_3/rohitha_r/starter/crew.py`)
- Triage Crew → Continuing Guardrails: wraps crew (evidence: `project_3/rohitha_r/starter/crew.py`)
- Triage Crew → Word Count Tool: registers (evidence: `project_3/rohitha_r/starter/crew.py`)
- Researcher → Research Runner: starts research
- Research Runner → Starter Crew: runs brief crew (evidence: `project_5/lukas_g/main.py`)
- Research Runner → Ollama Server: checks server (evidence: `project_5/lukas_g/main.py`)
- Research Runner → Model Data Tools: initializes annotation data (evidence: `project_5/lukas_g/main.py`)
- Research Runner → Task Annotator: starts annotation (evidence: `project_5/lukas_g/main.py`)
- Paper Research Runner → Paper Research Crew: starts (evidence: `project_5/zain-z/main.py`)
- Paper Research Crew → Metadata and Paper Tools: registers tools (evidence: `project_5/zain-z/crew.py`)
- Archive Researcher → Exploration CLI: submits query
- Exploration CLI → Archive Configuration: loads settings (evidence: `project_6/ali_s/dissify_exploration_agent/cli.py`)
- Exploration CLI → Archive Data Index: loads archive data (evidence: `project_6/ali_s/dissify_exploration_agent/cli.py`)
- Exploration CLI → Exploration Agent: invokes (evidence: `project_6/ali_s/dissify_exploration_agent/cli.py`)
- Exploration CLI → Multi-Agent Workflow: invokes (evidence: `project_6/ali_s/dissify_exploration_agent/cli.py`)
- Multi-Agent Workflow → Metadata and Paper Tools: uses tools (evidence: `project_6/ali_s/dissify_exploration_agent/multi_agent.py`)
