{
  "schema_version": 2,
  "transport": "HTTP",
  "workload": "fastapi-upstream-items",
  "provenance": {
    "repository": "fastapi/full-stack-fastapi-template",
    "commit": "b1125d8839482cb7bbae603ddc6d0081bf87532e",
    "original_model_blob": "181acf2bf16b4285becb5a5626cf3aa56210211e",
    "patched_model_sha256": "7f9f207c3cb6c71edfbb25e43b8006e96acf994e09a044e39a519280f6ea7ae7",
    "lock_sha256": "4a46cbffbb76f1fcfdb77e50d2106d183fda30a6b178da5f2e2dd5079801dda9",
    "change": "v2 Item.title maps to physical column display_title; API title stays unchanged"
  },
  "application_factory": "integrations.fastapi_case:integration.<locals>.UpstreamApplication",
  "applications": [
    {
      "version": "v1",
      "pid": 137,
      "transport": "HTTP"
    },
    {
      "version": "v2",
      "pid": 190,
      "transport": "HTTP"
    },
    {
      "version": "v1",
      "pid": 243,
      "transport": "HTTP",
      "phase": "rollback"
    }
  ],
  "run_id": "8b082fed-6180-4ac4-8a12-ec15e71067e0",
  "scenario": "item-title-storage",
  "commit": "2ec32c7eb316c4f1cedf6e92a27b3e240de55c60",
  "pipeline_url": "https://gitlab.com/gitlab-ai-hackathon/transcend-october-2026/43208246/showcase/-/pipelines/2980660966",
  "created_at": "2026-10-23T10:36:02.782681+00:00",
  "fixture_sha256": "f0756ec4501273b505c305e3cac176228706c4ea1f5b82665ee3487a07d5a4af",
  "checks": [
    {
      "id": "applications_started",
      "stage": "baseline",
      "version": "v1",
      "operation": "Start independent old HTTP application",
      "status": "PASS",
      "duration_ms": 1900.62
    },
    {
      "id": "baseline_read",
      "stage": "baseline",
      "version": "v1",
      "operation": "Read existing project item",
      "status": "PASS",
      "duration_ms": 23.82
    },
    {
      "id": "baseline_write",
      "stage": "baseline",
      "version": "v1",
      "operation": "Create and read project item",
      "status": "PASS",
      "duration_ms": 16.23
    },
    {
      "id": "migration",
      "stage": "migration",
      "version": "-",
      "operation": "Apply candidate SQL",
      "status": "PASS",
      "duration_ms": 4.98
    },
    {
      "id": "new_application_started",
      "stage": "target",
      "version": "v2",
      "operation": "Start independent new HTTP application",
      "status": "PASS",
      "duration_ms": 1024.46
    },
    {
      "id": "new_read",
      "stage": "target",
      "version": "v2",
      "operation": "Read migrated project item",
      "status": "PASS",
      "duration_ms": 23.48
    },
    {
      "id": "new_write",
      "stage": "target",
      "version": "v2",
      "operation": "Create and read project item",
      "status": "PASS",
      "duration_ms": 17.26
    },
    {
      "id": "old_read",
      "stage": "rollout",
      "version": "v1",
      "operation": "Read migrated project item",
      "status": "PASS",
      "duration_ms": 5.59
    },
    {
      "id": "old_write",
      "stage": "rollout",
      "version": "v1",
      "operation": "Create and read project item",
      "status": "PASS",
      "duration_ms": 20
    },
    {
      "id": "old_to_new",
      "stage": "mixed",
      "version": "v1 \u2192 v2",
      "operation": "Old creates; new reads",
      "status": "PASS",
      "duration_ms": 12.92
    },
    {
      "id": "new_to_old",
      "stage": "mixed",
      "version": "v2 \u2192 v1",
      "operation": "New creates; old reads",
      "status": "PASS",
      "duration_ms": 12.24
    },
    {
      "id": "new_update_to_old",
      "stage": "mixed",
      "version": "v2 \u2192 v1",
      "operation": "New updates; old reads",
      "status": "PASS",
      "duration_ms": 13.9
    },
    {
      "id": "old_update_to_new",
      "stage": "mixed",
      "version": "v1 \u2192 v2",
      "operation": "Old updates; new reads",
      "status": "PASS",
      "duration_ms": 13.84
    },
    {
      "id": "rollback_restart",
      "stage": "app_rollback",
      "version": "v1",
      "operation": "Stop both apps; restart v1; verify new process identity",
      "status": "PASS",
      "duration_ms": 1453.96
    },
    {
      "id": "rollback_read",
      "stage": "app_rollback",
      "version": "v1",
      "operation": "Read latest acknowledged value after rollout",
      "status": "PASS",
      "duration_ms": 24.23
    },
    {
      "id": "rollback_new_data",
      "stage": "app_rollback",
      "version": "v1",
      "operation": "Read data committed by v2",
      "status": "PASS",
      "duration_ms": 5.04
    }
  ],
  "completed": true,
  "cleanup_ok": true,
  "limitations": [
    "Synthetic project item records only; no production data or traffic.",
    "Two independent instances of the pinned upstream FastAPI backend with real login and item CRUD routes; synthetic data.",
    "Sequential interleavings; no concurrent transactions or load test.",
    "No lock-duration, large backfill, replication, or production deployment verification.",
    "Rollback means returning to v1 code on the migrated schema, not undoing SQL.",
    "GO applies only to this fixture and these declared probes."
  ],
  "cleanup_evidence": {
    "schema": "acceptance_f84865484f974cc28b6403bb7498aea3",
    "schema_state": "removed",
    "applications_stopped": true,
    "connection_closed": true
  },
  "postgres_version": 160015,
  "verdict": "GO_WITHIN_SCOPE"
}
