{
  "scope": "sampled business paths only; all coverage gates remain open",
  "method_resolution": [
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/add",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/admin/store.Equipment/add",
        "module": "admin-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:21;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/getCode",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/admin/store.Equipment/getCode",
        "module": "admin-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:46;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/delete",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/admin/store.Equipment/delete",
        "module": "admin-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:53;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/edit",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/admin/store.Equipment/edit",
        "module": "admin-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:62;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/api/Plate/bindByScan",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/api/Plate/bindByScan",
        "module": "api-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/api/controller/Plate.php:23;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLoginQrURL",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/api/yingjiduo.Auth/userLoginQrURL",
        "module": "api-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:14;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/qrConfirm",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/api/yingjiduo.Auth/qrConfirm",
        "module": "api-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:45;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLoginResult",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/api/yingjiduo.Auth/userLoginResult",
        "module": "api-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:97;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLogout",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/api/yingjiduo.Auth/userLogout",
        "module": "api-源码候选",
        "risk": "unclassified",
        "source": "controller-action-source",
        "db_access_review": "unreviewed",
        "mysql_http_or_command": "not-tested",
        "dm_http_or_command": "not-tested",
        "database_readback": "not-tested",
        "external_stub": "not-tested",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:147;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/add",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/admin/store.Equipment/add",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "admin-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:21;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/getCode",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/admin/store.Equipment/getCode",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "admin-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:46;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/delete",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/admin/store.Equipment/delete",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "admin-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:53;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/admin/store.Equipment/edit",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/admin/store.Equipment/edit",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "admin-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/admin/controller/store/Equipment.php:62;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/api/Plate/bindByScan",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/api/Plate/bindByScan",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "api-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/api/controller/Plate.php:23;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLoginQrURL",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/api/yingjiduo.Auth/userLoginQrURL",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "api-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:14;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/qrConfirm",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/api/yingjiduo.Auth/qrConfirm",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "api-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:45;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLoginResult",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/api/yingjiduo.Auth/userLoginResult",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "api-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:97;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    },
    {
      "file": "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv",
      "repo": "ai_api",
      "path": "/api/yingjiduo.Auth/userLogout",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/api/yingjiduo.Auth/userLogout",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "api-源码候选",
        "role": "unknown",
        "risk": "unclassified",
        "reachability": "unreviewed",
        "db_scope": "unreviewed",
        "request_types": "unreviewed",
        "required_params": "unreviewed",
        "baseline_response_codes": "unreviewed",
        "success_case": "not-tested",
        "auth_failure": "not-tested",
        "permission_isolation": "not-tested",
        "missing_required": "not-tested",
        "invalid_type": "not-tested",
        "boundary_empty_min_max": "not-tested",
        "duplicate_retry": "not-tested",
        "downstream_failure": "not-tested",
        "mysql_input_and_readback": "not-tested",
        "dm_input_and_readback": "not-tested",
        "response_parity": "not-compared",
        "applicable_dialect_cases": "D01;D04;D07;D09;D12;D13",
        "performance": "not-assessed",
        "fixture": "not-recorded",
        "cleanup": "not-recorded",
        "coverage_gate": "open",
        "evidence": "zhctproject/ai_api/app/api/controller/yingjiduo/Auth.php:147;unverified-default-dispatch"
      },
      "meaning": "Previously unspecified source candidate; only this HTTP method observed. Other verbs not claimed."
    }
  ],
  "ownership_resolution": [],
  "case_alias_resolution": [],
  "runtime_key_registration": [],
  "files": {
    "work/2026-09-28-smart-canteen-dm8-poc/http-cron-coverage-matrix.csv": {
      "before_sha256": "e8a07138ba249e2f0a895e4cd2541bf80cf311cbd0a89e93d1c2e345ad7c062a",
      "after_sha256": "2c9064c1cf58d996f76da70643076ca316b21b27f6ab3678b567149adf5820db",
      "rows": 2138,
      "matched_targets": 15
    },
    "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv": {
      "before_sha256": "23c3ab375b4448edfa91d743a75b688a1c3ad5b2088c58270f1143773caf08b9",
      "after_sha256": "36547f0e786ccb358939a5cdd6c18142bdab8860ab90b7098f627456418958ae",
      "rows": 2063,
      "matched_targets": 15
    }
  },
  "target_count": 15
}
