{
  "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": "/terminal/analysis.Analysis/daily",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/terminal/analysis.Analysis/daily",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/Analysis.php:19;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": "/terminal/analysis.Analysis/score",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/terminal/analysis.Analysis/score",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/Analysis.php:111;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": "/terminal/analysis.WeekNew/weekNew",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/terminal/analysis.WeekNew/weekNew",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/WeekNew.php:18;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": "/terminal/recommend.Recommend/infos",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/terminal/recommend.Recommend/infos",
        "module": "terminal-源码候选",
        "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/terminal/controller/recommend/Recommend.php:20;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": "/terminal/recommend.Recommend/getStaffDishesInfo",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "kind": "http",
        "repo": "ai_api",
        "method": "*",
        "route_or_command": "/terminal/recommend.Recommend/getStaffDishesInfo",
        "module": "terminal-源码候选",
        "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/terminal/controller/recommend/Recommend.php:28;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": "/terminal/analysis.Analysis/daily",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/terminal/analysis.Analysis/daily",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/Analysis.php:19;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": "/terminal/analysis.Analysis/score",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/terminal/analysis.Analysis/score",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/Analysis.php:111;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": "/terminal/analysis.WeekNew/weekNew",
      "old_method": "*",
      "observed_method": "POST",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/terminal/analysis.WeekNew/weekNew",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "terminal-源码候选",
        "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/terminal/controller/analysis/WeekNew.php:18;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": "/terminal/recommend.Recommend/infos",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/terminal/recommend.Recommend/infos",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "terminal-源码候选",
        "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/terminal/controller/recommend/Recommend.php:20;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": "/terminal/recommend.Recommend/getStaffDishesInfo",
      "old_method": "*",
      "observed_method": "GET",
      "old_row": {
        "repo": "ai_api",
        "method": "*",
        "path": "/terminal/recommend.Recommend/getStaffDishesInfo",
        "source": "controller-action-source",
        "delivery_scope": "candidate-unreviewed",
        "terminal": "unknown",
        "module": "terminal-源码候选",
        "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/terminal/controller/recommend/Recommend.php:28;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": "5ec841c75683a00a59b2c1998fc73d1bae42c02ac884e733cfbefa356a4c3328",
      "after_sha256": "93f362d1e42320280f25154d025c16a6273e4118799f091714e84d7340015593",
      "rows": 2133,
      "matched_targets": 5
    },
    "work_store/apifox/2026-09-30-dm8-interface-acceptance/derived/interface-contract-matrix.csv": {
      "before_sha256": "5a9b4536b51ed1b39ddfdbbd55f6afa3c8d2d0c16861761b57579f6a6e9ea029",
      "after_sha256": "5bf2a9e20ab2721d024cf6ba44bff509bc730508e8c50d7004bc9dc5d1ffa0b4",
      "rows": 2058,
      "matched_targets": 5
    }
  },
  "target_count": 5
}
