{
  "schema_version": "1.0",
  "edition": "05",
  "source_document": "progression_worked_example_05.txt",
  "title": "Powered workshop to first lunar return — design ledger",
  "date": "2026-10-07",
  "status": "Documentation expansion; new defaults and numeric examples are proposals, not approved recipe or runtime facts",
  "build_authorized": false,
  "implementation_verified": false,
  "source_files": [
    "industry_progression_expansion.txt",
    "industry_progression_register.json",
    "tier1_space_expansion.txt",
    "tier1_model_specifications.txt",
    "tier1_model_register.json",
    "moon_mars_expansion.txt",
    "first_playable_expansion.txt",
    "first_playable_register.json",
    "complete-direction.txt"
  ],
  "sections": [
    {
      "id": "WP05-PLAN-01",
      "title": "The question this example answers",
      "source_ids": [
        "IP02",
        "IP03",
        "T1-OV01",
        "T1-OV02",
        "T1-OV03",
        "FP-PLAN-02",
        "FP-PLAN-09",
        "FP-PLAN-10",
        "T1-SPEC-01",
        "T1-SPEC-02"
      ]
    },
    {
      "id": "WP05-PLAN-02",
      "title": "What enters the workshop",
      "source_ids": [
        "MAT01",
        "MAT09",
        "MAT10",
        "MAT11",
        "T1-OV01",
        "T1-M01",
        "T1-M05"
      ]
    },
    {
      "id": "WP05-PLAN-03",
      "title": "Electricity earns its place",
      "source_ids": [
        "IND-M04",
        "IND-M05",
        "IND-M32",
        "IND-M37",
        "IND-M38",
        "IND-M39",
        "EQ19",
        "TEC07",
        "IP02"
      ]
    },
    {
      "id": "WP05-PLAN-04",
      "title": "A selected workshop, with distinct jobs",
      "source_ids": [
        "IND-M09",
        "IND-M10",
        "IND-M11",
        "IND-M12",
        "IND-M42",
        "IND-M47",
        "IND-M49",
        "IND-M50",
        "IND-M51",
        "T1-M01",
        "T1-M02",
        "T1-M03",
        "T1-M05",
        "T1-I01",
        "T1-I02",
        "T1-I03",
        "T1-I04",
        "T1-I05",
        "T1-SPEC-13",
        "REF09",
        "REF10",
        "REF11",
        "REF15"
      ]
    },
    {
      "id": "WP05-PLAN-05",
      "title": "Supply production without a circular recipe",
      "source_ids": [
        "T1-M03",
        "T1-M05",
        "T1-S01",
        "IND-M16",
        "IND-M17",
        "IND-M40",
        "IND-M41",
        "IND-M42",
        "IND-M43",
        "IND-M44",
        "IND-M45"
      ]
    },
    {
      "id": "WP05-PLAN-06",
      "title": "The complete order and its accounting",
      "source_ids": [
        "T1-OV02",
        "T1-M02",
        "T1-SPEC-18",
        "FP-PLAN-09",
        "FP-PLAN-10"
      ]
    },
    {
      "id": "WP05-PLAN-07",
      "title": "An illustrative round-trip supply ledger",
      "source_ids": [
        "SUPPLY01",
        "SUPPLY02",
        "SUPPLY03",
        "T1-I03",
        "T1-E03",
        "T1-SPEC-18"
      ]
    },
    {
      "id": "WP05-PLAN-08",
      "title": "Cargo is a player choice after essentials fit",
      "source_ids": [
        "T1-V01",
        "T1-SPEC-14",
        "T1-SPEC-15",
        "T1-SPEC-18",
        "EQ06",
        "EQ07",
        "EQ11",
        "EQ13",
        "EQ14",
        "EQ15",
        "EQ16",
        "EQ19",
        "EQ24",
        "EQ25",
        "EQ26",
        "EQ27"
      ]
    },
    {
      "id": "WP05-PLAN-09",
      "title": "Commissioning and the first expedition",
      "source_ids": [
        "T1-X01",
        "T1-X02",
        "T1-X03",
        "T1-X04",
        "T1-SPEC-15",
        "T1-SPEC-16",
        "T1-SPEC-17",
        "T1-SPEC-18",
        "MO-PLAN-01",
        "MO-PLAN-04",
        "MO-EXP-01"
      ]
    },
    {
      "id": "WP05-PLAN-10",
      "title": "Interruption, alternatives and honest recovery",
      "source_ids": [
        "T1-S03",
        "T1-SPEC-18",
        "FP-PLAN-14",
        "FP-PLAN-15",
        "MO-PLAN-04"
      ]
    },
    {
      "id": "WP05-PLAN-11",
      "title": "The discovery becomes something useful at home",
      "source_ids": [
        "PM01",
        "PM02",
        "MO-PLAN-05",
        "MO-PLAN-09",
        "T1-X04",
        "IND-M09",
        "IND-M50",
        "IND-M51"
      ]
    },
    {
      "id": "WP05-PLAN-12",
      "title": "What this pass establishes and what must be tuned",
      "source_ids": [
        "T1-B01",
        "MO-AC-01",
        "MO-AC-04",
        "MO-AC-08",
        "MO-AC-09"
      ]
    }
  ],
  "nodes": [
    {
      "id": "WP05-01",
      "title": "Existing mechanical workshop",
      "source_ids": [
        "IP01",
        "FP-PLAN-02",
        "FP-PLAN-07"
      ],
      "inputs": [
        "Previously completed First Playable or equivalent workshop capability"
      ],
      "outputs": [
        "Ordinary work access, usable tools, known local sources"
      ],
      "notes": [
        "Starting point; previous construction is not billed again."
      ]
    },
    {
      "id": "WP05-02",
      "title": "Earth common stocks",
      "source_ids": [
        "T1-OV01",
        "MAT01",
        "MAT09",
        "MAT10",
        "MAT11"
      ],
      "inputs": [
        "Reachable Earth raw resources and known gathering routes"
      ],
      "outputs": [
        "Common structural stock, glass, basic circuits, ceramics, fibers, seals, water and renewable carbon categories"
      ],
      "notes": [
        "Safe first sources or explicit alternatives required; quantities unresolved until recipes are selected."
      ]
    },
    {
      "id": "WP05-03",
      "title": "Useful workshop power",
      "source_ids": [
        "IP02",
        "IND-M32",
        "IND-M37",
        "IND-M38",
        "IND-M39",
        "SUPPLY03"
      ],
      "inputs": [
        "Earlier common construction materials",
        "Supported motion or fueled source",
        "Defined active source cost"
      ],
      "outputs": [
        "Distributed electricity",
        "Charged existing field cells"
      ],
      "notes": [
        "Source bootstrap cannot require electrically refined aluminum or advanced alloy; conversion losses and delivery limits are separate."
      ]
    },
    {
      "id": "WP05-04",
      "title": "Recognized parts and one Explorer",
      "source_ids": [
        "T1-M01",
        "T1-M02",
        "T1-I01",
        "T1-I02",
        "T1-I03",
        "T1-I04",
        "T1-I05",
        "T1-V01"
      ],
      "inputs": [
        "Prepared Earth stock",
        "Selected power/service",
        "Explicit component order"
      ],
      "outputs": [
        "One registered Explorer with commissioned cabin/cargo/system configuration"
      ],
      "notes": [
        "Four visual nozzles remain one managed engine cluster; no new inventory token per decorative piece."
      ]
    },
    {
      "id": "WP05-05",
      "title": "Suit and first refuge hardware",
      "source_ids": [
        "TEC04",
        "TEC12",
        "T1-E01",
        "T1-E02",
        "T1-E03",
        "T1-S01",
        "T1-S02",
        "EQ25"
      ],
      "inputs": [
        "Reachable prepared cloth, seals, insulation, glass, common fittings",
        "Defined manufacture/service power"
      ],
      "outputs": [
        "One complete supported suit system",
        "Reusable breathing vessels",
        "Complete Earth-made first-stage refuge",
        "Route and repair equipment"
      ],
      "notes": [
        "Hardware is separate from its filled supply; full refuge cargo must fit."
      ]
    },
    {
      "id": "WP05-06",
      "title": "Earth propellant preparation",
      "source_ids": [
        "T1-M03",
        "IND-M45",
        "SUPPLY01"
      ],
      "inputs": [
        "Candidate accepted renewable carbon feedstock",
        "Candidate process water",
        "Defined power and service inputs"
      ],
      "outputs": [
        "Real SUPPLY01 stored in compatible reservoir",
        "Explicit bounded residue if recipe produces one"
      ],
      "notes": [
        "Candidate recipe family only; coefficients, yield, byproducts and performance unresolved."
      ]
    },
    {
      "id": "WP05-07",
      "title": "Earth breathing preparation",
      "source_ids": [
        "T1-M05",
        "IND-M40",
        "IND-M41",
        "SUPPLY02"
      ],
      "inputs": [
        "Candidate valid Earth atmospheric intake",
        "Power",
        "Defined service media"
      ],
      "outputs": [
        "Real SUPPLY02 stored in compatible vessels",
        "Declared local exhaust behavior"
      ],
      "notes": [
        "Candidate Earth mode only; unavailable on Moon; exact recipe and service interval unresolved."
      ]
    },
    {
      "id": "WP05-08",
      "title": "Allocate and commission mission",
      "source_ids": [
        "T1-M06",
        "T1-M07",
        "T1-X01",
        "T1-SPEC-18"
      ],
      "inputs": [
        "One real supported craft/pilot configuration",
        "Complete hardware/cargo",
        "Actual propellant, breathing and charged storage",
        "Route and recovery association"
      ],
      "outputs": [
        "Ready declared lunar round trip with protected return and emergency allocations"
      ],
      "notes": [
        "A reserve is a purpose assignment in real storage, not newly created inventory."
      ]
    },
    {
      "id": "WP05-09",
      "title": "First tube and view home",
      "source_ids": [
        "MO-EXP-01",
        "MO-S1",
        "MO-L1",
        "MO-L2",
        "T1-X02"
      ],
      "inputs": [
        "Prepared mission",
        "Active operating supplies",
        "Commissioned independent starter refuge before descent"
      ],
      "outputs": [
        "Verified observations",
        "Actual regolith/glass samples",
        "Marked route and commissioned refuge"
      ],
      "notes": [
        "No local fuel or breathing manufacture; no required Glassfall Vaults or full basin mission."
      ]
    },
    {
      "id": "WP05-10",
      "title": "Protected return and parked refuge",
      "source_ids": [
        "T1-X04",
        "T1-S03",
        "T1-SPEC-18"
      ],
      "inputs": [
        "Actual return fuel/breathing",
        "Serviceable Explorer",
        "Loaded real cargo"
      ],
      "outputs": [
        "Same Explorer and participant back at supported Earth destination",
        "Explicit left and returned stock",
        "Durable region/project records"
      ],
      "notes": [
        "Park last-participant region without absent production/consumption; an occupied teammate region remains active."
      ]
    },
    {
      "id": "WP05-11",
      "title": "Interpret and allocate samples",
      "source_ids": [
        "IND-M50",
        "IND-M51",
        "PM01",
        "PM02"
      ],
      "inputs": [
        "Returned real samples",
        "Recorded observations",
        "Accessible Earth study functions"
      ],
      "outputs": [
        "Separate preserved specimen, processing reservation and unprocessed reserve"
      ],
      "notes": [
        "Observation knowledge is not a duplicate physical sample."
      ]
    },
    {
      "id": "WP05-12",
      "title": "Install one useful lunar material application",
      "source_ids": [
        "PM01",
        "PM02",
        "TEC02",
        "TEC08",
        "TEC09",
        "T1-X04"
      ],
      "inputs": [
        "Selected actual feedstock allocation",
        "Supplemental Earth stock",
        "Defined process energy/service and recipe"
      ],
      "outputs": [
        "A supported PM01 habitat/thermal component OR PM02 light-guide/survey component"
      ],
      "notes": [
        "Yield unresolved; first returned collection must be balanced to make a useful first application possible."
      ]
    }
  ],
  "edges": [
    {
      "id": "WP05-E01",
      "from_id": "WP05-01",
      "to_id": "WP05-03",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E02",
      "from_id": "WP05-02",
      "to_id": "WP05-03",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E03",
      "from_id": "WP05-02",
      "to_id": "WP05-04",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E04",
      "from_id": "WP05-03",
      "to_id": "WP05-04",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E05",
      "from_id": "WP05-02",
      "to_id": "WP05-05",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E06",
      "from_id": "WP05-03",
      "to_id": "WP05-05",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E07",
      "from_id": "WP05-02",
      "to_id": "WP05-06",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E08",
      "from_id": "WP05-03",
      "to_id": "WP05-06",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E09",
      "from_id": "WP05-02",
      "to_id": "WP05-07",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E10",
      "from_id": "WP05-03",
      "to_id": "WP05-07",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E11",
      "from_id": "WP05-04",
      "to_id": "WP05-08",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E12",
      "from_id": "WP05-05",
      "to_id": "WP05-08",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E13",
      "from_id": "WP05-06",
      "to_id": "WP05-08",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E14",
      "from_id": "WP05-07",
      "to_id": "WP05-08",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E15",
      "from_id": "WP05-03",
      "to_id": "WP05-08",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E16",
      "from_id": "WP05-08",
      "to_id": "WP05-09",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E17",
      "from_id": "WP05-09",
      "to_id": "WP05-10",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E18",
      "from_id": "WP05-10",
      "to_id": "WP05-11",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E19",
      "from_id": "WP05-11",
      "to_id": "WP05-12",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E20",
      "from_id": "WP05-02",
      "to_id": "WP05-12",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    },
    {
      "id": "WP05-E21",
      "from_id": "WP05-03",
      "to_id": "WP05-12",
      "relationship": "requires_supported_capability_or_actual_input",
      "mandatory": true
    }
  ],
  "repeat_visit_relationships": [
    {
      "from_id": "WP05-12",
      "to_id": "WP05-08",
      "relationship": "Optional improvement for later repetition; not an initial prerequisite"
    }
  ],
  "aliases": {
    "IND-M02": "T1-M01",
    "IND-M46": "T1-M02",
    "IND-M45": "T1-M03",
    "IND-M40": "T1-M05"
  },
  "ledger_lines": [
    {
      "id": "WP05-B01",
      "title": "Existing starting infrastructure",
      "status": "Previously paid, not repeated"
    },
    {
      "id": "WP05-B02",
      "title": "Required new power/fabrication/supply/launch infrastructure",
      "status": "Build recipes unresolved"
    },
    {
      "id": "WP05-B03",
      "title": "One reusable Explorer and personal configuration",
      "status": "Component bills/fit unresolved"
    },
    {
      "id": "WP05-B04",
      "title": "One complete first-stage refuge",
      "status": "Packed bill and fit unresolved"
    },
    {
      "id": "WP05-B05",
      "title": "Personal route and repair equipment",
      "status": "Real manifest to itemize"
    },
    {
      "id": "WP05-B06",
      "title": "Round-trip active supplies",
      "status": "Illustrative separate accounting vector"
    },
    {
      "id": "WP05-B07",
      "title": "Sample interpretation and first useful application",
      "status": "Real allocation; recipe yields unresolved"
    }
  ],
  "cost_model": {
    "definition": "Gross input i = sum_j(n_j * a_ij) + direct construction i + active mission consumption i; existing unreserved stock and legitimate produced outputs reduce new gathering demand",
    "batch_counts": "integer n_j >= 0; final values unresolved",
    "reusable_tooling": "Count installed patterns once; only declared wear/service is recurring",
    "queued_stock": "Reserve actual source inventory, do not clone it",
    "null_policy": "Every null recipe coefficient, rate, capacity or item count remains a specification gap and cannot be treated as zero"
  },
  "candidate_recipes": [
    {
      "id": "WP05-RP01",
      "title": "Candidate compact Earth propellant process",
      "status": "new_proposal_unapproved_recipe",
      "machine_ids": [
        "T1-M03",
        "IND-M45"
      ],
      "required_environment": "Earth source chain; no lunar input",
      "inputs": [
        {
          "family": "accepted prepared renewable carbon",
          "quantity": null,
          "parameter": "C",
          "unit": "accepted feedstock units per batch"
        },
        {
          "family": "process water",
          "quantity": null,
          "parameter": "W",
          "unit": "recipe fluid units per batch"
        },
        {
          "family": "workshop electricity",
          "quantity": null,
          "parameter": "E_P",
          "unit": "chosen game energy units per batch"
        },
        {
          "family": "declared service stock",
          "quantity": null,
          "parameter": "S_P",
          "unit": "recipe-defined service use per batch or interval"
        }
      ],
      "outputs": [
        {
          "family": "SUPPLY01",
          "quantity": null,
          "parameter": "Y_P",
          "unit": "chosen propellant units per batch"
        },
        {
          "family": "declared residue if any",
          "quantity": null,
          "parameter": "R",
          "unit": "recipe-defined residue units"
        }
      ],
      "constraints": [
        "C > 0",
        "W > 0",
        "E_P > 0",
        "Y_P > 0",
        "Residue existence, yield and destination must be explicitly chosen",
        "Null is unresolved, not zero",
        "No output may be reclaimed into a net-positive input loop"
      ],
      "inventory_item_creation": false,
      "real_chemistry_claim": false
    },
    {
      "id": "WP05-RP02",
      "title": "Candidate powered Earth atmosphere breathing preparation",
      "status": "new_proposal_unapproved_recipe",
      "machine_ids": [
        "T1-M05",
        "IND-M40"
      ],
      "required_environment": "Valid Earth atmospheric intake; not supported in lunar vacuum",
      "inputs": [
        {
          "family": "environmental atmosphere intake",
          "quantity": null,
          "parameter": "I_B",
          "unit": "recipe-defined environmental intake condition"
        },
        {
          "family": "workshop electricity",
          "quantity": null,
          "parameter": "E_B",
          "unit": "chosen game energy units per operation"
        },
        {
          "family": "service media",
          "quantity": null,
          "parameter": "S_B",
          "unit": "recipe-defined service stock per use or interval"
        }
      ],
      "outputs": [
        {
          "family": "SUPPLY02",
          "quantity": null,
          "parameter": "Y_B",
          "unit": "chosen breathing units per operation"
        },
        {
          "family": "rejected intake",
          "quantity": null,
          "parameter": "X_B",
          "unit": "defined environmental exhaust behavior; no default item"
        }
      ],
      "constraints": [
        "Output must require real process energy and defined service",
        "Earth-only applicability is explicit",
        "Exact output/service interval/exhaust are unresolved",
        "Water processing is an alternative future complete recipe, not an assumed local rescue"
      ],
      "inventory_item_creation": false,
      "real_chemistry_claim": false
    },
    {
      "id": "WP05-RP03",
      "title": "Regolith Ceramic first useful application",
      "status": "source_process_direction_with_unresolved_numeric_recipe",
      "machine_ids": [
        "IND-M09",
        "IND-M51"
      ],
      "source_ids": [
        "PM01",
        "TEC02",
        "TEC08",
        "MO-PLAN-05"
      ],
      "inputs": [
        {
          "family": "accepted regolith feedstock",
          "quantity": null,
          "parameter": "r_c",
          "unit": "sample inventory units"
        },
        {
          "family": "supplemental Earth component and energy/service inputs",
          "quantity": null,
          "parameter": "a_c",
          "unit": "explicit recipe input vector"
        }
      ],
      "outputs": [
        {
          "family": "PM01 relevant habitat/thermal component",
          "quantity": null,
          "parameter": "y_c",
          "unit": "finished component units"
        }
      ],
      "constraints": [
        "Target first application can use the proposed six-unit processing allocation after balance is chosen",
        "Preserved and unprocessed reserve samples are not automatically consumed",
        "Waste, recovery and remainder defined by real recipe"
      ]
    },
    {
      "id": "WP05-RP04",
      "title": "Lunar Glass Filament first useful application",
      "status": "source_process_direction_with_unresolved_numeric_recipe",
      "machine_ids": [
        "IND-M50",
        "IND-M51"
      ],
      "source_ids": [
        "PM02",
        "TEC08",
        "TEC09",
        "MO-PLAN-05"
      ],
      "inputs": [
        {
          "family": "accepted glass-bearing feedstock",
          "quantity": null,
          "parameter": "r_g",
          "unit": "sample inventory units"
        },
        {
          "family": "supplemental Earth component and energy/service inputs",
          "quantity": null,
          "parameter": "a_g",
          "unit": "explicit recipe input vector"
        }
      ],
      "outputs": [
        {
          "family": "PM02 relevant light-guide/survey component",
          "quantity": null,
          "parameter": "y_g",
          "unit": "finished component units"
        }
      ],
      "constraints": [
        "Target first application can use the proposed two-unit processing allocation after balance is chosen",
        "No input-to-output yield is currently assumed",
        "Preserved and unprocessed reserve samples are not automatically consumed"
      ]
    }
  ],
  "illustrative_test_vector": {
    "id": "WP05-EX01",
    "authority": "New bookkeeping example only; no gameplay balance/capacity approval",
    "propellant": {
      "supply_id": "SUPPLY01",
      "unit": "PU",
      "unit_definition": "Illustrative propellant accounting unit; no physical, temporal or capacity meaning",
      "initial_mission_quantity": 120,
      "initial_prepared_earth_stock": 150,
      "allocations": [
        {
          "purpose": "outbound",
          "quantity": 50,
          "protected": false
        },
        {
          "purpose": "return",
          "quantity": 50,
          "protected": true
        },
        {
          "purpose": "contingency",
          "quantity": 15,
          "protected": true
        },
        {
          "purpose": "optional manoeuvre",
          "quantity": 5,
          "protected": false
        }
      ],
      "transactions": [
        {
          "id": "WP05-P01",
          "kind": "transfer",
          "source": "Earth reservoir",
          "destination": "Explorer propellant storage",
          "quantity": 120
        },
        {
          "id": "WP05-P02",
          "kind": "consumption",
          "source": "Explorer propellant storage",
          "purpose": "outbound",
          "quantity": 50
        },
        {
          "id": "WP05-P03",
          "kind": "consumption",
          "source": "Explorer propellant storage",
          "purpose": "return",
          "quantity": 50
        }
      ],
      "baseline_consumed": 100,
      "final_custody": [
        {
          "location": "Earth reservoir",
          "quantity": 30,
          "in_mission": false
        },
        {
          "location": "returned Explorer",
          "quantity": 20,
          "in_mission": true
        }
      ],
      "conservation": "150 prepared = 100 consumed + 30 Earth reservoir + 20 returned Explorer",
      "capacity_requirement": "Configured compatible vehicle storage >= actual mission allocation; final value unresolved",
      "upstream_cost": "Number of batches and C/W/E_P/S_P costs follow selected Y_P; not supplied by test vector"
    },
    "breathing": {
      "supply_id": "SUPPLY02",
      "unit": "BU",
      "unit_definition": "Illustrative breathing accounting unit; no minutes/liters or final tank capacity",
      "initial_mission_quantity": 240,
      "allocations": [
        {
          "purpose": "outbound cabin",
          "quantity": 20,
          "protected": false
        },
        {
          "purpose": "surface work",
          "quantity": 40,
          "protected": false
        },
        {
          "purpose": "descent",
          "quantity": 40,
          "protected": false
        },
        {
          "purpose": "occupied refuge",
          "quantity": 60,
          "protected": true
        },
        {
          "purpose": "return cabin",
          "quantity": 20,
          "protected": true
        },
        {
          "purpose": "emergency",
          "quantity": 40,
          "protected": true
        },
        {
          "purpose": "unassigned refuge stock",
          "quantity": 20,
          "protected": false
        }
      ],
      "vessels": [
        {
          "id": "WP05-VB01",
          "role": "Explorer cabin",
          "initial": 40,
          "consumed": 40,
          "final": 0,
          "allocation": {
            "outbound": 20,
            "protected_return": 20
          }
        },
        {
          "id": "WP05-VB02",
          "role": "fitted field breathing vessel",
          "initial": 60,
          "consumed": 60,
          "final": 0,
          "allocation": {
            "surface": 40,
            "first_descent_part": 20
          }
        },
        {
          "id": "WP05-VB03",
          "role": "spare field breathing vessel",
          "initial": 60,
          "consumed": 20,
          "final": 40,
          "allocation": {
            "second_descent_part": 20,
            "emergency": 40
          }
        },
        {
          "id": "WP05-VB04",
          "role": "imported refuge breathing storage",
          "initial": 80,
          "consumed": 60,
          "final": 20,
          "allocation": {
            "active_refuge": 60,
            "unassigned_refuge_stock": 20
          }
        }
      ],
      "baseline_consumed": 180,
      "final_custody": [
        {
          "location": "returned emergency field vessel",
          "quantity": 40
        },
        {
          "location": "parked refuge storage",
          "quantity": 20
        }
      ],
      "conservation": "240 loaded = 180 consumed + 40 returned + 20 parked",
      "transfer_rule": "Filling, refill and swaps preserve actual contents and one hardware identity; purpose assignments do not create stock",
      "capacity_requirement": "Actual supported cabin, personal/spare and refuge storage must fit full safe manifest; these numbers are not capacity approval",
      "upstream_cost": "Atmosphere-process electricity/service requirements follow explicit E_B/Y_B/S_B before costs can close"
    },
    "energy": {
      "supply_id": "SUPPLY03",
      "unit": "EU",
      "unit_definition": "Illustrative stored electrical accounting unit in distinct compatible stores; not a new inventory item",
      "initial_mission_quantity": 320,
      "allocations": [
        {
          "purpose": "cabin/travel",
          "quantity": 80,
          "protected": true
        },
        {
          "purpose": "suit",
          "quantity": 60,
          "protected": true
        },
        {
          "purpose": "field light/survey",
          "quantity": 50,
          "protected": false
        },
        {
          "purpose": "refuge",
          "quantity": 100,
          "protected": true
        },
        {
          "purpose": "emergency",
          "quantity": 30,
          "protected": true
        }
      ],
      "stores": [
        {
          "id": "WP05-VE01",
          "role": "vehicle compatible storage",
          "initial": 90,
          "consumed": 80,
          "final": 10,
          "allocation": {
            "cabin_travel": 80,
            "emergency": 10
          }
        },
        {
          "id": "WP05-VE02",
          "role": "suit compatible storage",
          "initial": 70,
          "consumed": 60,
          "final": 10,
          "allocation": {
            "suit": 60,
            "emergency": 10
          }
        },
        {
          "id": "WP05-VE03",
          "role": "field-device compatible storage",
          "initial": 60,
          "consumed": 50,
          "final": 10,
          "allocation": {
            "light_survey": 50,
            "emergency": 10
          }
        },
        {
          "id": "WP05-VE04",
          "role": "refuge compatible storage",
          "initial": 100,
          "consumed": 80,
          "final": 20,
          "allocation": {
            "active_refuge": 80,
            "retained_refuge": 20
          }
        }
      ],
      "baseline_consumed": 270,
      "final_custody": [
        {
          "location": "three returned compatible stores",
          "quantity": 30
        },
        {
          "location": "parked refuge storage",
          "quantity": 20
        }
      ],
      "conservation": "320 delivered charge = 270 consumed + 30 returned + 20 parked",
      "upstream_requirement": "E_charge_input >= 320 / eta_charge; 0 < eta_charge <= 1; source production and other workshop processes are additional",
      "upstream_parameters": {
        "eta_charge": null,
        "generator_source_cost": null,
        "workshop_process_energy": null
      },
      "priority": "Occupied/cabin/suit essential service before discretionary tools/fabrication",
      "capacity_note": "Storage capacity and supported delivery are independently checked; a field cell is not a universal refinery source"
    }
  },
  "proposed_manifest": [
    {
      "id": "WP05-C01",
      "family": "T1-V01",
      "quantity": 1,
      "unit": "registered vehicle",
      "custody": "installed/vehicle state",
      "note": "Not loose cargo; installed T1-I component family counted in its actual build bill once"
    },
    {
      "id": "WP05-C02",
      "family": "pilot",
      "quantity": 1,
      "unit": "supported participant seat",
      "custody": "passenger record",
      "note": "Person is not an inventory item"
    },
    {
      "id": "WP05-C03",
      "family": "T1-E01/T1-E02 / EQ23",
      "quantity": 1,
      "unit": "complete supported suit system",
      "custody": "worn/equipment",
      "note": "Helmet belongs to this system, not a second armor line"
    },
    {
      "id": "WP05-C04",
      "family": "T1-E03 / EQ24",
      "quantity": 2,
      "unit": "personal fitted/spare reusable vessels in example",
      "custody": "equipment/cargo",
      "note": "Exact individual capacity/fit unapproved; cabin/refuge storage is distinct installed variant"
    },
    {
      "id": "WP05-C05",
      "family": "EQ25 / T1-S02",
      "quantity": 1,
      "unit": "complete first-stage refuge package",
      "custody": "cargo to installed structure",
      "note": "All actual construction contents and commissioning stock must be enumerated; package is not an unlimited container"
    },
    {
      "id": "WP05-C06",
      "family": "EQ13",
      "quantity": 6,
      "unit": "proposed marker placement allowance",
      "custody": "carried/installed/recovered",
      "note": "Unused or recovered stock persists"
    },
    {
      "id": "WP05-C07",
      "family": "EQ06 / EQ07",
      "quantity": 2,
      "unit": "proposed anchor placement allowance with suitable rope/harness",
      "custody": "carried/installed/recovered",
      "note": "Any brace requirement must be included as actual compatible kit contents or separately charged"
    },
    {
      "id": "WP05-C08",
      "family": "EQ27",
      "quantity": 1,
      "unit": "proposed compatible repair/patch action allowance",
      "custody": "carried service stock",
      "note": "Only actual compatible active repair consumes it"
    },
    {
      "id": "WP05-C09",
      "family": "EQ11/EQ14/EQ15/EQ16/EQ19/EQ26",
      "quantity": null,
      "unit": "existing lamp, survey, journal, sample, field power and beacon hardware according to real loadout",
      "custody": "equipment/cargo",
      "note": "Null quantity needs itemized packing before specification; it is not free or absent"
    },
    {
      "id": "WP05-C10",
      "family": "ordinary tools and food",
      "quantity": null,
      "unit": "actual chosen item counts",
      "custody": "equipment/cargo",
      "note": "Existing tools may be reused; food and extra service are explicit final manifest costs"
    }
  ],
  "sample_ledger": [
    {
      "id": "WP05-SA01",
      "family": "accepted regolith feedstock for PM01",
      "proposed_collected": 8,
      "unit": "accepted sample inventory units; not physical mass",
      "allocations": {
        "preserved_specimen": 1,
        "processing_reserved": 6,
        "unprocessed_reserve": 1
      },
      "numeric_yield": null,
      "processing_status": "Reserved only until explicit recipe commits actual units"
    },
    {
      "id": "WP05-SA02",
      "family": "accepted glass-bearing feedstock for PM02",
      "proposed_collected": 4,
      "unit": "accepted sample inventory units; not physical mass",
      "allocations": {
        "preserved_specimen": 1,
        "processing_reserved": 2,
        "unprocessed_reserve": 1
      },
      "numeric_yield": null,
      "processing_status": "Reserved only until explicit recipe commits actual units"
    }
  ],
  "assumptions": [
    {
      "id": "WP05-A01",
      "text": "All numerical examples are newly proposed accounting test vectors. They are neither user-approved balance nor observed runtime performance."
    },
    {
      "id": "WP05-A02",
      "text": "The default configuration supports one pilot. Cargo capacity and physical fit remain unresolved; illustrative six slots do not override essential equipment."
    },
    {
      "id": "WP05-A03",
      "text": "Required first-trip construction and supply families originate on Earth. First arrival assumes zero lunar propellant/breathing production and no usable local water."
    },
    {
      "id": "WP05-A04",
      "text": "Candidate carbon/water propellant and Earth atmosphere breathing recipes require explicit coefficients, outputs, byproducts/exhaust, energy, service intervals and material reachability before numerical design closure."
    },
    {
      "id": "WP05-A05",
      "text": "PU, BU and EU are independent illustrative accounting units, not physical quantities, seconds, inventory item types or conversion equivalents."
    },
    {
      "id": "WP05-A06",
      "text": "Protected return, contingency and occupied-refuge allocations label real stored quantity and cannot be withdrawn by ordinary automation."
    },
    {
      "id": "WP05-A07",
      "text": "The example starts from prepared post-production supplies; upstream raw costs are unresolved parameters, never zero-cost assumptions."
    },
    {
      "id": "WP05-A08",
      "text": "Stored energy examples start after charging; source energy, conversion loss and upstream process energy must be added separately."
    },
    {
      "id": "WP05-A09",
      "text": "Managed regional pause governs authored supported systems only. Active suit consumption follows the participant; occupied teammate regions remain active."
    },
    {
      "id": "WP05-A10",
      "text": "A first useful PM01/PM02 recipe must fit the final achievable small sample collection or the entire sample/mission balance must be revised coherently."
    },
    {
      "id": "WP05-A11",
      "text": "Manufacturing planning does not authorize mod implementation. Runtime, version, loaders and native recipes remain unverified."
    }
  ],
  "recoveries": [
    {
      "id": "WP05-REC01",
      "condition": "Missing power or full output",
      "response": "Pause or select supported capacity/manual alternative",
      "preserves": "Real input/output/charge; no duplicate output"
    },
    {
      "id": "WP05-REC02",
      "condition": "Refuge obstruction or incomplete service",
      "response": "Use Explorer retreat; correct placement or missing input",
      "preserves": "Uncommitted stock and completed installed stages"
    },
    {
      "id": "WP05-REC03",
      "condition": "Low field supplies or optional fault",
      "response": "Retreat/service/use declared contingency",
      "preserves": "Protected return and completed observations"
    },
    {
      "id": "WP05-REC04",
      "condition": "Unable to retreat or craft disabled",
      "response": "Use configured EQ26 recovery association and declared consequence",
      "preserves": "One craft/person state, recorded knowledge and visible cargo/salvage outcome"
    }
  ],
  "diagrams": [
    {
      "id": "CD05-D02",
      "role": "Exact dependency and return-value flow"
    },
    {
      "id": "CD05-D03",
      "role": "Typed supplies, protected allocation and custody"
    },
    {
      "id": "CD05-D06",
      "role": "First lunar route with optional branch"
    }
  ],
  "completion_criteria": [
    {
      "id": "WP05-AC01",
      "text": "Every mandatory input has a reachable earlier source or a named working substitute; no lunar ingredient appears in first-launch production.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC02",
      "text": "All infrastructure and first-component recipes explicitly define batches, inputs, outputs, energy/service and byproduct destinations; unresolved is never zero.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC03",
      "text": "Resolved Explorer fit accommodates actual pilot, systems, full shelter, personal/route supplies and sample allowance.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC04",
      "text": "Fuel, breathing and electricity each conserve their own quantities through production boundary, loading, transfer, use, return and parked storage.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC05",
      "text": "Later measured walking, construction, service, warnings and retreat margins are tuned together; proposed units are not minutes.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC06",
      "text": "Interrupted orders, region parking and vehicle handoffs preserve one cost, result and owner/location record.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC07",
      "text": "First collection supports a useful application with supplemental Earth input counted and preserved specimens unconsumed.",
      "status": "Design requirement; runtime unverified"
    },
    {
      "id": "WP05-AC08",
      "text": "Second missions reuse spacecraft and workshop; repeated supply work can use saved bounded orders.",
      "status": "Design requirement; runtime unverified"
    }
  ]
}
