{
  "id": "ESV-S05-SOP-01",
  "asset_id": "s05",
  "title": "Service module exchange with connector recovery",
  "purpose": "Rehearse exchanging the middle bay module while maintaining spacecraft support and preserving the intended harness configuration. Resolve a wrong-connector instruction before restoring the bay.",
  "prerequisites": "Use the unpowered serviceable-satellite concept on its ground stand. Record the starting model pose and a training connector map approved by the exercise author. Supply module support, removal path, connector pairing and completion criteria as scenario data; the geometry alone does not establish them.",
  "steps": [
    {
      "number": 1,
      "title": "Identify the supported assembly",
      "labels": [
        "stand",
        "bus",
        "bay.module2"
      ],
      "action": "Select the spacecraft, its independent stand and the middle service module. Match the model version and save the starting configuration.",
      "check": "The stand remains fixed; a different module identity prevents progression."
    },
    {
      "number": 2,
      "title": "Establish the work state",
      "labels": [
        "bus.sideport",
        "bay.harnessleft",
        "bay.harnessright"
      ],
      "action": "Read the supplied isolation record and place the exercise in its unpowered maintenance state. Identify both harness routes before opening the bay.",
      "check": "Require the recorded isolation state; appearance is insufficient evidence."
    },
    {
      "number": 3,
      "title": "Release and park the door",
      "labels": [
        "door",
        "door.latchupper",
        "door.latchmiddle",
        "door.latchlower"
      ],
      "action": "Release the three labelled latch objects in the authored order and move the door to its defined access pose.",
      "check": "All latch states must be released before the door movement completes."
    },
    {
      "number": 4,
      "title": "Trace the middle module connection",
      "labels": [
        "bay.module2",
        "bay.module2.connectorright",
        "bay.jumper2"
      ],
      "action": "Follow the training connection map from the middle module to its right connector and assigned jumper. Save this mapping.",
      "check": "The learner identifies the intended connector and jumper together."
    },
    {
      "number": 5,
      "title": "Resolve the connector discrepancy",
      "labels": [
        "bay.module2.connectorright",
        "bay.module3.connectorright",
        "bay.jumper2"
      ],
      "action": "Present an instruction naming the lower module connector. Place a hold, record the conflicting identities and obtain the exercise reviewer correction.",
      "check": "Selecting the lower-module connector after the discrepancy is a critical error."
    },
    {
      "number": 6,
      "title": "Disconnect and stow the jumper",
      "labels": [
        "bay.jumper2",
        "bay.module2.connectorright",
        "bay.harnessright"
      ],
      "action": "Disconnect the reviewed jumper route and place it in its authored stowed pose without pulling the adjacent harness.",
      "check": "Record the correct endpoint and stow state before allowing module release."
    },
    {
      "number": 7,
      "title": "Support the module",
      "labels": [
        "bay.module2",
        "bay.frame",
        "bay.wall.bottom"
      ],
      "action": "Acknowledge the simulated module support and select its frame reference and lower clearance surface. Arm the removal sequence.",
      "check": "Module withdrawal remains blocked until support is acknowledged."
    },
    {
      "number": 8,
      "title": "Remove the middle module",
      "labels": [
        "bay.module2",
        "bay.frame",
        "bay.module1",
        "bay.module3"
      ],
      "action": "Translate the middle module along the approved demonstration path into its parked pose. Keep the upper and lower modules in place.",
      "check": "Evaluate path order and final pose against the authored clearance envelope."
    },
    {
      "number": 9,
      "title": "Refit the module",
      "labels": [
        "bay.module2",
        "bay.wall.bottom",
        "bay.module2.connectorright"
      ],
      "action": "Return the module to the saved interface pose with its connector facing the intended side. Reject a reversed insertion.",
      "check": "The seated pose and orientation must meet declared simulation tolerances."
    },
    {
      "number": 10,
      "title": "Restore the connection",
      "labels": [
        "bay.module2.connectorright",
        "bay.jumper2",
        "bay.harnessright"
      ],
      "action": "Reconnect the corrected jumper, restore its routed pose and compare the right harness with the baseline.",
      "check": "Wrong endpoint, missing connection or displaced adjacent harness prevents completion."
    },
    {
      "number": 11,
      "title": "Close the bay",
      "labels": [
        "door.inner",
        "door",
        "door.latchupper",
        "door.latchmiddle",
        "door.latchlower"
      ],
      "action": "Check the door sweep against the restored harness, return the door to its closed pose and engage the three latches.",
      "check": "Do not accept closure while any authored interference or open latch remains."
    },
    {
      "number": 12,
      "title": "Release the maintenance handover",
      "labels": [
        "bay.module2",
        "bay.jumper2",
        "door",
        "stand"
      ],
      "action": "Compare final configuration with the baseline and submit the connector correction, ordered action record and required external test evidence.",
      "check": "The reviewer sees the same model revision, restored module and resolved hold."
    }
  ],
  "assessment": "Score component identification 20, ordered exchange 25, discrepancy resolution 20, restored configuration 20 and evidence 15. Unsupported withdrawal, wrong-connector continuation or missing isolation is a critical stop. A completed visual sequence does not establish electrical continuity or fastener torque.",
  "authoring_notes": "Bind the real module, connector, jumper and door identifiers. Author support states, module parking poses, latch dependencies and door clearance explicitly. Do not infer a hinge axis, connector pinout or module electrical function. Use external records for programme-specific tests.",
  "model_version": 4,
  "model_url": "https://eonspaceventures.com/models/s05-serviceable-spacecraft.glb",
  "model_session": "https://mirrordirect.eonaiventures.com/s/01M5R07A2587CATY2EW4Y2SBBA",
  "model_sha256": "c325f8f4842f18f343aa251af474bf48f7e977181478e8e45a7c32cb3ff0f4a8",
  "status": "simulation authoring specification",
  "executed": false
}
