{
  "portaShape": {
    "formatVersion": "0.1",
    "kind": "mvp-example",
    "id": "example.display-name-formatter",
    "name": "Display name formatter",
    "mvpStatus": "complete",
    "summary": "MVP playground fixture for transforming person.name_parts into person.display_name.",
    "sourceShape": {
      "id": "person.name_parts",
      "sampleId": "person.name_parts.sample",
      "variables": [
        {
          "id": "first_name",
          "label": "First Name",
          "value": "sample first name",
          "authority": "source-snapshot"
        },
        {
          "id": "middle_name",
          "label": "Middle Name",
          "value": "sample middle name",
          "authority": "source-snapshot"
        },
        {
          "id": "last_name",
          "label": "Last Name",
          "value": "sample last name",
          "authority": "source-snapshot"
        },
        {
          "id": "suffix",
          "label": "Suffix",
          "value": "sample suffix",
          "authority": "source-snapshot"
        }
      ]
    },
    "destinationShape": {
      "id": "person.display_name",
      "sampleId": "person.display_name.template",
      "variables": [
        {
          "id": "display_name",
          "label": "Display Name",
          "proposedValue": "proposed display name",
          "authority": "proposed-output"
        }
      ]
    },
    "controls": [
      {
        "id": "control-display-name-formatter-primary",
        "label": "Review primary mapping",
        "type": "mapping-inspector",
        "edits": [
          "mapping.sources",
          "mapping.operation",
          "destination.proposedValue"
        ]
      },
      {
        "id": "control-display-name-formatter-save",
        "label": "Save as new shape",
        "type": "action",
        "writes": "artifact-library"
      }
    ],
    "mappings": [
      {
        "id": "map-display-name-formatter-display-name",
        "sources": [
          "first_name",
          "middle_name",
          "last_name",
          "suffix"
        ],
        "destination": "display_name",
        "operation": "combine",
        "editable": true,
        "confidence": 0.86
      }
    ],
    "preview": {
      "source": {
        "first_name": "sample first_name",
        "middle_name": "sample middle_name",
        "last_name": "sample last_name",
        "suffix": "sample suffix"
      },
      "proposed": {
        "display_name": "proposed display_name"
      },
      "destination": "person.display_name"
    },
    "workflow": {
      "steps": [
        "import-source-shape",
        "inspect-variables",
        "map-values",
        "preview-transform",
        "validate-result",
        "save-as-new-shape",
        "export-posh-artifact"
      ]
    },
    "policy": {
      "requiresApproval": false,
      "checks": [
        "schema-valid",
        "authority-declared",
        "loss-reviewed",
        "provenance-recorded"
      ]
    },
    "snapshot": {
      "capturedAt": "2026-07-20T00:00:00Z",
      "sourceShape": "person.name_parts",
      "destinationShape": "person.display_name"
    },
    "runEvidence": {
      "status": "sample-passed",
      "assertions": [
        "all-required-destination-values-populated",
        "mapping-confidence-recorded",
        "export-contains-workflow-policy-snapshot-and-evidence"
      ]
    }
  }
}
