{
  "counts": {
    "exact_ast_node_lineage": 5,
    "no_baseline_oversized_member": 1,
    "no_exact_ast_node_lineage": 9,
    "same_member_oversized_continuity": 7
  },
  "results": [
    {
      "baseline_pure_loc": 21394,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "hermes/gateway/platforms/nutrition_coaching.py",
        "message": "21393 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Exact-address multi-customer coordination beside the personal coach flow.\"\"\""
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 9,
        "line": 145,
        "logical_path": "hermes/gateway/platforms/nutrition_weekly_reminder_resources.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 13,
        "line": 42,
        "logical_path": "hermes/gateway/platforms/nutrition_weekly_reminder_resources.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException as error:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 13,
        "line": 93,
        "logical_path": "hermes/gateway/platforms/nutrition_weekly_reminder_resources.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException as error:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 13,
        "line": 164,
        "logical_path": "hermes/gateway/platforms/nutrition_weekly_reminder_resources.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_pure_loc": 13892,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "hermes/gateway/platforms/telegram.py",
        "message": "13888 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\""
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 5,
        "line": 60,
        "logical_path": "hermes/gateway/platforms/telegram_edit_transport.py",
        "message": "`except Exception` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except Exception as error:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 9,
        "line": 74,
        "logical_path": "hermes/gateway/platforms/telegram_weekly_host_capabilities.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 9,
        "line": 86,
        "logical_path": "hermes/gateway/platforms/telegram_weekly_host_capabilities.py",
        "message": "`except BaseException` is too broad \u2014 catch the specific exception you expect",
        "rule": "broad-except",
        "source_line": "except BaseException:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_pure_loc": 739,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/customer_reporting.py",
        "message": "649 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Deterministic customer-scoped period reporting.\"\"\""
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_pure_loc": 1926,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/customer_schedule.py",
        "message": "1884 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Deterministic KST schedule projection and crash-safe delivery reservations.\"\"\""
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_pure_loc": 819,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/diagnostic_evidence.py",
        "message": "821 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "from __future__ import annotations"
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_pure_loc": 938,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/models.py",
        "message": "864 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Canonical profile-contract models and internal derived-view values.\"\"\""
      },
      "method": "same_member_oversized_continuity"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 5,
        "line": 65,
        "logical_path": "profile/checkin_cli/weekly_operations_wizard_host_branch_r4.py",
        "message": "match without `case _: assert_never(x)` default",
        "rule": "missing-assert-never",
        "source_line": "match trainer_session:"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_pure_loc": null,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/weekly_reminder_ledger_authority.py",
        "message": "254 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Registered-canonical descriptor authority for the schedule reminder ledger.\"\"\""
      },
      "method": "no_baseline_oversized_member"
    },
    {
      "baseline_matches": [],
      "finding": {
        "column": 5,
        "line": 277,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "match without `case _: assert_never(x)` default",
        "rule": "missing-assert-never",
        "source_line": "match WizardFlow(flow):"
      },
      "method": "no_exact_ast_node_lineage"
    },
    {
      "baseline_matches": [
        {
          "line": 558,
          "logical_path": "profile/checkin_cli/wizard.py",
          "source_node_type": "Raise"
        }
      ],
      "finding": {
        "column": 13,
        "line": 461,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "`raise TypeError(\"...\")` - define a typed error class instead",
        "rule": "generic-exception",
        "source_line": "raise TypeError(\"registered WizardService requires CustomerRuntime\")"
      },
      "method": "exact_ast_node_lineage"
    },
    {
      "baseline_matches": [
        {
          "line": 535,
          "logical_path": "profile/checkin_cli/wizard.py",
          "source_node_type": "Raise"
        }
      ],
      "finding": {
        "column": 17,
        "line": 406,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "`raise ValueError(\"...\")` - define a typed error class instead",
        "rule": "generic-exception",
        "source_line": "raise ValueError(\"standalone WizardService cannot carry a registered binding\")"
      },
      "method": "exact_ast_node_lineage"
    },
    {
      "baseline_matches": [
        {
          "line": 539,
          "logical_path": "profile/checkin_cli/wizard.py",
          "source_node_type": "Raise"
        }
      ],
      "finding": {
        "column": 17,
        "line": 410,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "`raise ValueError(\"...\")` - define a typed error class instead",
        "rule": "generic-exception",
        "source_line": "raise ValueError(\"registered WizardService requires a sealed binding\")"
      },
      "method": "exact_ast_node_lineage"
    },
    {
      "baseline_matches": [
        {
          "line": 1017,
          "logical_path": "profile/checkin_cli/wizard.py",
          "source_node_type": "Raise"
        }
      ],
      "finding": {
        "column": 17,
        "line": 983,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "`raise ValueError(\"...\")` - define a typed error class instead",
        "rule": "generic-exception",
        "source_line": "raise ValueError(f\"unsupported wizard flow: {session.flow}\")"
      },
      "method": "exact_ast_node_lineage"
    },
    {
      "baseline_matches": [
        {
          "line": 1012,
          "logical_path": "profile/checkin_cli/wizard.py",
          "source_node_type": "If"
        }
      ],
      "finding": {
        "column": 13,
        "line": 978,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "isinstance/enum if/elif chain \u2014 use match/case + assert_never",
        "rule": "if-elif-on-variant",
        "source_line": "elif session.flow is WizardFlow.NUTRITION:"
      },
      "method": "exact_ast_node_lineage"
    },
    {
      "baseline_pure_loc": 1220,
      "finding": {
        "column": 1,
        "line": 1,
        "logical_path": "profile/checkin_cli/wizard.py",
        "message": "1205 pure LOC (limit: 250) \u2014 split by responsibility",
        "rule": "oversized-module",
        "source_line": "\"\"\"Owner/topic-bound personal and customer check-in wizard domain.\"\"\""
      },
      "method": "same_member_oversized_continuity"
    }
  ],
  "schema": "task12-independent-no-excuse-ast-lineage-v1"
}
