{
  "code": "MIG-01",
  "slug": "lossless-mission-and-package-migration",
  "title": "Lossless Mission and Package Migration",
  "category": "Governance and Migration",
  "status": "Current",
  "version": "2.0.4-wip",
  "summary": "Migrates OPS-1, early OPS-2, isolated component records, and current Operation Packages without silently discarding fields.",
  "keywords": [
    "migration",
    "backward compatibility",
    "field map",
    "unknown fields",
    "preservation"
  ],
  "mission_phases": [
    "Task",
    "Plan",
    "Debrief"
  ],
  "canonical": "https://iarpg.com/standard/lossless-mission-and-package-migration",
  "json": "https://iarpg.com/records/lossless-mission-and-package-migration.json",
  "requirements": [
    {
      "level": "MUST",
      "text": "Produce a field-by-field migration report identifying original field, destination field, transformed value, action, reason, standard, and warning level."
    },
    {
      "level": "MUST",
      "text": "Preserve unsupported or unknown data in an explicit extensions.unmapped_data collection."
    },
    {
      "level": "SHOULD",
      "text": "Retain source release, source version, migration timestamp in UTC, and migration-tool version."
    },
    {
      "level": "MAY",
      "text": "Apply reversible aliases for renamed fields where no semantic transformation is required."
    }
  ],
  "research": [
    {
      "label": "Immutable reversal pattern",
      "href": "/docs/report/monetary-architecture-genesis-allowance-and-economic-stabilization#ledger-schema-and-telemetry",
      "note": "Corrections and migrations remain reviewable rather than deleting prior state."
    }
  ],
  "related": [
    "release-migration-and-backward-compatibility",
    "operation-package-format",
    "versioning-change-control-and-telemetry"
  ],
  "release": "IARPG-OPS-2",
  "revised_utc": "2026-07-20T12:04:07Z",
  "purpose": "Migrates OPS-1, early OPS-2, isolated component records, and current Operation Packages without silently discarding fields.",
  "rationale": "The operations design system requires portable, inspectable, recoverable records so mission decisions and consequences can be reviewed across tools and release boundaries.",
  "game_interaction": [
    "Review structured record",
    "Load related local tool",
    "Inspect standards and report links",
    "Export normalized JSON",
    "Record UTC result"
  ],
  "inputs": [
    "Mission or package identifier",
    "Applicable authority and roles",
    "Evidence and state records",
    "Release and conformance metadata"
  ],
  "outputs": [
    "Human-readable publication view",
    "Machine-readable JSON",
    "Reason-coded validation findings",
    "Deep links to related standards and reports"
  ],
  "state_transitions": [
    "Input loaded → validated → edited or compared → exported or preserved"
  ],
  "evidence_and_provenance": [
    "Record UTC timestamps, source identifiers, component versions, and reason codes.",
    "Preserve evidence class boundaries and unknown extension data."
  ],
  "ui_requirements": [
    "Provide compact metadata and clear status.",
    "Provide local import and export without server transmission.",
    "Provide structured fallback for visual representations."
  ],
  "accessibility_requirements": [
    "Support keyboard operation and visible focus.",
    "Provide live validation status and print-readable output."
  ],
  "telemetry_events": [
    "Local tool may expose an exportable event record; no user content is transmitted by this publication."
  ],
  "abuse_and_exploit_cases": [
    "Silent field loss",
    "Non-deterministic replay",
    "False conformance claim",
    "Unreviewable transformation"
  ],
  "failure_behavior": "Reject invalid structure with explicit findings, preserve the original input, and never discard unknown fields silently.",
  "recovery_behavior": "Allow the user to repair input, restore a local draft, export preserved unmapped data, or restart from a published fixture.",
  "example_implementation": "The /migrate interface demonstrates this record using PHP, vanilla JavaScript, local JSON, and browser APIs.",
  "roles": [
    "Operative",
    "Handler",
    "Intelligence Analyst",
    "Technical Operator",
    "Counterintelligence Officer",
    "Liaison Officer",
    "Logistics Specialist",
    "Source Handler"
  ],
  "authority_types": [
    "Civil administration",
    "Military command",
    "Commercial intelligence service",
    "International verification body",
    "Scientific or infrastructure consortium",
    "Independent investigative network"
  ],
  "collection_disciplines": [
    "Human-source",
    "Technical",
    "Open-source",
    "Liaison",
    "Observation"
  ],
  "interaction_types": [
    "Review",
    "Validate",
    "Compare",
    "Export",
    "Handoff"
  ],
  "evidence_requirement": "Component IDs and provenance",
  "conformance_level": "Level D — Simulatable",
  "implementation_maturity": "WIP implemented",
  "related_examples": [
    "port-access-anomaly-investigation",
    "cross-border-ceasefire-verification"
  ],
  "revision_history": [
    {
      "version": "2.0.2-wip",
      "date_utc": "2026-07-19T16:42:07Z",
      "change": "Initial publication for the IARPG-OPS-2 operation-package lifecycle."
    },
    {
      "version": "2.0.3-wip",
      "date_utc": "2026-07-19T18:45:50Z",
      "note": "Reviewed for integrity-aware package verification, merge, multi-role replay, custody comparison, batch review, backup, publication preview, and release-promotion workflows."
    },
    {
      "version": "2.0.4-wip",
      "date_utc": "2026-07-20T12:04:07Z",
      "note": "Reviewed for canonicalization, round-trip portability, recovery, provenance, compatibility, accessibility, hosting evidence, and stable-promotion gates."
    }
  ]
}
