Work in progress IARPG-OPS-2 2.0.32-wip

Global publication search

Search the operations design system

Type to search standards, missions, roles, authorities, reports, sources, pages, schemas, and UAI memory.

Schemas and working examples / IARPG-OPS-2

Build the mission from
declared operating truth.

The schema defines the minimum reviewable contract. The Hollow Signal fixture shows how authority, evidence, roles, interaction, synthetic-source policy, extraction, and debrief fit together in one complete fictional operation.

Field map

Every field answers an operational question.

The schema is not a generic quest format. It is designed to keep intelligence purpose, player interaction, evidence thresholds, source boundaries, and review conditions visible at the same time.

DIRECTION

Who needs what answered?

authority, customer, mandate, intelligence_requirement, and jurisdiction.

BASELINE

What is known and merely assumed?

known_facts and assumptions prevent preferred explanations from silently becoming mission truth.

PLAY

What do players actually do?

roles, collection_plan, cover_plan, and interaction_model make the mission playable rather than decorative.

REVIEW

What evidence is enough?

evidence_threshold, reason_codes, and source policy determine when the system may support an irreversible consequence.

EXIT

When does the cell stop?

abort_condition and extraction_plan protect sources, access, custody, and future operations.

PRODUCT

What must the operation leave behind?

debrief_deliverable preserves findings, confidence, gaps, consequences, and next collection.

Complete working fixture

Operation Hollow Signal.

The example is complete enough to reach Level C — Auditable in the local validator. It is a reference pattern, not a mandatory story, faction, or mission outcome.

mission-example.json
{
  "standard_version": "IARPG-OPS-2",
  "profile_version": "2.0.4-wip",
  "mission_id": "IARPG-MSN-001",
  "slug": "port-access-anomaly-investigation",
  "title": "Port Access Anomaly Investigation",
  "authority": "Port Meridian Civic Continuity Office",
  "authority_code": "CIV-01",
  "customer": "Metropolitan continuity council",
  "mandate": "Collect and assess information within the declared fictional jurisdiction and report uncertainty without forcing a preferred conclusion.",
  "jurisdiction": "Port Meridian civil port systems",
  "intelligence_requirement": "Determine whether repeated privileged export events reflect insider disclosure, automation failure, or fabricated traffic intended to trigger a purge.",
  "known_facts": [
    "A triggering anomaly or request has been logged.",
    "The authority has access to some but not all relevant records.",
    "At least two explanations remain plausible."
  ],
  "assumptions": [
    "Current system clocks are synchronized within the published tolerance.",
    "Declared access records have not yet been proven complete."
  ],
  "competing_hypotheses": [
    "Administrative or technical failure",
    "Authorized but poorly documented activity",
    "Deliberate disclosure or manipulation",
    "Fabricated evidence intended to redirect attention"
  ],
  "roles": [
    "Operative",
    "Handler",
    "Intelligence Analyst",
    "Technical Operator"
  ],
  "information_asymmetry": {
    "Operative": [
      "Role-specific tasking",
      "Authorized evidence subset"
    ],
    "Handler": [
      "Role-specific tasking",
      "Authorized evidence subset"
    ],
    "Intelligence Analyst": [
      "Role-specific tasking",
      "Authorized evidence subset"
    ],
    "Technical Operator": [
      "Role-specific tasking",
      "Authorized evidence subset"
    ]
  },
  "collection_plan": [
    "Access-control review",
    "Witness interview",
    "Technical log collection",
    "Open-source schedule comparison"
  ],
  "sources": [
    {
      "source_id": "SRC-01",
      "class": "human-or-record",
      "reliability": "unknown-at-tasking",
      "access": "limited",
      "handling": "compartmented"
    }
  ],
  "player_interactions": [
    "Review tasking",
    "Establish access",
    "Collect evidence",
    "Mark contradiction",
    "Request corroboration",
    "Choose continue, convert, or abort",
    "Complete extraction and debrief"
  ],
  "cover_and_access": "Use a mission-appropriate fictional professional cover or declared inspection authority; access must be plausible and documented.",
  "evidence_threshold": "Deliver an assessment only after two independent evidence classes corroborate the leading explanation.",
  "synthetic_source_policy": "disclosed-and-claim-only",
  "compromise_indicators": [
    "Unexpected access challenge",
    "Unexplained route change",
    "Source behavior inconsistent with prior handling",
    "Evidence item lacking provenance",
    "Role handoff not acknowledged"
  ],
  "abort_conditions": [
    "Cover integrity below 35",
    "Source safety cannot be maintained",
    "Jurisdiction is exceeded",
    "Required evidence custody cannot be preserved"
  ],
  "extraction_plan": "Extract through the public maintenance corridor or abort to remote debrief if cover integrity falls below 35.",
  "debrief_deliverable": "An assessment that separates observation, source report, interpretation, hypothesis, confidence, dissent, source impact, cover impact, and follow-on requirements.",
  "reward_posture": "authority-reviewed",
  "reason_codes": true,
  "fiction_boundary": true,
  "states": [
    "Task",
    "Plan",
    "Access",
    "Collect",
    "Validate",
    "Deliver",
    "Extract",
    "Debrief"
  ],
  "transitions": [
    {
      "from": "Task",
      "action": "accept tasking",
      "to": "Plan"
    },
    {
      "from": "Plan",
      "action": "approve plan",
      "to": "Access"
    },
    {
      "from": "Access",
      "action": "establish access",
      "to": "Collect"
    },
    {
      "from": "Collect",
      "action": "submit evidence packet",
      "to": "Validate"
    },
    {
      "from": "Validate",
      "action": "meet threshold",
      "to": "Deliver"
    },
    {
      "from": "Deliver",
      "action": "complete handoff",
      "to": "Extract"
    },
    {
      "from": "Extract",
      "action": "reach extraction or remote debrief",
      "to": "Debrief"
    }
  ],
  "failure_paths": [
    "Abort",
    "Compromise",
    "Partial success",
    "Converted objective"
  ],
  "seed": "hollow-signal",
  "supporting_standards": [
    "mission-brief-contract",
    "mission-lifecycle",
    "roles-and-information-asymmetry",
    "provenance-confidence-and-corroboration",
    "compromise-abort-handling",
    "mission-event-logging",
    "deterministic-mission-state-machines",
    "debrief-product-contract"
  ],
  "supporting_reports": [
    "/docs/report/intelligence-operative-archetypes-and-tradecraft",
    "/docs/report/justice-system-and-warrant-escalation-for-rogue-intelligence",
    "/docs/report/hallucinated-ai-quest-design-in-vr-mmorpgs"
  ],
  "evidence_events": [
    "Observation or source report recorded with origin and UTC event time",
    "Provenance and chain of custody reviewed",
    "Corroboration or contradiction relationship recorded",
    "Assessment and reason code published"
  ],
  "extraction_states": [
    "Primary extraction",
    "Alternate extraction",
    "Emergency extraction",
    "Remote debrief"
  ],
  "debrief_outputs": [
    "Objective status",
    "Evidence acquired",
    "Unresolved uncertainty",
    "Source impact",
    "Cover impact",
    "Access status",
    "Follow-on requirements"
  ]
}

Canonical machine contract

Mission brief JSON Schema.

Use the schema for editor assistance, validation, fixture generation, implementation tests, and release evidence. The browser validator implements the current required-field and value checks without a third-party library.

mission-brief.schema.json
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://iarpg.com/mission-brief.schema.json",
  "title": "IARPG-OPS-2 Mission Brief",
  "description": "Mission brief contract for fictional intelligence operations under IARPG-OPS-2.",
  "type": "object",
  "required": [
    "standard_version",
    "mission_id",
    "title",
    "authority",
    "customer",
    "mandate",
    "jurisdiction",
    "intelligence_requirement",
    "known_facts",
    "assumptions",
    "competing_hypotheses",
    "roles",
    "information_asymmetry",
    "collection_plan",
    "sources",
    "player_interactions",
    "cover_and_access",
    "evidence_threshold",
    "synthetic_source_policy",
    "compromise_indicators",
    "abort_conditions",
    "extraction_plan",
    "debrief_deliverable",
    "reward_posture",
    "reason_codes",
    "fiction_boundary",
    "states",
    "transitions",
    "evidence_events",
    "failure_paths",
    "extraction_states",
    "debrief_outputs",
    "seed"
  ],
  "properties": {
    "mission_id": {
      "type": "string",
      "minLength": 3
    },
    "title": {
      "type": "string",
      "minLength": 3
    },
    "authority": {
      "type": "string",
      "minLength": 2
    },
    "customer": {
      "type": "string",
      "minLength": 2
    },
    "mandate": {
      "type": "string",
      "minLength": 8
    },
    "intelligence_requirement": {
      "type": "string",
      "minLength": 8
    },
    "jurisdiction": {
      "type": "string",
      "minLength": 2
    },
    "known_facts": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "assumptions": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "roles": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "collection_plan": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "evidence_threshold": {
      "type": "string",
      "minLength": 8
    },
    "cover_plan": {
      "type": "string",
      "deprecated": true,
      "description": "Legacy OPS-1 alias. Use cover_and_access."
    },
    "abort_condition": {
      "type": "string",
      "minLength": 8,
      "deprecated": true,
      "description": "Legacy OPS-1 alias. Use abort_conditions."
    },
    "extraction_plan": {
      "type": "string",
      "minLength": 8
    },
    "debrief_deliverable": {
      "type": "string",
      "minLength": 8
    },
    "synthetic_source_policy": {
      "type": "string",
      "enum": [
        "none",
        "disclosed-and-claim-only",
        "disclosed-and-intentionally-unreliable"
      ]
    },
    "reward_posture": {
      "type": "string",
      "enum": [
        "verified",
        "authority-reviewed",
        "reputation-backed",
        "unverified"
      ]
    },
    "standard_version": {
      "const": "IARPG-OPS-2"
    },
    "interaction_model": {
      "type": "string",
      "minLength": 20,
      "description": "Legacy OPS-1 alias. Use player_interactions.",
      "deprecated": true
    },
    "reason_codes": {
      "type": "boolean",
      "const": true,
      "description": "Mission outcomes and restrictions expose reviewable reason codes."
    },
    "fiction_boundary": {
      "type": "boolean",
      "const": true,
      "description": "The brief is explicitly fictional and does not invite real-world targeting or validation of personal surveillance claims."
    },
    "competing_hypotheses": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 2
    },
    "information_asymmetry": {
      "type": "object"
    },
    "sources": {
      "type": "array",
      "items": {
        "type": "object"
      }
    },
    "player_interactions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "cover_and_access": {
      "type": "string",
      "minLength": 8
    },
    "compromise_indicators": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "abort_conditions": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "states": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 4
    },
    "transitions": {
      "type": "array",
      "items": {
        "type": "object"
      },
      "minItems": 3
    },
    "failure_paths": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1
    },
    "seed": {
      "type": "string",
      "minLength": 1
    },
    "evidence_events": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Reviewable evidence events emitted during the operation."
    },
    "extraction_states": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Declared extraction and remote-debrief states."
    },
    "debrief_outputs": {
      "type": "array",
      "minItems": 1,
      "items": {
        "type": "string",
        "minLength": 1
      },
      "description": "Products required from the debrief."
    }
  },
  "additionalProperties": true
}

Machine assets

Use stable routes,
not copied fragments.

The canonical JSON documents are published at stable root routes and mirrored under `/docs/standards/` for long-term project memory.

Connected tools and standards

Explore the wider AI ecosystem.