{
  "scope": "offline historic evidence ledger only; no HTTP DB or fixture writes",
  "spec_sha256": "6d57e38470c938ddc5d6f45f88dd0e2f586124ad2b3b3135ef5b04e1a70abbea",
  "files": {
    "coverage": {
      "path": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "before_sha256": "2fdf2139a6c6e479109aa56f9b44de8fffd02a753fc11cef6b365ae7af3071a1",
      "after_sha256": "6153b4fa00ce808b2bdae0a483a1099ff168ebab0e3df2f748eda968527fcd8f",
      "rows": 2142,
      "changes": [
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/copy_menu"
          },
          "fields": [
            "database_readback",
            "evidence"
          ],
          "before_row_sha256": "9b5798059776f5800d940bfc582227f98e8a45939cbc128a8322a9a7fa0b4e33",
          "after_row_sha256": "ec0a802ad8c5ff3304b60ad8f10f20d5e804750f0b2cf902e9ddaa01977a6fa4"
        },
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/weekCopyCommit"
          },
          "fields": [
            "database_readback",
            "evidence"
          ],
          "before_row_sha256": "1301c39da22bd5b0fe1c067d2ef0dd6f9b660681cdf80ba12b3a45162b5f0735",
          "after_row_sha256": "9912578ff08c8927e1d9de532315ffc7d7c01c4262dc6b01feac52149d0acf60"
        },
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/weekCopyPreview"
          },
          "fields": [
            "database_readback",
            "evidence"
          ],
          "before_row_sha256": "a1f41a49c423ca0d976a2cff0b0e01445e72f121dc846e7dc245b9571f4025e0",
          "after_row_sha256": "7b92ad2abc5272150ded978fa3310b156f1b1d283a8deebe2643688388fd5f21"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "*",
            "path": "/store/dishes.Dishes/detail"
          },
          "fields": [
            "database_readback",
            "evidence"
          ],
          "before_row_sha256": "7184fd745d069477b8c5c238bb27471afaa932beff4ae49c6483c5938b700eab",
          "after_row_sha256": "2b774df09d15eed1669a8c700c962662284dc2462b42e54c8ea0bb60ae869b3d"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "POST",
            "path": "/store/dishes.Dishes/add"
          },
          "fields": [
            "database_readback",
            "db_access_review",
            "evidence",
            "risk"
          ],
          "before_row_sha256": "dc7eefaa75a5093962a9710cec5aef0d2e2a2d2dadd6e7723474d72bff3dd2f4",
          "after_row_sha256": "8a8b5af2f5ddd5f5dad7341c5fc03d86475eb9712bd536114de44bb3cc6040eb"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "POST",
            "path": "/store/dishes.Dishes/edit"
          },
          "fields": [
            "database_readback",
            "db_access_review",
            "dm_http_or_command",
            "evidence",
            "risk"
          ],
          "before_row_sha256": "4813e2963918f56079cacc5d9d309ed7d1982110d82eddd2c63a7c4971840fb0",
          "after_row_sha256": "cf29d32d8dd3d345b07b52ebb913cac5917efd6dac5acf4a05ec8b29d04e6add"
        }
      ]
    },
    "contract": {
      "path": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "before_sha256": "4efa89fea48efd1bf43063ce094d9f6cd1698fb225ac3a9dcc2747ad57cdb588",
      "after_sha256": "2e05c78ed1707bd87750c34c5f8d9d123fc0ef237043851699367f9a6d85a441",
      "rows": 2067,
      "changes": [
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/copy_menu"
          },
          "fields": [
            "coverage_gate",
            "evidence",
            "response_parity",
            "success_case"
          ],
          "before_row_sha256": "81c03967bca53430f67527e699a11d18b5c1334d7cfbf7b260c54a42aa8a08b5",
          "after_row_sha256": "1d5c5c01725c7e3c2770e9f67fe35b47da1d3a55dfdbbe375b5365582dea10e5"
        },
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/weekCopyCommit"
          },
          "fields": [
            "boundary_empty_min_max",
            "coverage_gate",
            "evidence",
            "response_parity",
            "success_case"
          ],
          "before_row_sha256": "71935f9cab133f03e1163fd19a0b7d330c2eb1a4f34b5b66cfc0feef00af4ae7",
          "after_row_sha256": "02d60a4b0d08a898629e1693eb124cc15b224038f2cf3edeac5b36b450ac895d"
        },
        {
          "key": {
            "repo": "store",
            "method": "POST",
            "path": "/p/bill/weekCopyPreview"
          },
          "fields": [
            "coverage_gate",
            "evidence",
            "response_parity",
            "success_case"
          ],
          "before_row_sha256": "a7f9efda23455d3e8a7b208cd52d046f32ad9de2478b30eb75eb62c1ee8a0c16",
          "after_row_sha256": "e356ea425bea7214a5d5fac4267941146240a6e0e64559253034e6d75bf540fd"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "*",
            "path": "/store/dishes.Dishes/detail"
          },
          "fields": [
            "coverage_gate",
            "evidence",
            "response_parity",
            "success_case"
          ],
          "before_row_sha256": "a02509d153cf7289ebbf4e3512ff0fb2f14620fa426872ea48a76d395d60a36f",
          "after_row_sha256": "9fdf8d1601da3f14cecb930c86473fac5e57953fbe5bde68be33fec0564dc7f2"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "POST",
            "path": "/store/dishes.Dishes/add"
          },
          "fields": [
            "coverage_gate",
            "db_scope",
            "evidence",
            "request_types",
            "response_parity",
            "risk",
            "success_case"
          ],
          "before_row_sha256": "66e73c4e5f9a082bf3fa55d92db7ab42c52b676c7ac5c4189cff13fe63d8f3f9",
          "after_row_sha256": "bedabf35a06cdfb2f2ed348937848e2213a6f815949fd26d8420dc76c0f6e687"
        },
        {
          "key": {
            "repo": "ai_api",
            "method": "POST",
            "path": "/store/dishes.Dishes/edit"
          },
          "fields": [
            "coverage_gate",
            "db_scope",
            "dm_input_and_readback",
            "evidence",
            "mysql_input_and_readback",
            "request_types",
            "response_parity",
            "risk",
            "success_case"
          ],
          "before_row_sha256": "fa7ca1e529137d1c06b3acbed9d0d30fc63b35a8f479a540069ab74579ffcce6",
          "after_row_sha256": "3e86f2ad8dc1a196499e66fcbe664d2138eda926b0631f68217d06a26ffe58a2"
        }
      ]
    }
  },
  "original_control_commit": "bb8edee406dec1c8f89b3f2accdd5d007e68fcea",
  "meaning": "6 historical scene supplements only; old edit limited branch upgraded to dual-business-partial based on signed3721; no new HTTP SQL fixture or keys; not rollback proof"
}
