{
  "portaShape": {
    "formatVersion": "0.1",
    "kind": "mvp-example",
    "id": "legacy.blog-article-migration",
    "name": "Article Migration",
    "mvpStatus": "complete",
    "summary": "Legacy catalog fixture upgraded for MVP use: blog.legacy_article to blog.modern_article.",
    "sourceShape": {
      "id": "blog.legacy_article",
      "sampleId": "blog.legacy_article.sample",
      "variables": [
        {
          "id": "title",
          "label": "title",
          "value": "sample title",
          "authority": "source-snapshot"
        },
        {
          "id": "body",
          "label": "body",
          "value": "sample body",
          "authority": "source-snapshot"
        },
        {
          "id": "author",
          "label": "author",
          "value": "sample author",
          "authority": "source-snapshot"
        },
        {
          "id": "publishedAt",
          "label": "publishedAt",
          "value": "sample publishedAt",
          "authority": "source-snapshot"
        }
      ]
    },
    "destinationShape": {
      "id": "blog.modern_article",
      "sampleId": "blog.modern_article.template",
      "variables": [
        {
          "id": "headline",
          "label": "headline",
          "proposedValue": "proposed headline",
          "authority": "proposed-output"
        },
        {
          "id": "content",
          "label": "content",
          "proposedValue": "proposed content",
          "authority": "proposed-output"
        },
        {
          "id": "byline",
          "label": "byline",
          "proposedValue": "proposed byline",
          "authority": "proposed-output"
        },
        {
          "id": "publishDate",
          "label": "publishDate",
          "proposedValue": "proposed publishDate",
          "authority": "proposed-output"
        }
      ]
    },
    "controls": [
      {
        "id": "control-review-mapping",
        "label": "Review mapping",
        "type": "mapping-inspector",
        "edits": [
          "mapping.sources",
          "mapping.operation",
          "destination.proposedValue"
        ]
      },
      {
        "id": "control-save-as-new-shape",
        "label": "Save as new shape",
        "type": "action",
        "writes": "artifact-library"
      }
    ],
    "mappings": [
      {
        "id": "map-blog-article-migration-headline",
        "sources": [
          "title"
        ],
        "destination": "headline",
        "operation": "translate",
        "editable": true,
        "confidence": 0.82
      },
      {
        "id": "map-blog-article-migration-content",
        "sources": [
          "body"
        ],
        "destination": "content",
        "operation": "translate",
        "editable": false,
        "confidence": 0.82
      },
      {
        "id": "map-blog-article-migration-byline",
        "sources": [
          "author"
        ],
        "destination": "byline",
        "operation": "translate",
        "editable": false,
        "confidence": 0.82
      },
      {
        "id": "map-blog-article-migration-publishdate",
        "sources": [
          "publishedAt"
        ],
        "destination": "publishDate",
        "operation": "translate",
        "editable": false,
        "confidence": 0.82
      }
    ],
    "preview": {
      "source": {
        "title": "sample title",
        "body": "sample body",
        "author": "sample author",
        "publishedAt": "sample publishedAt"
      },
      "proposed": {
        "headline": "proposed headline",
        "content": "proposed content",
        "byline": "proposed byline",
        "publishDate": "proposed publishDate"
      },
      "destination": "blog.modern_article"
    },
    "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": "blog.legacy_article",
      "destinationShape": "blog.modern_article"
    },
    "runEvidence": {
      "status": "sample-passed",
      "assertions": [
        "all-required-destination-values-populated",
        "mapping-confidence-recorded",
        "export-contains-workflow-policy-snapshot-and-evidence"
      ]
    }
  }
}
