Gonka Labs · Missions

Gonka Labs Missions

Always-on multi-agent AI swarms pursuing public-good research goals — weeks, months, or years at a time. All inference sponsored by Gonka Labs.

What is a Mission?

A Gonka Labs Mission is a long-running public-good research program powered by AI. Unlike a regular block that runs once and finishes, a mission fires on a cron schedule — every few hours — and accumulates knowledge over months or years.

Missions are curated by the Gonka Labs team. They target problems where near-zero-cost AI inference makes a qualitative difference: scanning millions of papers, databases, and records that no human team could continuously monitor.

Mission vs. Block

PropertyRegular blockMission
LifecycleRuns once, exitsCron-fired ticks, runs forever
StateFresh container each runPersistent /state volume
Outputoutputs.jsonFindings, hypotheses, goal, discussion
PurposeUser-triggered taskAutonomous background research
Who runs itAny userGonka Labs (admin-curated)

How a tick works

Each tick is one full research cycle. The scheduler fires the mission's Docker container on its cron schedule. Inside, a 7-phase multi-agent swarm runs to completion:

  1. Director — reads the current goal and knowledge base, picks 3 research focus areas for this tick.
  2. Scouts (parallel) — fetch new items from all data sources simultaneously. Each source checkpoints where it left off.
  3. Synthesizer — reads the scout output, proposes hypotheses with evidence and confidence scores.
  4. Critic / Skeptic — challenges each hypothesis: evidence quality? confounders? reproducibility? Rates them STRONG / SPECULATIVE / WEAK.
  5. Curator — resolves the debate. Promotes strong findings to the public feed, updates the hypothesis registry.
  6. Reporter — writes the public tick summary in plain language, with scientific caveats.
  7. Director-meta — if the current goal is exhausted or a better direction has emerged, evolves the goal for future ticks.

The full discussion transcript — every agent's prompt and response — is stored and shown on the mission dashboard.

Agent roles

RoleJob
DirectorSets the research focus for the tick
ScoutScreens fetched literature, groups by theme
SynthesizerFinds correlations, proposes hypotheses
Critic / SkepticChallenges claims, flags confounders
CuratorDecides what gets published vs. tracked
ReporterWrites the public-facing summary
Director-metaEvolves the mission goal over time

Cancer Research — the first mission

The Cancer Research mission is the first Gonka Labs Mission. Its goal: find off-label drug repositioning candidates — existing approved drugs that show evidence of anti-cancer activity but have never been tested in oncology trials.

Drug repositioning is one of the most promising and under-explored areas of cancer research. A drug like metformin (approved for diabetes) or mebendazole (an anti-parasitic) may have mechanism-of-action profiles that overlap with known cancer pathways. The AI scans literature for these overlaps continuously, every 4 hours.

The mission has a persistent knowledge graph that grows with each tick. The Director-meta role may evolve the research goal as evidence accumulates — for example, shifting focus from broad screening to a specific drug–pathway pair that is gaining confidence.

This is not medical advice. All candidates surfaced by this mission require experimental validation before any clinical consideration.

Data sources

The Cancer Research mission scans six public sources on every tick (no API keys required):

SourceWhat it provides
PubMedPeer-reviewed biomedical abstracts (NCBI E-utilities)
Europe PMCEuropean open-access literature
bioRxiv / medRxivPreprints — early findings before peer review
ClinicalTrials.govOngoing and completed clinical trials (v2 API)
OpenTargetsStructured gene–disease–drug evidence (GraphQL)
OpenFDAFDA-approved drug labels and indications

What gets published

After each successful tick the platform reads these files from /out/:

  • /out/findings/<id>.json — a public finding (drug candidate, correlation, open question, …)
  • /out/hypotheses/<id>.json — a tracked hypothesis with confidence score
  • /out/goal.json — an updated mission goal (only written when Director-meta changes it)
  • /out/discussion.jsonl — the full agent transcript, one JSON object per line
  • /out/tick.json — tick summary written by the Reporter

All files are optional — missing files are silently skipped.

Persistent knowledge

The swarm keeps a SQLite knowledge graph at /state/knowledge.db that persists across all ticks via a Docker named volume. The Curator stores entities (drugs, diseases, genes, papers) and relations (drug-inhibits-pathway, paper-supports-hypothesis) so future ticks can query prior knowledge without re-reading all raw text.

Over months of operation this becomes a compact, machine-queryable distillation of everything the swarm has learned — growing richer every 4 hours.

Authoring a new mission

Missions are currently admin-curated. If you have a public-good research idea that would benefit from continuous AI scanning, reach out to Gonka Labs.

Technically a mission is a block with type: mission in manifest.yaml:

name: my-mission
version: 0.1.0
type: mission
description: "What this mission investigates."
category: research

runtime:
  build: dockerfile
  entrypoint: python -u tick.py
  outputs_dir: /out

resources:
  cpu: 2
  memory_mb: 4096
  timeout_seconds: 7200
  network: allow

mission:
  tick_cron: "0 */4 * * *"
  state_dir: /state
  per_tick_timeout_seconds: 5400
  tagline: "One-line summary for /missions"
  initial_goal: |
    Describe the research goal in 2-3 sentences.

The _lib/ swarm library

All missions share a reusable Python library at seed/missions/_lib/, automatically included in every mission's Docker build context:

_lib/
  swarm.py         # Swarm class — runs the full 7-phase tick
  roles.py         # Role class — one LLM call + transcript append
  knowledge.py     # KnowledgeStore — sqlite entity/relation graph
  outputs.py       # OutputWriter — /out/findings/, /out/hypotheses/, …
  sources/
    pubmed.py      # PubMed E-utilities
    europepmc.py   # Europe PMC REST API
    biorxiv.py     # bioRxiv / medRxiv
    clinicaltrials.py  # ClinicalTrials.gov v2 API
    opentargets.py     # Open Targets GraphQL
    openfda.py         # OpenFDA drug labels

A minimal tick.py:

from _lib import KnowledgeStore, OutputWriter, Role, Swarm
from _lib.sources.pubmed import PubMedSource

kb     = KnowledgeStore()
writer = OutputWriter()
roles  = {
    "director":    Role.from_prompt_file("director",    "prompts/director.md"),
    "scout":       Role.from_prompt_file("scout",       "prompts/scout.md"),
    "synthesizer": Role.from_prompt_file("synthesizer", "prompts/synthesizer.md"),
    "critic":      Role.from_prompt_file("critic",      "prompts/critic.md"),
    "curator":     Role.from_prompt_file("curator",     "prompts/curator.md"),
    "reporter":    Role.from_prompt_file("reporter",    "prompts/reporter.md"),
}
sources = [PubMedSource(query="your research query")]
swarm   = Swarm(roles=roles, sources=sources, kb=kb, writer=writer)
swarm.run_tick(current_goal="Your mission goal here.")

Scientific disclaimer

Findings generated by Gonka Labs Missions are produced by an AI system scanning published literature. They highlight potentially interesting research directions — not medical advice. All drug repositioning candidates require experimental validation before any clinical consideration. Confidence scores reflect the AI's assessment of evidence quality, not clinical certainty.