{
  "portaShape": {
    "formatVersion": "0.1",
    "kind": "mvp-example",
    "id": "example.table-view-to-api-query",
    "name": "Table view to API query",
    "mvpStatus": "complete",
    "summary": "MVP playground fixture for transforming ui.data_table_state into api.query_params.",
    "sourceShape": {
      "id": "ui.data_table_state",
      "sampleId": "ui.data_table_state.sample",
      "variables": [
        {
          "id": "filters",
          "label": "Filters",
          "value": "sample filters",
          "authority": "source-snapshot"
        },
        {
          "id": "sort",
          "label": "Sort",
          "value": "sample sort",
          "authority": "source-snapshot"
        },
        {
          "id": "page",
          "label": "Page",
          "value": "sample page",
          "authority": "source-snapshot"
        },
        {
          "id": "visible_columns",
          "label": "Visible Columns",
          "value": "sample visible columns",
          "authority": "source-snapshot"
        }
      ]
    },
    "destinationShape": {
      "id": "api.query_params",
      "sampleId": "api.query_params.template",
      "variables": [
        {
          "id": "q",
          "label": "Q",
          "proposedValue": "proposed q",
          "authority": "proposed-output"
        },
        {
          "id": "sort",
          "label": "Sort",
          "proposedValue": "proposed sort",
          "authority": "proposed-output"
        },
        {
          "id": "page",
          "label": "Page",
          "proposedValue": "proposed page",
          "authority": "proposed-output"
        },
        {
          "id": "fields",
          "label": "Fields",
          "proposedValue": "proposed fields",
          "authority": "proposed-output"
        }
      ]
    },
    "controls": [
      {
        "id": "control-table-view-to-api-query-primary",
        "label": "Review primary mapping",
        "type": "mapping-inspector",
        "edits": [
          "mapping.sources",
          "mapping.operation",
          "destination.proposedValue"
        ]
      },
      {
        "id": "control-table-view-to-api-query-save",
        "label": "Save as new shape",
        "type": "action",
        "writes": "artifact-library"
      }
    ],
    "mappings": [
      {
        "id": "map-table-view-to-api-query-q",
        "sources": [
          "filters"
        ],
        "destination": "q",
        "operation": "translate",
        "editable": true,
        "confidence": 0.86
      },
      {
        "id": "map-table-view-to-api-query-sort",
        "sources": [
          "sort"
        ],
        "destination": "sort",
        "operation": "translate",
        "editable": false,
        "confidence": 0.78
      },
      {
        "id": "map-table-view-to-api-query-page",
        "sources": [
          "page"
        ],
        "destination": "page",
        "operation": "translate",
        "editable": false,
        "confidence": 0.78
      },
      {
        "id": "map-table-view-to-api-query-fields",
        "sources": [
          "visible_columns"
        ],
        "destination": "fields",
        "operation": "translate",
        "editable": false,
        "confidence": 0.78
      }
    ],
    "preview": {
      "source": {
        "filters": "sample filters",
        "sort": "sample sort",
        "page": "sample page",
        "visible_columns": "sample visible_columns"
      },
      "proposed": {
        "q": "proposed q",
        "sort": "proposed sort",
        "page": "proposed page",
        "fields": "proposed fields"
      },
      "destination": "api.query_params"
    },
    "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": "ui.data_table_state",
      "destinationShape": "api.query_params"
    },
    "runEvidence": {
      "status": "sample-passed",
      "assertions": [
        "all-required-destination-values-populated",
        "mapping-confidence-recorded",
        "export-contains-workflow-policy-snapshot-and-evidence"
      ]
    }
  }
}
