{
 "cells": [
  {
   "cell_type": "markdown",
   "source": [
    "# MIT-BIH 小样本实验自动执行入口\n",
    "\n",
    "该 Notebook 只调用已测试的新实验模块，不复制算法。输入限于本 Goal 已完成 SHA-256 核验的 100、105、118、119 记录。主指标覆盖完整记录。\n",
    "\n",
    "本项目仅供教学、实验和辅助分析，不可替代医生诊断。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "from pathlib import Path\n",
    "import sys\n",
    "\n",
    "START = Path.cwd().resolve()\n",
    "ROOT = next(path for path in (START, *START.parents) if (path / 'experiments/mitbih-small-sample').exists())\n",
    "EXP_ROOT = ROOT / 'experiments/mitbih-small-sample'\n",
    "sys.path.insert(0, str(EXP_ROOT / 'src'))\n",
    "print('Repository root:', ROOT)\n",
    "print('Experiment root:', EXP_ROOT)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "from run_build import setup_logger, run_experiment\n",
    "\n",
    "logger, notebook_log = setup_logger()\n",
    "result = run_experiment(logger)\n",
    "print('Notebook log:', notebook_log)\n",
    "result['summary']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "outputs": [],
   "source": [
    "required = [\n",
    "    EXP_ROOT / 'outputs/csv/per_record_metrics.csv',\n",
    "    EXP_ROOT / 'outputs/csv/summary_metrics.csv',\n",
    "    EXP_ROOT / 'outputs/csv/match_ledger.csv',\n",
    "] + [EXP_ROOT / f'outputs/figures/overview_{record}.png' for record in ('100','105','118','119')]\n",
    "missing = [str(path) for path in required if not path.exists()]\n",
    "assert not missing, missing\n",
    "print('PASS: all required Notebook-verified outputs exist')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
