Skip to content

Atlas Drug Discovery Pipeline

Legacy

Atlas is a legacy caller of the Graffold KG (via the /v1/atlas/* endpoints). The supported interface is now the biot CLI. This page is preserved for history.

Atlas is a 22-agent autonomous drug discovery pipeline. It takes a problem statement plus customer meeting notes and ships a certified partner-portal package.

Pipeline Overview

Intake → Pathfinder → Anomaly → Tribunal → Sapper → Sentinel →
Forge/Vulcan (parallel) → Sentinel Sweep → Apothecary → Surveyor →
Tribunal Revision → Reaper → Board → Anvil → Reporter → Ship

Stages

# Stage Agent Purpose
1 Disease Map Pathfinder Map complete pathology from entry to persistence
1a Anomaly Detection Anomaly Identify overlooked signals and contradictions
1b Bottleneck Consensus Tribunal 4-frame convergence on rate-limiting barrier
2 Failure Analysis Sapper Why current treatments fail
2b Competitive Landscape Sentinel Patent/trial landscape scan
3 Target Generation Forge + Vulcan Parallel: literature-aware + first-principles
3c IP Sweep Sentinel Freedom-to-operate check per target
3d Formulation Apothecary Delivery and formulation design
3e Structure + Binders Surveyor AF3 structure prediction, antibody design
3f Target Revision Tribunal Merge Forge/Vulcan streams, resolve conflicts
4 Kill Decisions Reaper Eliminate weak/undruggable targets
4b Portfolio Ranking Board Rank surviving candidates
5 Evidence Gate Anvil Final evidence standard enforcement
post Reporting Reporter Generate partner-facing package

Graffold Integration Points

Each stage has specific integration hooks with the knowledge graph:

Stage Graffold Call Purpose
Intake coverage() Decide KG-first vs full pipeline
Forge validate_targets() GNN validation of proposed targets
Forge evidence_for_claim() Evidence ranking for target claims
Vulcan search_drift() Multi-hop mechanism discovery
Reaper similar_decisions() Learn from past kill decisions
Reaper search_contradictions() Find conflicting evidence
Anvil evidence_for_claim() Final evidence gate check
Reporter record_decision() Store decision trace for learning
Post-run ingest() Publish all discovered entities to KG

How Atlas Calls Graffold

from sdk.graffold_client import AsyncGraffoldClient

async with AsyncGraffoldClient("http://graffold-api:8000", token="...") as kg:

    # At Intake: should we even run Discovery?
    coverage = await kg.coverage(["target-A", "target-B", "compound-X"])
    if coverage["coverage"] > 0.7:
        # Fast path — retrieve from KG
        context = await kg.retrieve("mechanism of target-A in disease-X")
        return context  # Skip $5-15 full pipeline

    # At Forge: validate proposed targets
    validation = await kg.validate_targets([
        {"id": "P04637", "name": "TP53", "type": "PROTEIN"},
    ])
    # validation.rejected → flag as hallucination

    # At Reaper: learn from past kills
    past = await kg.similar_decisions("Kill KRAS G12C for PDAC?")
    # past → [{query, outcome: "killed", reasoning: "..."}]

    # Post-run: publish all entities discovered
    await kg.ingest(
        entities=all_discovered_entities,
        relationships=all_discovered_relationships,
    )

Pipeline Configuration

Atlas uses a declarative pipeline.json that defines stage ordering, required inputs/outputs, and panel configurations:

{
  "program_pipeline": {
    "stages": [
      {
        "key": "pathfinder",
        "label": "1",
        "agent": "pathfinder",
        "required_inputs": [],
        "required_outputs": ["phase-1-disease-map.md"],
        "panel": {
          "mode": "phase",
          "prompt_block": "PHASE_1_PATHFINDER"
        }
      },
      {
        "key": "forge_vulcan",
        "label": "3",
        "parallel": true,
        "members": ["forge", "vulcan"]
      }
    ]
  }
}

Multi-Model Panel System

At every phase, a 5-model external panel (Gemini Pro, GPT-5.5, Grok 4, DeepSeek R1, Qwen 2.5) independently contributes perspectives. This gives each agent 7 viewpoints (1 internal + 6 external) and catches blind spots.

Key Design Principles

  1. Multi-agent bottleneck consensus — 4 independent frames converge before any treatment is proposed
  2. Dual-stream bias firewall — Forge (literature) and Vulcan (first-principles) never see each other's work
  3. Deep target decomposition — ALL molecular intervention points identified per target
  4. Novel drug targets preferred — Novel molecular targets with clean IP beat feed additives
  5. Early termination — Tribunal can recommend closing if 3+/4 frames agree problem is unsolvable
  6. Quarantine enforcement — Vulcan sees ONLY the disease map; isolation walls enforced at each boundary

Running Atlas

bin/atlas run <program-name> \
    --input "<prompt or path to meeting notes>" \
    --problem-id <portal-problem-uuid> \
    --modality agnostic  # or: peptide, probiotic, botanical, small-molecule

Cost: $5-15 per full run (13 Discovery phases × panel calls + Audit + Argus) Time: 30-60 minutes for a complete run

Outputs

programs/<name>/
├── brief.md                          # Intake output
├── v1/
│   ├── phase-1-disease-map.md        # Pathfinder
│   ├── phase-1a-anomaly-map.md       # Anomaly
│   ├── phase-1b-bottleneck-consensus.md
│   ├── phase-2-failure-analysis.md   # Sapper
│   ├── phase-3-targets-forge.md      # Forge
│   ├── phase-3-targets-vulcan.md     # Vulcan (quarantined)
│   ├── phase-4-reaper-kills.md       # Kill decisions
│   ├── phase-4b-board-ranking.md     # Portfolio ranking
│   ├── phase-5-anvil-gate.md         # Evidence gate
│   ├── qc-report.md                  # Audit verdict
│   └── run-report.md                 # Reporter output
├── run-state.json                    # Resume state
└── SHIPPED                           # Success marker

Environment Variables

Variable Required Description
OPENROUTER_API_KEY Yes Panel system (5-model consensus)
claude CLI Yes Agent dispatch
GRAFFOLD_API_URL No Knowledge graph integration
GRAFFOLD_API_TOKEN No KG auth token
ATLAS_PANEL_VALIDATOR No Enable panel output validation (+$3-12/run)
NCBI_API_KEY No Faster PubMed citation verification