{
  "ticket": "U63 #100",
  "startedAt": "2026-10-28T00:47:32.724517+08:00",
  "finishedAt": "2026-10-28T00:48:11.096885+08:00",
  "input": "python3 labs/delivery-gate/run.py（本机 DBngin MySQL 8.4.7，root 空密码）",
  "exitCode": 0,
  "environment": {
    "jdk": "openjdk version \"21.0.11\" 2026-04-21 LTS\nOpenJDK Runtime Environment (build 21.0.11+11-LTS)\nOpenJDK 64-Bit Server VM (build 21.0.11+11-LTS, mixed mode, sharing)",
    "maven": "Apache Maven 3.9.9 (8e8579a9e76f7d015ee5ec7bfcdc97d260186937)\nMaven home: /Users/gaochao/develop/maven-3.9.9\nJava version: 21.0.11, vendor: BellSoft, runtime: /Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home\nDefault locale: zh_CN_#Hans, platform encoding: UTF-8\nOS name: \"mac os x\", version: \"27.2\", arch: \"aarch64\", family: \"mac\"",
    "os": "macOS-27.2-arm64-arm-64bit",
    "arch": "arm64",
    "python": "3.9.6",
    "mysqlClient": "/Users/Shared/DBngin/mysql/8.4.7_arm64/bin/mysql  Ver 8.4.7 for macos15 on arm64 (MySQL Community Server - GPL)",
    "dependencies": {
      "spring-boot": "4.0.9",
      "HikariCP": "7.0.2",
      "flyway-mysql": "11.14.1",
      "flyway-core": "11.14.1",
      "mysql-connector-j": "9.7.0",
      "junit-jupiter-api": "6.0.3",
      "mockito-core": "5.20.0"
    }
  },
  "pipelineAttempts": [
    {
      "attempt": 1,
      "stages": [
        {
          "stage": "build",
          "status": "passed"
        },
        {
          "stage": "unit",
          "status": "passed"
        },
        {
          "stage": "integration",
          "status": "passed"
        },
        {
          "stage": "contract",
          "status": "passed"
        },
        {
          "stage": "credential",
          "status": "passed"
        },
        {
          "stage": "migration-seed",
          "status": "passed"
        },
        {
          "stage": "tamper-V2",
          "status": "injected"
        },
        {
          "stage": "migration-gate",
          "status": "blocked-as-injected"
        },
        {
          "stage": "repair-V2",
          "status": "restored"
        }
      ],
      "blockedAt": "migration-gate",
      "result": "BLOCKED_AS_INJECTED",
      "blockedLog": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-migration-gate-drift-004746.log"
    },
    {
      "attempt": 2,
      "stages": [
        {
          "stage": "repair-V2",
          "status": "restored"
        },
        {
          "stage": "build",
          "status": "passed"
        },
        {
          "stage": "unit",
          "status": "passed"
        },
        {
          "stage": "integration",
          "status": "passed"
        },
        {
          "stage": "contract",
          "status": "passed"
        },
        {
          "stage": "credential",
          "status": "passed"
        },
        {
          "stage": "migration-seed",
          "status": "passed"
        },
        {
          "stage": "migration-gate",
          "status": "passed"
        }
      ],
      "blockedAt": null,
      "result": "GREEN_AFTER_REPAIR"
    }
  ],
  "artifactEvidence": {
    "reproducibleRebuild": true,
    "jar1_sha256": "12142e3629ff1a77d8780119b92cff44baad7b3811e78d76a4ba819bf491e151",
    "jar2_sha256": "6bb5317066abd35f55be0eb31afc228d61ef7bdc336c6c3fc8202e874da40dc8",
    "rollbackResponse": "{\"version\":\"1.0.0\",\"contractVersion\":1,\"capabilities\":[\"ledger\"]}",
    "upgradeResponse": "{\"version\":\"2.0.0\",\"contractVersion\":1,\"capabilities\":[\"ledger\",\"batch-ledger\"]}"
  },
  "results": [
    {
      "stage": "jdk",
      "command": [
        "/Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home/bin/java",
        "-version"
      ],
      "startedAt": "2026-10-28T00:47:33.141055+08:00",
      "finishedAt": "2026-10-28T00:47:33.183386+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/jdk-004733.log"
    },
    {
      "stage": "maven",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-version"
      ],
      "startedAt": "2026-10-28T00:47:33.183585+08:00",
      "finishedAt": "2026-10-28T00:47:33.448779+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/maven-004733.log"
    },
    {
      "stage": "dependency-tree",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "dependency:list",
        "-DoutputFile=/dev/stdout"
      ],
      "startedAt": "2026-10-28T00:47:33.448995+08:00",
      "finishedAt": "2026-10-28T00:47:34.760196+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/dependency-tree-004733.log"
    },
    {
      "stage": "attempt1-build",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "clean",
        "package",
        "-DskipTests"
      ],
      "startedAt": "2026-10-28T00:47:34.801343+08:00",
      "finishedAt": "2026-10-28T00:47:36.419385+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-build-004734.log"
    },
    {
      "stage": "attempt1-unit",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=UnitLedgerServiceTest"
      ],
      "startedAt": "2026-10-28T00:47:36.419556+08:00",
      "finishedAt": "2026-10-28T00:47:37.975780+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 mockFailurePropagated=PASS type=DataAccessResourceFailureException",
        "U63 unitMockPassthrough=PASS amount=-5 mockId=42 dbConstraintNotProven=true"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-unit-004736.log"
    },
    {
      "stage": "attempt1-integration",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationTest"
      ],
      "startedAt": "2026-10-28T00:47:37.975946+08:00",
      "finishedAt": "2026-10-28T00:47:40.422883+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 bootMigratesAtStartup=PASS historyRows=2 versions=V1,V2 index=idx_ledger_account checkError=HY000/3819 springTranslation=UncategorizedSQLException",
        "U63 serviceNegativeRejectedByDb=PASS positiveReadBack=[250,125]",
        "U63 failedMigrationBlocked=PASS type=FlywayValidateException message=Validate failed: Migrations have failed validation Detected failed migration to version 2 (broken). Please remove any half-completed changes then run repair to fix the schema history. Need more flexibility with validation rules? Learn more: https://rd.gt/3AbJUZE",
        "U63 failedMigrationRepair=PASS blockedThenRepaired=true revalidated=true",
        "U63 migrationCleanup=PASS remaining=0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-integration-004737.log"
    },
    {
      "stage": "attempt1-contract",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=ContractHttpTest"
      ],
      "startedAt": "2026-10-28T00:47:40.423084+08:00",
      "finishedAt": "2026-10-28T00:47:43.328125+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 contractCheckerRejectsMissingField=PASS problems=1",
        "U63 contractRealHttp=PASS status=200 contractVersion=1 version=1.0.0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-contract-004740.log"
    },
    {
      "stage": "attempt1-credential",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=CredentialGateTest"
      ],
      "startedAt": "2026-10-28T00:47:43.328357+08:00",
      "finishedAt": "2026-10-28T00:47:45.372416+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 credentialPresentStarts=PASS controller=true historyRows=2",
        "U63 credentialMissingBlocksStartup=PASS property=delivery.release.token",
        "U63 credentialCleanup=PASS remaining=0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-credential-004743.log"
    },
    {
      "stage": "attempt1-migration-seed",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationGateTest#seed",
        "-Du63.schema=u63_pipeline_ea4ee622b978",
        "-Du63.migration.dir=/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/u63-migrations-_5qxin31"
      ],
      "startedAt": "2026-10-28T00:47:45.372617+08:00",
      "finishedAt": "2026-10-28T00:47:46.780293+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 migrationSeed=PASS history=[1:1, 2:1]"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-migration-seed-004745.log"
    },
    {
      "stage": "attempt1-migration-gate-drift",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationGateTest#gate",
        "-Du63.schema=u63_pipeline_ea4ee622b978",
        "-Du63.migration.dir=/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/u63-migrations-_5qxin31"
      ],
      "startedAt": "2026-10-28T00:47:46.780552+08:00",
      "finishedAt": "2026-10-28T00:47:48.397541+08:00",
      "exitCode": 1,
      "expectedExit": 1,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt1-migration-gate-drift-004746.log"
    },
    {
      "stage": "attempt2-build",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "clean",
        "package",
        "-DskipTests"
      ],
      "startedAt": "2026-10-28T00:47:48.397871+08:00",
      "finishedAt": "2026-10-28T00:47:49.894013+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-build-004748.log"
    },
    {
      "stage": "attempt2-unit",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=UnitLedgerServiceTest"
      ],
      "startedAt": "2026-10-28T00:47:49.894180+08:00",
      "finishedAt": "2026-10-28T00:47:51.431878+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 mockFailurePropagated=PASS type=DataAccessResourceFailureException",
        "U63 unitMockPassthrough=PASS amount=-5 mockId=42 dbConstraintNotProven=true"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-unit-004749.log"
    },
    {
      "stage": "attempt2-integration",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationTest"
      ],
      "startedAt": "2026-10-28T00:47:51.432055+08:00",
      "finishedAt": "2026-10-28T00:47:53.911157+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 bootMigratesAtStartup=PASS historyRows=2 versions=V1,V2 index=idx_ledger_account checkError=HY000/3819 springTranslation=UncategorizedSQLException",
        "U63 serviceNegativeRejectedByDb=PASS positiveReadBack=[250,125]",
        "U63 failedMigrationBlocked=PASS type=FlywayValidateException message=Validate failed: Migrations have failed validation Detected failed migration to version 2 (broken). Please remove any half-completed changes then run repair to fix the schema history. Need more flexibility with validation rules? Learn more: https://rd.gt/3AbJUZE",
        "U63 failedMigrationRepair=PASS blockedThenRepaired=true revalidated=true",
        "U63 migrationCleanup=PASS remaining=0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-integration-004751.log"
    },
    {
      "stage": "attempt2-contract",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=ContractHttpTest"
      ],
      "startedAt": "2026-10-28T00:47:53.911346+08:00",
      "finishedAt": "2026-10-28T00:47:56.836036+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 contractCheckerRejectsMissingField=PASS problems=1",
        "U63 contractRealHttp=PASS status=200 contractVersion=1 version=1.0.0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-contract-004753.log"
    },
    {
      "stage": "attempt2-credential",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=CredentialGateTest"
      ],
      "startedAt": "2026-10-28T00:47:56.836350+08:00",
      "finishedAt": "2026-10-28T00:47:58.871383+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 credentialPresentStarts=PASS controller=true historyRows=2",
        "U63 credentialMissingBlocksStartup=PASS property=delivery.release.token",
        "U63 credentialCleanup=PASS remaining=0"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-credential-004756.log"
    },
    {
      "stage": "attempt2-migration-seed",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationGateTest#seed",
        "-Du63.schema=u63_pipeline_ea4ee622b978",
        "-Du63.migration.dir=/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/u63-migrations-_5qxin31"
      ],
      "startedAt": "2026-10-28T00:47:58.871542+08:00",
      "finishedAt": "2026-10-28T00:48:00.319982+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 migrationSeed=PASS history=[1:1, 2:1]"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-migration-seed-004758.log"
    },
    {
      "stage": "attempt2-migration-gate-repaired",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "test",
        "-Dtest=MigrationGateTest#gate",
        "-Du63.schema=u63_pipeline_ea4ee622b978",
        "-Du63.migration.dir=/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/u63-migrations-_5qxin31"
      ],
      "startedAt": "2026-10-28T00:48:00.320158+08:00",
      "finishedAt": "2026-10-28T00:48:02.017782+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [
        "U63 migrationGate=PASS validate=ok history=2"
      ],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/attempt2-migration-gate-repaired-004800.log"
    },
    {
      "stage": "build-first",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "clean",
        "package",
        "-DskipTests",
        "-Dlab.release=1.0.0"
      ],
      "startedAt": "2026-10-28T00:48:02.053708+08:00",
      "finishedAt": "2026-10-28T00:48:03.591029+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/build-first-004802.log",
      "artifact": {
        "path": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-1.0.0-first.jar",
        "sha256": "12142e3629ff1a77d8780119b92cff44baad7b3811e78d76a4ba819bf491e151"
      }
    },
    {
      "stage": "build-rebuild",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "clean",
        "package",
        "-DskipTests",
        "-Dlab.release=1.0.0"
      ],
      "startedAt": "2026-10-28T00:48:03.612126+08:00",
      "finishedAt": "2026-10-28T00:48:05.193324+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/build-rebuild-004803.log",
      "artifact": {
        "path": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-1.0.0-rebuild.jar",
        "sha256": "12142e3629ff1a77d8780119b92cff44baad7b3811e78d76a4ba819bf491e151"
      }
    },
    {
      "stage": "build-second",
      "command": [
        "/Users/gaochao/develop/maven-3.9.9/bin/mvn",
        "-B",
        "-ntp",
        "-q",
        "-f",
        "/Users/gaochao/Documents/面试/software-engineering-study/.claude/worktrees/vigilant-austin-6a3d43/labs/delivery-gate/pom.xml",
        "clean",
        "package",
        "-DskipTests",
        "-Dlab.release=2.0.0"
      ],
      "startedAt": "2026-10-28T00:48:05.218628+08:00",
      "finishedAt": "2026-10-28T00:48:07.257903+08:00",
      "exitCode": 0,
      "expectedExit": 0,
      "observed": [],
      "log": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/build-second-004805.log",
      "artifact": {
        "path": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-2.0.0-second.jar",
        "sha256": "6bb5317066abd35f55be0eb31afc228d61ef7bdc336c6c3fc8202e874da40dc8"
      }
    },
    {
      "stage": "run-2.0.0",
      "command": [
        "/Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home/bin/java",
        "-jar",
        "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-2.0.0-second.jar",
        "--server.port=63954"
      ],
      "startedAt": "2026-10-28T00:48:07.321498+08:00",
      "http": {
        "status": 200,
        "body": "{\"version\":\"2.0.0\",\"contractVersion\":1,\"capabilities\":[\"ledger\",\"batch-ledger\"]}"
      },
      "exitCode": null
    },
    {
      "stage": "rollback-1.0.0",
      "command": [
        "/Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home/bin/java",
        "-jar",
        "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-1.0.0-first.jar",
        "--server.port=63971"
      ],
      "startedAt": "2026-10-28T00:48:08.706557+08:00",
      "http": {
        "status": 200,
        "body": "{\"version\":\"1.0.0\",\"contractVersion\":1,\"capabilities\":[\"ledger\"]}"
      },
      "exitCode": null
    },
    {
      "stage": "missing-token-refused",
      "command": [
        "/Library/Java/JavaVirtualMachines/liberica-jdk-21.jdk/Contents/Home/bin/java",
        "-jar",
        "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/artifacts/delivery-gate-1.0.0-first.jar",
        "--server.port=63988"
      ],
      "startedAt": "2026-10-28T00:48:10.031043+08:00",
      "exitCode": 1
    },
    {
      "stage": "backup-restore",
      "invocationId": "20261028-004732",
      "before": "COUNT(*)\tCOALESCE(SUM(amount_cents),0)\n3\t1275",
      "afterLoss": "",
      "after": "COUNT(*)\tCOALESCE(SUM(amount_cents),0)\n3\t1275",
      "exitCode": 0,
      "artifact": {
        "path": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732/backup.sql",
        "sha256": "90f7bf83073f5e959e27a673330b1912c292a7d8872e27b4846909f85738af27"
      }
    }
  ],
  "artifacts": {
    "pom.xml": "b619e344f3b9670cce7fad3e729c8e5dc4f121bbc972aa3c66a5f35ed025b27f",
    "run.py": "b23c5dea03a1342bc2ae91978b92455ed5db01a9066e2ffb8d570967f6f8f782",
    "README.md": "e7e82974d8966579157506dae4c417f9e7c311a17455b8a1c5da38eb60ce9006",
    "src/main/java/study/delivery/AboutController.java": "b4c208b73fc755ec49e878bd0ceb0380f26cdf7eaedc7f20425e12789a4511eb",
    "src/main/java/study/delivery/AboutResponse.java": "947d50375d18e7f7bc9ec5b447ba3b4fba1aebec8dd8400bfe56a89147f974ff",
    "src/main/java/study/delivery/DeliveryGateApp.java": "1c6b8cfafa67c1c0fc565c6dbdd4232fd2fe92694fa7e61d1917778c25ab272e",
    "src/main/java/study/delivery/LedgerRepository.java": "dc0f81b77988c13fac80dd46acd908fcc675ac3189e27360c023ea07f4f3eaaf",
    "src/main/java/study/delivery/LedgerService.java": "52fcd80359c5e9a0f0bc417289f9d403adc85f9dae2d7cd3bd54f4822c4cd2c3",
    "src/main/java/study/delivery/ReleaseProperties.java": "0329a9c701ee0c3e6ded5a746386bfe9e3dbb937bbd3335af0e4c9ce84643180",
    "src/test/java/study/delivery/ContractHttpTest.java": "f94cdcf69159ee4ba9cf196179ce29f5330f45fd166ba3fecde24b7a077b7a23",
    "src/test/java/study/delivery/CredentialGateTest.java": "cadc401a7cc5bcee12dec9945adc03c96c8468641e90f794207892bd0893948e",
    "src/test/java/study/delivery/LabDb.java": "1070e1adef4919c2e7659449c0f59b61a5c138ef2996f20124f85afc0089d757",
    "src/test/java/study/delivery/MigrationGateTest.java": "7ec53cd236bed50511b1b48c4f3bd983b33b79396dbf8dd15262b611f25eba36",
    "src/test/java/study/delivery/MigrationTest.java": "dcb626b298e40528738d4dcb17fb253d477d39cc35b2a20506024ac7058481df",
    "src/test/java/study/delivery/UnitLedgerServiceTest.java": "b0e1a99756c2bc92cd6300486c2cd9e313dec0bb94900c20d4d0c9a94479b17b",
    "src/main/resources/application.properties": "b1247b342b994b00b84a1aca0a385e6e0b30f525ac45fd17015d71e6baffaec0",
    "src/main/resources/db/migration/V1__create_ledger.sql": "96d3c1910db6f3931cfc6e132cea26d71bde6c03703c358b732063d9635c322d",
    "src/main/resources/db/migration/V2__add_ledger_account_index.sql": "f9526fcaee2f9352cad36c1ec9804fb301495508ee1f94e0e63ca60a72fa6e5b"
  },
  "logs": "/Users/gaochao/.cache/software-engineering-study/java-depth-impl/u63/runtime/20261028-004732",
  "cleanup": {
    "database": "仅创建并 DROP 本入口的 u63_* 专用库；结束前 SHOW DATABASES 断言无遗留",
    "processes": "每个 java 进程 terminate 后 wait；强杀视为失败",
    "externalServices": "本机 MySQL（DBngin，由用户启动）保持运行；未启动/停止任何服务"
  },
  "limits": [
    "Docker/Testcontainers 未使用（用户未授权 Docker）：容器内数据库与镜像构建未运行",
    "真实 CI 平台（GitHub Actions 等）、制品仓库、签名/SLSA 未运行；本入口是本地脚本流水线",
    "生产备份体系（增量、binlog PITR、异地副本、RTO/RPO 演练）未运行；只验证 mysqldump 逻辑备份",
    "蓝绿/金丝雀发布与流量切换归 U65/U81；Kubernetes 迁移 Job 未运行",
    "Maven 多模块与 Gradle、依赖冲突治理归 U62（未实施）",
    "凭据为合成 token；生产凭据托管（Vault/KMS）未运行"
  ]
}
