MAXGEN schema · v1.13

MaxTask

A unit of research work for a human or an AI, with proof required.

Download MaxTask v1.13 All versions https://opengenealogyai.org/schemas/maxgen/v1/task-queue.schema.json

The work is irreducibly distributed

The UK National Archives holds eleven million documents. The US National Archives holds thirteen billion pages. No organisation, model, or volunteer community can process all of it. Genealogical research will always be done by millions of people and machines in parallel, over decades. MaxTask is the standard way to describe one piece of that work.

What it is

A task is a request: "transcribe this image", "decide whether the Johann Müller in record X is the John Miller in record Y", "search the Württemberg emigration lists for Müllers who left between 1840 and 1860", "resolve these two contradictory birth years". A task can go to an AI agent, a volunteer, or a specialist organisation. It can carry a cost cap, a deadline, dependencies on other tasks, and a review step before its result is accepted.

What makes it different

Verdict Colour Meaning
key_finding green Confirmed.
usable blue A useful lead.
inconclusive amber Mixed.
ruled_out red Definitively disproved. A disproof is information, not a dead end.
dead_end grey Searched, found nothing.
infra grey Infrastructure work.

What is deliberately not in it

Payment. An open standard must be neutral on business models. Who gets paid, how much, and how lives in extensions{}, so the standard describes the work and the quality gate while each implementation decides the economics.

Task types

extract_record validate_record merge_person judge_review resolve_conflict ingest_to_qdrant build_tree fetch_internet_archive cost_report other

Fields

FieldTypeMeaning
task_id requiredstringGlobally unique task identifier.
schema_version const "1.13"
task_type requiredenumCategory of work to be performed.
status requiredenumCurrent lifecycle state.
priority integer1=lowest, 10=highest.
payload objectTask-specific input data.
result objectMAXGEN v1.5 — structured, client-readable task output set by the consuming agent on completion.
assigned_to stringAgent ID currently processing this task.
cost_usd numberActual API cost incurred by the processing agent.
cost_cap_usd numberMaximum allowed cost for this task.
retry_count integerNumber of times this task has been retried after failure.
max_retries integer
error_message stringError description if status is failed or escalated.
escalation_reason stringWhy this task was escalated to the Opus conflict resolver.
created_at requiredstring
created_by requiredstringAgent ID that created this task.
started_at string
completed_at string
queue_file_path stringFilesystem path in the file-based queue (inbox/processing/done/failed).
depends_on array of stringTask IDs that must be in status=done before this task can start.
parent_task_id stringMAXGEN v1.5 — the directive/goal task this task was spawned from.
acceptance_criteria array of stringMAXGEN v1.5 — objective, checkable conditions defining a COMPLETE, payable result.
min_confidence numberMAXGEN v1.5 — minimum result.confidence required for acceptance.
evidence_required array of stringMAXGEN v1.5 — proof the worker MUST return (source URLs, exact queries, citations).
contributor_eligibility enumMAXGEN v1.5 PRIVACY GATE — who may be assigned this task.
contributor objectMAXGEN v1.5 — who claimed/performed this task.
deadline string
review objectMAXGEN v1.5 — independent quality review BEFORE payment; the gate against poor work.
extensions objectMAXGEN v1.5 — open namespace for implementer/product-specific fields that are intentionally NOT part of the neutral standard.

Example

A conflict-resolution task escalated to a stronger model because two candidate mothers were within 0.05 of each other.

{
  "task_id": "c1000000-0016-4000-8000-000000000016",
  "schema_version": "1.13",
  "task_type": "resolve_conflict",
  "status": "done",
  "priority": 9,
  "payload": {
    "person_id": "b1000000-0012-4000-8000-000000000012"
  },
  "result": {
    "resolution": "adoptive_mother_confirmed",
    "winning_parent_id": "b1000000-0030-4000-8000-000000000030",
    "confidence": 0.72
  },
  "assigned_to": "opus-conflict-resolver",
  "cost_usd": 4.2,
  "cost_cap_usd": 5.0,
  "retry_count": 0,
  "max_retries": 1,
  "escalation_reason": "Conflicting biological vs adoptive mother with confidence gap 0.05",
  "created_at": "2026-05-04T15:00:00Z",
  "created_by": "judge-agent-sonnet-001",
  "started_at": "2026-05-04T15:10:00Z",
  "completed_at": "2026-05-04T15:45:00Z"
}

Listen

Episode 3

MaxTask — Distributing the work

24:29

Task types, the verdict vocabulary, acceptance criteria, and the anti-hallucination rule.