{
  "meta": {
    "batch": "20260924BASELINEPLAN",
    "suite": "all",
    "execute": false,
    "baseUrl": ""
  },
  "results": [
    {
      "operation": "GET /",
      "summary": "RootController.index",
      "folder": "公共与系统/Root",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.704Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /api/devices",
      "summary": "IntegrationController.listDevices",
      "folder": "公共与系统/Integration",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /api/devices/discover",
      "summary": "IntegrationController.discover",
      "folder": "公共与系统/Integration",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /api/employees",
      "summary": "IntegrationController.listEmployees",
      "folder": "公共与系统/Integration",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /api/employees/refresh",
      "summary": "IntegrationController.refreshEmployees",
      "folder": "公共与系统/Integration",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /api/integrations/morning-checks/mego",
      "summary": "IntegrationController.megoIngest",
      "folder": "公共与系统/Integration",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /api/morning-checks",
      "summary": "IntegrationController.listMorningChecks",
      "folder": "公共与系统/Integration",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /audit/logs",
      "summary": "Query audit logs (tenant isolated)",
      "folder": "审计日志/Audit",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /audit/logs/{id}",
      "summary": "Get single audit log by id (tenant isolated)",
      "folder": "审计日志/Audit",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /audit/logs/export.csv",
      "summary": "Export audit logs as CSV (tenant isolated)",
      "folder": "审计日志/Audit",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /auth/change-password",
      "summary": "Change current user password",
      "folder": "认证与账号/Auth",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /auth/login",
      "summary": "User login (JWT)",
      "folder": "认证与账号/Auth",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /auth/logout",
      "summary": "User logout (invalidate current token)",
      "folder": "认证与账号/Auth",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /auth/me",
      "summary": "AuthController.me",
      "folder": "认证与账号/Auth",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /auth/refresh",
      "summary": "AuthController.refresh",
      "folder": "认证与账号/Auth",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /auth/zhct-login",
      "summary": "Proxy ZHCT external login and return token",
      "folder": "认证与账号/Auth",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/ai/events",
      "summary": "BrightLocalController.aiEvents",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/ai/events/detail",
      "summary": "BrightLocalController.detail",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/ai/events/export.csv",
      "summary": "Export local AI events (CSV)",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /bright-local/ai/events/handle",
      "summary": "BrightLocalController.handleLocal",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /bright-local/ai/events/handle/batch",
      "summary": "BrightLocalController.handleBatch",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /bright-local/aibox-boxes",
      "summary": "Delete AIBox box",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/aibox-boxes",
      "summary": "List AIBox boxes (id/name)",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /bright-local/aibox-boxes",
      "summary": "Update AIBox box",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /bright-local/aibox-boxes",
      "summary": "Create AIBox box",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/aibox-boxes/full",
      "summary": "List AIBox boxes for management",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "DELETE /bright-local/channels",
      "summary": "BrightLocalController.remove",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/channels",
      "summary": "BrightLocalController.list",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /bright-local/channels",
      "summary": "BrightLocalController.update",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /bright-local/channels",
      "summary": "BrightLocalController.create",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/playback",
      "summary": "BrightLocalController.playback",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /bright-local/refresh",
      "summary": "BrightLocalController.refresh",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/strangers",
      "summary": "List local strangers (paged)",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright-local/strangers/export.csv",
      "summary": "Export local strangers (CSV)",
      "folder": "明厨亮灶/Bright Kitchen - Local",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/channels",
      "summary": "BrightController.channels",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/reg/cameras",
      "summary": "BrightController.regCameras",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/reg/download",
      "summary": "BrightController.regDownload",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/reg/playback",
      "summary": "BrightController.playback",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/reg/snapshots",
      "summary": "BrightController.listSnaps",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /bright/reg/snapshots",
      "summary": "BrightController.createSnap",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/cameras",
      "summary": "BrightController.schoolCameras",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/download",
      "summary": "BrightController.schoolDownload",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/playback",
      "summary": "BrightController.schoolPlayback",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/snapshots",
      "summary": "BrightController.schoolSnaps",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /bright/school/snapshots",
      "summary": "BrightController.createSchoolSnap",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/trustivs-camera-options",
      "summary": "BrightController.schoolTrustivsCameraOptions",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/school/trustivs-cameras",
      "summary": "BrightController.schoolTrustivsCameras",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /bright/start/{schoolId}/{cameraId}",
      "summary": "BrightController.start",
      "folder": "明厨亮灶/Bright Kitchen",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /cabinet/findDeviceInfo",
      "summary": "设备心跳",
      "folder": "AI盒子与设备开放接口/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /common/empowerOSSAccess",
      "summary": "上传留样图片-OSS 授权",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /common/file/upload",
      "summary": "上传留样图片-服务器",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /common/upload",
      "summary": "图片保存接口",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /control/upload/data/uploadData",
      "summary": "设备数据上报（表单：KEY=JSON）",
      "folder": "公共与系统/DeviceUpload",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /device/morningChecker/employeeList",
      "summary": "DeviceController.employeeList",
      "folder": "公共与系统/Device",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /device/morningChecker/heartBeatInfo",
      "summary": "DeviceMockController.heartBeat",
      "folder": "公共与系统/Device",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /deviceIot/deviceLogin",
      "summary": "得沃晨检机设备登录",
      "folder": "AI盒子与设备开放接口/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /deviceIot/getDeviceIdBySerialNumber",
      "summary": "获取 MQTT 服务地址",
      "folder": "AI盒子与设备开放接口/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /deviceIot/serials",
      "summary": "列出已注册的设备序列号（device_iot_configs.serial_number）",
      "folder": "AI盒子与设备开放接口/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /dewo/mqtt/person",
      "summary": "MQTT 下发人员指令",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /files/upload",
      "summary": "Upload image (dataURL/base64/plain), returns view URL",
      "folder": "文件服务/Files",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /files/view/{name}",
      "summary": "FilesController.view",
      "folder": "文件服务/Files",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/beepStatus",
      "summary": "AiboxAet6ControlController.beepStatus",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/getAllConfig",
      "summary": "AiboxAet6ControlController.getAllConfig",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/ledStatus",
      "summary": "AiboxAet6ControlController.ledStatus",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/pwrStatus",
      "summary": "AiboxAet6ControlController.pwrStatus",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/reboot",
      "summary": "AiboxAet6ControlController.reboot",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setBeep",
      "summary": "AiboxAet6ControlController.setBeep",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setBitStream",
      "summary": "AiboxAet6ControlController.setBitStream",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setEncodeMode",
      "summary": "AiboxAet6ControlController.setEncodeMode",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setFrames",
      "summary": "AiboxAet6ControlController.setFrames",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setled",
      "summary": "AiboxAet6ControlController.setLed",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setPixel",
      "summary": "AiboxAet6ControlController.setPixel",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setPwr",
      "summary": "AiboxAet6ControlController.setPwr",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/aet6control/setUsbCamera",
      "summary": "AiboxAet6ControlController.setUsbCamera",
      "folder": "AI盒子与设备开放接口/AiboxAet6Control",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/AnalysisType/getAnalysistypes",
      "summary": "AiboxAnalysisTypeController.getAnalysistypes",
      "folder": "AI盒子与设备开放接口/AiboxAnalysisType",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/AnalysisType/setAnalysistypesStatus",
      "summary": "AiboxAnalysisTypeController.setAnalysistypesStatus",
      "folder": "AI盒子与设备开放接口/AiboxAnalysisType",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autoinfo/add",
      "summary": "AiboxVehicleInfoController.add",
      "folder": "AI盒子与设备开放接口/AiboxVehicleInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/autoinfo/delete",
      "summary": "AiboxVehicleInfoController.delete",
      "folder": "AI盒子与设备开放接口/AiboxVehicleInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autoinfo/get",
      "summary": "AiboxVehicleInfoController.get",
      "folder": "AI盒子与设备开放接口/AiboxVehicleInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autoinfo/update",
      "summary": "AiboxVehicleInfoController.update",
      "folder": "AI盒子与设备开放接口/AiboxVehicleInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/autolib/delete",
      "summary": "AiboxVehicleLibController.delete",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/autolib/disable",
      "summary": "AiboxVehicleLibController.disable",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/autolib/enable",
      "summary": "AiboxVehicleLibController.enable",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autolib/get",
      "summary": "AiboxVehicleLibController.get",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autolib/save",
      "summary": "AiboxVehicleLibController.save",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autolib/update",
      "summary": "AiboxVehicleLibController.update",
      "folder": "AI盒子与设备开放接口/AiboxVehicleLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/autorecord/get",
      "summary": "AiboxPlateRecordController.get",
      "folder": "AI盒子与设备开放接口/AiboxPlateRecord",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/channel/getChannels",
      "summary": "AiboxChannelController.getChannels",
      "folder": "AI盒子与设备开放接口/AiboxChannel",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/channel/updateChannelStatus",
      "summary": "AiboxChannelController.updateChannelStatus",
      "folder": "AI盒子与设备开放接口/AiboxChannel",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/faceinfo/delete",
      "summary": "AiboxFaceInfoController.delete",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/get",
      "summary": "AiboxFaceInfoController.get",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/getFeature",
      "summary": "AiboxFaceInfoController.getFeature",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/getPeopleByID",
      "summary": "AiboxFaceInfoController.getPeopleByID",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/getPeopleByValue",
      "summary": "AiboxFaceInfoController.getPeopleByValue",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/getPeopleScore",
      "summary": "AiboxFaceInfoController.getPeopleScore",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/save",
      "summary": "AiboxFaceInfoController.save",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/update",
      "summary": "AiboxFaceInfoController.update",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/faceinfo/videoAnalysis/getPeopleFromVideo",
      "summary": "AiboxFaceInfoController.getPeopleFromVideo",
      "folder": "AI盒子与设备开放接口/AiboxFaceInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/facelib/delete",
      "summary": "AiboxFaceLibController.delete",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/disable",
      "summary": "AiboxFaceLibController.disable",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/enable",
      "summary": "AiboxFaceLibController.enable",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/get",
      "summary": "AiboxFaceLibController.get",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/getFeature",
      "summary": "AiboxFaceLibController.getFeature",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/save",
      "summary": "AiboxFaceLibController.save",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/facelib/update",
      "summary": "AiboxFaceLibController.update",
      "folder": "AI盒子与设备开放接口/AiboxFaceLib",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /gateway/openApi/setLocalTime",
      "summary": "AiboxSystemController.setLocalTime",
      "folder": "AI盒子与设备开放接口/AiboxSystem",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/token/getThirdPlatToken",
      "summary": "AiboxAuthController.getThirdPlatToken",
      "folder": "AI盒子与设备开放接口/AiboxAuth",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/videoSheet/deleteOpenApi",
      "summary": "AiboxVideoSheetController.deleteOpenApi",
      "folder": "AI盒子与设备开放接口/AiboxVideoSheet",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gateway/openApi/videoSheet/saveOrUpdateOpenApi",
      "summary": "AiboxVideoSheetController.saveOrUpdate",
      "folder": "AI盒子与设备开放接口/AiboxVideoSheet",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /gatewayGBS/openApi/getAIRecordByCompany",
      "summary": "TrustivsAIController.getAIRecordByCompany",
      "folder": "公共与系统/TrustIVS AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /gatewayGBS/openApi/getBackUrl",
      "summary": "TrustivsPlaybackController.getBackUrl",
      "folder": "公共与系统/TrustIVS Playback",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /gatewayGBS/openApi/getCameraByCompany",
      "summary": "按公司获取摄像头（内部POST优先，含405回退）",
      "folder": "公共与系统/TrustIVS.Camera",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /gatewayGBS/openApi/getChannelByDevice",
      "summary": "TrustivsListController.getChannelByDevice",
      "folder": "公共与系统/TrustIVS List",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /gatewayGBS/openApi/getCompanyList",
      "summary": "TrustivsListController.getCompanyList",
      "folder": "公共与系统/TrustIVS List",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /gatewayGBS/openApi/getDeviceListByCompany",
      "summary": "TrustivsListController.getDeviceListByCompany",
      "folder": "公共与系统/TrustIVS List",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /gatewayGBS/openApi/getDownloadUrl",
      "summary": "TrustivsPlaybackController.getDownloadUrl",
      "folder": "公共与系统/TrustIVS Playback",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /gatewayGBS/openApi/getSnap",
      "summary": "TrustivsStreamController.getSnap",
      "folder": "公共与系统/TrustIVS Stream",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /gatewayGBS/openApi/getStreamURL",
      "summary": "TrustivsStreamController.getStreamURL",
      "folder": "公共与系统/TrustIVS Stream",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /health",
      "summary": "HealthController.ping",
      "folder": "公共与系统/Health",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /health/db",
      "summary": "DbHealthController.health",
      "folder": "公共与系统/DB",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /health/routes",
      "summary": "RoutesController.list",
      "folder": "公共与系统/Routes",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /home/devices",
      "summary": "HomeController.devices",
      "folder": "公共与系统/Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /home/hygiene",
      "summary": "HomeController.hygiene",
      "folder": "公共与系统/Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /home/inbound",
      "summary": "HomeController.inbound",
      "folder": "公共与系统/Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /home/outbound",
      "summary": "HomeController.outbound",
      "folder": "公共与系统/Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /home/parent-feedback",
      "summary": "HomeController.parentFeedback",
      "folder": "公共与系统/Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /inspectionRecord/getLastRecord",
      "summary": "得沃晨检机查询当天最近晨检记录",
      "folder": "公共与系统/Dewo-Liuyangcheng",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /iot/cameras",
      "summary": "IotController.cameras",
      "folder": "物联网设备/IoT",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /iot/streams/back",
      "summary": "IotController.back",
      "folder": "物联网设备/IoT",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /iot/streams/download",
      "summary": "IotController.download",
      "folder": "物联网设备/IoT",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /iot/streams/play",
      "summary": "IotController.play",
      "folder": "物联网设备/IoT",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /iot/streams/snapshot",
      "summary": "IotController.snapshot",
      "folder": "物联网设备/IoT",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/aisleInfo/reportAisleInfos",
      "summary": "AiboxPushController.reportAisleInfos",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/checkRecord/reportCheckRecords",
      "summary": "CheckRecordController.reportCheckRecords",
      "folder": "AI盒子与设备开放接口/CheckRecord",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/checkRecord/reportVideo",
      "summary": "AiboxPushController.reportVideo",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/custStatisticRecord/reportCustStatisticRecords",
      "summary": "AiboxPushController.reportCustStatisticRecords",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/faceRecord/reportFaceRecords",
      "summary": "AiboxPushController.reportFaceRecords",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/humCheckRecord/reportHumCheckRecord",
      "summary": "AiboxPushController.reportHumCheckRecord",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/info/getAlgAnalysisDetail",
      "summary": "AiboxInfoController.getAlgAnalysisDetail",
      "folder": "AI盒子与设备开放接口/AiboxInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/info/getParamList",
      "summary": "AiboxInfoController.getParamList",
      "folder": "AI盒子与设备开放接口/AiboxInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/info/getServerConfig",
      "summary": "AiboxInfoController.getServerConfig",
      "folder": "AI盒子与设备开放接口/AiboxInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/info/getServerInfo",
      "summary": "AiboxInfoController.getServerInfo",
      "folder": "AI盒子与设备开放接口/AiboxInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/info/getStream0Config",
      "summary": "AiboxInfoController.getStream0Config",
      "folder": "AI盒子与设备开放接口/AiboxInfo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/sendAIRecordByCompany",
      "summary": "TrustivsAIController.sendAIRecordByCompany",
      "folder": "AI盒子与设备开放接口/TrustIVS AI",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /openApi/strangerRecord/reportStrangerRecords",
      "summary": "AiboxPushController.reportStrangerRecords",
      "folder": "AI盒子与设备开放接口/AiboxPush",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getChannelStream",
      "summary": "AiboxVideoController.getChannelStream",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getRecordLiveUrlBySDK",
      "summary": "AiboxVideoController.getRecordLiveUrlBySDK",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getSDKFileProgress",
      "summary": "AiboxVideoController.getSDKFileProgress",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getSDKRecordList",
      "summary": "AiboxVideoController.getSDKRecordList",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getSnapByChannel",
      "summary": "AiboxVideoController.getSnapByChannel",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getViewRecordAddress",
      "summary": "AiboxVideoController.getViewRecordAddress",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getViewRecordAddressBySDK",
      "summary": "AiboxVideoController.getViewRecordAddressBySDK",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/getViewRecordDay",
      "summary": "AiboxVideoController.getViewRecordDay",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/setChannelConfig",
      "summary": "AiboxVideoController.setChannelConfig",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /openApi/view/stopRecordBySDK",
      "summary": "AiboxVideoController.stopRecordBySDK",
      "folder": "AI盒子与设备开放接口/AiboxVideo",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /public/feedback",
      "summary": "PublicFeedbackController.create",
      "folder": "公共与系统/Public Feedback",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /push/deleteList",
      "summary": "删除记录同步",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/detailList",
      "summary": "留样记录同步接口",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/foodInfo",
      "summary": "菜品新增、删除、修改",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /push/foodList",
      "summary": "查询菜品列表（用于前端选择）",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/foodList",
      "summary": "菜品同步接口",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/foodPlanList",
      "summary": "配餐同步接口",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /push/hello",
      "summary": "连通测试（GET 别名）",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/hello",
      "summary": "连通测试",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /push/mealTypeList",
      "summary": "查询餐别列表",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/mealTypeList",
      "summary": "餐别同步接口",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/operateLogList",
      "summary": "操作日志同步",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/operateUserList",
      "summary": "操作员同步接口",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/preFoodInfo",
      "summary": "配餐新增、删除、修改",
      "folder": "第三方设备数据接入/Sammei",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/ws/foodInfo",
      "summary": "通过 WebSocket 下发 foodInfo（外部系统 -> 设备）",
      "folder": "第三方设备数据接入/PushWS",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /push/ws/online",
      "summary": "查询设备在线状态（无 deviceId 返回在线列表）",
      "folder": "第三方设备数据接入/PushWS",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /push/ws/preFoodInfo",
      "summary": "通过 WebSocket 下发 preFoodInfo（外部系统 -> 设备）",
      "folder": "第三方设备数据接入/PushWS",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/ai/broadcast",
      "summary": "AIController.broadcast",
      "folder": "监管端/AI",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/broadcast/logs",
      "summary": "AIController.bcList",
      "folder": "监管端/AI",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/events",
      "summary": "AIController.regEvents",
      "folder": "监管端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/events/export.csv",
      "summary": "AIController.regEventsExport",
      "folder": "监管端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/ai/events/ingest",
      "summary": "AIController.ingest",
      "folder": "监管端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/methods",
      "summary": "AIController.methods",
      "folder": "监管端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/schools",
      "summary": "AIController.aiSchools",
      "folder": "监管端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ai/tasks",
      "summary": "AIController.regTasks",
      "folder": "监管端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/ai/tasks",
      "summary": "AIController.createTask",
      "folder": "监管端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/ai/tasks/{id}",
      "summary": "AIController.updateTask",
      "folder": "监管端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/ai/tasks/{id}/status",
      "summary": "AIController.setTaskStatus",
      "folder": "监管端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/alerts/config",
      "summary": "RegAlertsController.getConfig",
      "folder": "监管端/Regulator Alerts",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/alerts/config",
      "summary": "RegAlertsController.setConfig",
      "folder": "监管端/Regulator Alerts",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/alerts/events",
      "summary": "RegAlertsController.events",
      "folder": "监管端/Regulator Alerts",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/alerts/events/export.csv",
      "summary": "RegAlertsController.exportCsv",
      "folder": "监管端/Regulator Alerts",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/alerts/notify",
      "summary": "RegAlertsController.notify",
      "folder": "监管端/Regulator Alerts",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/alerts/notify-rectify",
      "summary": "SchoolMessagesController.regNotifyRectify",
      "folder": "监管端/School Messages",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/alerts/stream",
      "summary": "RegAlertsController.stream",
      "folder": "监管端/Regulator Alerts",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/alerts/summary",
      "summary": "RegAlertsController.summary",
      "folder": "监管端/Regulator Alerts",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/canteens",
      "summary": "RegCredentialsController.canteens",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/exceptions",
      "summary": "RegCredentialsController.exceptions",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/credentials/exceptions/measure",
      "summary": "RegCredentialsController.setMeasure",
      "folder": "监管端/Regulator Credentials",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/export.csv",
      "summary": "RegCredentialsController.exportCsv",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/overview",
      "summary": "RegCredentialsController.overview",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/suppliers",
      "summary": "RegCredentialsController.suppliers",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/credentials/workers",
      "summary": "RegCredentialsController.workers",
      "folder": "监管端/Regulator Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/food-waste/ranking",
      "summary": "Food-waste school ranking",
      "folder": "监管端/FoodWaste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/food-waste/trend",
      "summary": "Food-waste trend by period",
      "folder": "监管端/FoodWaste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/inspections/config",
      "summary": "RegInspectionsController.getConfig",
      "folder": "监管端/Regulator Inspections",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/items",
      "summary": "RegInspectionsController.addItem",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/items/remove",
      "summary": "RegInspectionsController.removeItem",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/penalties",
      "summary": "RegInspectionsController.addPenalty",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/penalties/remove",
      "summary": "RegInspectionsController.removePenalty",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/publications",
      "summary": "RegInspectionsController.addPublication",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/config/publications/remove",
      "summary": "RegInspectionsController.removePublication",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/inspections/inspectors",
      "summary": "List inspectors",
      "folder": "监管端/Regulator Inspections",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/inspectors",
      "summary": "RegInspectionsController.createInspector",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/inspections/inspectors/{id}",
      "summary": "RegInspectionsController.updateInspector",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/inspectors/{id}/delete",
      "summary": "RegInspectionsController.deleteInspector",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/inspections/tasks",
      "summary": "RegInspectionsController.listTasks",
      "folder": "监管端/Regulator Inspections",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks",
      "summary": "RegInspectionsController.createTask",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/inspections/tasks/{id}",
      "summary": "Get task detail",
      "folder": "监管端/Regulator Inspections",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/inspections/tasks/{id}",
      "summary": "RegInspectionsController.updateTask",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks/{id}/submit",
      "summary": "RegInspectionsController.submit",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks/bulk",
      "summary": "RegInspectionsController.createTasksBulk",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks/clear",
      "summary": "Clear all inspection tasks",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks/clear-mem",
      "summary": "Clear in-memory tasks only (keep DB data)",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/inspections/tasks/export.csv",
      "summary": "RegInspectionsController.exportTasksCsv",
      "folder": "监管端/Regulator Inspections",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/inspections/tasks/random",
      "summary": "RegInspectionsController.random",
      "folder": "监管端/Regulator Inspections",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/data-stats",
      "summary": "RegLedgersController.dataStats",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/detail",
      "summary": "RegLedgersController.detail",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/dine",
      "summary": "RegLedgersController.dineList",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/disinfection",
      "summary": "RegLedgersController.disinfectionList",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/pesticide",
      "summary": "RegLedgersController.pesticideList",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/sampling",
      "summary": "RegLedgersController.samplingList",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/search",
      "summary": "RegLedgersController.search",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/stats",
      "summary": "RegLedgersController.stats",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/submit-stats",
      "summary": "RegLedgersController.submitStats",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/ledgers/waste",
      "summary": "RegLedgersController.wasteList",
      "folder": "监管端/RegLedgers",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/overview",
      "summary": "RegOverviewController.overview",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/reports/daily",
      "summary": "ReportsController.daily",
      "folder": "监管端/Reports",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/reports/export",
      "summary": "Export daily report (CSV/PDF)",
      "folder": "监管端/Reports",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools",
      "summary": "RegOverviewController.schools",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.705Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/{id}/cameras",
      "summary": "RegOverviewController.camsAny",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/1/cameras",
      "summary": "RegOverviewController.cams1",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/2/cameras",
      "summary": "RegOverviewController.cams2",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/3/cameras",
      "summary": "RegOverviewController.cams3",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/4/cameras",
      "summary": "RegOverviewController.cams4",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/5/cameras",
      "summary": "RegOverviewController.cams5",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/config",
      "summary": "RegOverviewController.schoolsConfig",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/schools/config",
      "summary": "RegOverviewController.updateSchool",
      "folder": "监管端/RegOverview",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/schools/config",
      "summary": "RegOverviewController.createSchool",
      "folder": "监管端/RegOverview",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/schools/config/delete",
      "summary": "RegOverviewController.deleteSchool",
      "folder": "监管端/RegOverview",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/schools/stats",
      "summary": "RegOverviewController.schoolStats",
      "folder": "监管端/RegOverview",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/info",
      "summary": "RegSystemController.info",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/info",
      "summary": "RegSystemController.saveInfo",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/permissions",
      "summary": "RegSystemController.permissions",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/roles",
      "summary": "RegSystemController.roles",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/system/roles",
      "summary": "RegSystemController.updateRole",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/roles",
      "summary": "RegSystemController.createRole",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/roles/delete",
      "summary": "RegSystemController.deleteRole",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/roles/permissions",
      "summary": "RegSystemController.setRolePerms",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/settings",
      "summary": "RegSettingsController.get",
      "folder": "监管端/Regulator Settings",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/settings",
      "summary": "RegSettingsController.save",
      "folder": "监管端/Regulator Settings",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/units",
      "summary": "RegSystemController.listUnits",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/system/units",
      "summary": "RegSystemController.updateUnit",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/units",
      "summary": "RegSystemController.createUnit",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/units/clear",
      "summary": "RegSystemController.clearUnits",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/units/delete",
      "summary": "RegSystemController.deleteUnit",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/users",
      "summary": "RegSystemController.users",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /reg/system/users",
      "summary": "RegSystemController.updateUser",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/users",
      "summary": "RegSystemController.createUser",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/users/delete",
      "summary": "RegSystemController.deleteUser",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reg/system/users/detail",
      "summary": "RegSystemController.userDetail",
      "folder": "监管端/Regulator System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /reg/system/users/roles",
      "summary": "RegSystemController.setUserRoles",
      "folder": "监管端/Regulator System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /regulator/morning-checks",
      "summary": "IntegrationController.listReg",
      "folder": "公共与系统/Integration",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /regulator/morning-checks/push",
      "summary": "IntegrationController.pushReg",
      "folder": "公共与系统/Integration",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /reports/school/daily",
      "summary": "SchoolReportsController.daily",
      "folder": "公共与系统/SchoolReports",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /sakura/instrument/canteen",
      "summary": "获取食堂信息",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sakura/instrument/login",
      "summary": "仪器登录",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sakura/instrument/mealType",
      "summary": "获取餐次信息",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sakura/instrument/samples",
      "summary": "获取留样信息",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sakura/instrument/updateFileImage",
      "summary": "图片分类上传（单图）",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sakura/instrument/updateSamples",
      "summary": "更新留样信息（单条）",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sakura/instrument/user",
      "summary": "获取人员信息",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sakura/menuTemplate/showMenuTemplate",
      "summary": "获取菜谱信息",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sakura/user/login",
      "summary": "留样人员在线登录",
      "folder": "第三方设备数据接入/Sakura",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sample/sample/saveOrUpdateDishSample",
      "summary": "保存/更新留样菜单",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sample/sample/selectBySNCode",
      "summary": "获取菜单数据（直调外部 select/selectAll；带 cookie 与 headers）",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /sample/sample/upload",
      "summary": "样品模块图片上传",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /sampling/operators",
      "summary": "留样人员列表（开放别名，无 /school 前缀）",
      "folder": "公共与系统/SamplingOperators",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/events",
      "summary": "AIController.schoolEvents",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/events/detail",
      "summary": "AIController.schoolEventDetail",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/events/export.csv",
      "summary": "Export AI events list (CSV)",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/ai/events/handle",
      "summary": "AIController.handleSchool",
      "folder": "学校端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/ai/events/mock",
      "summary": "AIController.mockSchoolEvents",
      "folder": "学校端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/ai/events/status",
      "summary": "AIController.setStatus",
      "folder": "学校端/AI",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/events/summary",
      "summary": "Get AI events summary for school",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/events/summary/export.csv",
      "summary": "Export AI events summary (CSV)",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/home/summary/local",
      "summary": "AIController.homeAiSummaryLocal",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/home/summary/network",
      "summary": "AIController.homeAiSummaryNetwork",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/strangers",
      "summary": "AIController.schoolStrangers",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/summary/pie",
      "summary": "AIController.schoolAiSummaryPie",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/ai/types",
      "summary": "AIController.listTypes",
      "folder": "学校端/AI",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/analytics/alerts",
      "summary": "AnalyticsController.alerts",
      "folder": "学校端/Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/analytics/alerts/handle",
      "summary": "AnalyticsController.handleAlert",
      "folder": "学校端/Analytics",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/analytics/dashboard",
      "summary": "AnalyticsController.dashboard",
      "folder": "学校端/Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/analytics/health",
      "summary": "AnalyticsController.health",
      "folder": "学校端/Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/analytics/personnel-health",
      "summary": "AnalyticsController.personnelHealth",
      "folder": "学校端/Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/analytics/stream",
      "summary": "AnalyticsController.stream",
      "folder": "学校端/Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/assets/maintenance",
      "summary": "HygieneController.listAssets",
      "folder": "学校端/Hygiene",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/assets/maintenance",
      "summary": "HygieneController.createAsset",
      "folder": "学校端/Hygiene",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/canteen-detail",
      "summary": "CanteensController.canteenDetail",
      "folder": "学校端/Canteens",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/canteen-detail",
      "summary": "CanteensController.updateCanteenDetail",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/canteen-detail/delete",
      "summary": "CanteensController.deleteCanteenDetail",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/canteen-licenses",
      "summary": "CanteensController.listLicenses",
      "folder": "学校端/Canteens",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/canteen-licenses",
      "summary": "CanteensController.updateLicense",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/canteen-licenses",
      "summary": "CanteensController.createLicense",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/canteen-licenses/delete",
      "summary": "CanteensController.deleteLicense",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/canteens",
      "summary": "CanteensController.listCanteens",
      "folder": "学校端/Canteens",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/canteens",
      "summary": "CanteensController.updateCanteen",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/canteens",
      "summary": "CanteensController.createCanteen",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/canteens/delete",
      "summary": "CanteensController.deleteCanteen",
      "folder": "学校端/Canteens",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/canteens/summary",
      "summary": "CanteensController.listCanteenSummary",
      "folder": "学校端/Canteens",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/cater/categories",
      "summary": "外部菜品分类映射（静态）",
      "folder": "学校端/CaterProxy",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/cater/select",
      "summary": "代理外部接口：仅分页 /p/cater/select（带 cookie 与 headers）",
      "folder": "学校端/CaterProxy",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/certificates",
      "summary": "SchoolCertificatesController.list",
      "folder": "学校端/Certificates",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/certificates",
      "summary": "SchoolCertificatesController.update",
      "folder": "学校端/Certificates",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/certificates",
      "summary": "SchoolCertificatesController.create",
      "folder": "学校端/Certificates",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/certificates/delete",
      "summary": "SchoolCertificatesController.remove",
      "folder": "学校端/Certificates",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/certificates/export.csv",
      "summary": "Export certificates CSV",
      "folder": "学校端/Certificates",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/companion-meals",
      "summary": "CompanionMealController.list",
      "folder": "学校端/Companion Meals",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/companion-meals",
      "summary": "CompanionMealController.create",
      "folder": "学校端/Companion Meals",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/companion-meals/{id}",
      "summary": "CompanionMealController.remove",
      "folder": "学校端/Companion Meals",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/companion-meals/{id}",
      "summary": "CompanionMealController.detail",
      "folder": "学校端/Companion Meals",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/companion-meals/{id}",
      "summary": "CompanionMealController.update",
      "folder": "学校端/Companion Meals",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/credentials/canteens",
      "summary": "CredentialsController.listCanteens",
      "folder": "学校端/Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/credentials/canteens",
      "summary": "CredentialsController.createCanteen",
      "folder": "学校端/Credentials",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/credentials/exceptions",
      "summary": "CredentialsController.listExceptions",
      "folder": "学校端/Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/credentials/exceptions/{id}/measure",
      "summary": "CredentialsController.setMeasure",
      "folder": "学校端/Credentials",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/credentials/stream",
      "summary": "CredentialsController.stream",
      "folder": "学校端/Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/credentials/suppliers",
      "summary": "CredentialsController.listSuppliers",
      "folder": "学校端/Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/credentials/suppliers",
      "summary": "CredentialsController.createSupplier",
      "folder": "学校端/Credentials",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/credentials/workers",
      "summary": "CredentialsController.listWorkers",
      "folder": "学校端/Credentials",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/credentials/workers",
      "summary": "CredentialsController.createWorker",
      "folder": "学校端/Credentials",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/device-iot",
      "summary": "删除设备接入配置",
      "folder": "学校端/DeviceIotConfig",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/device-iot",
      "summary": "设备接入配置列表",
      "folder": "学校端/DeviceIotConfig",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/device-iot",
      "summary": "更新设备接入配置",
      "folder": "学校端/DeviceIotConfig",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/device-iot",
      "summary": "新增设备接入配置",
      "folder": "学校端/DeviceIotConfig",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/device-safety",
      "summary": "DeviceSafetyController.list",
      "folder": "学校端/Device Safety",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/device-safety",
      "summary": "DeviceSafetyController.create",
      "folder": "学校端/Device Safety",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/device-safety/{id}",
      "summary": "DeviceSafetyController.update",
      "folder": "学校端/Device Safety",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/device-safety/detail",
      "summary": "DeviceSafetyController.detail",
      "folder": "学校端/Device Safety",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/devices",
      "summary": "List devices (school scope)",
      "folder": "学校端/Devices",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/devices/statuses",
      "summary": "DevicesController.statuses",
      "folder": "学校端/Devices",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/devices/types",
      "summary": "DevicesController.types",
      "folder": "学校端/Devices",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/dine/camera/callback",
      "summary": "DineController.camera",
      "folder": "学校端/Dine",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /school/dine/meal-options",
      "summary": "DineController.mealOptions",
      "folder": "学校端/Dine",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/dine/meals",
      "summary": "DineController.meals",
      "folder": "学校端/Dine",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/dine/qr/create",
      "summary": "DineController.createQr",
      "folder": "学校端/Dine",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/dine/qr/submit",
      "summary": "DineController.submitQr",
      "folder": "学校端/Dine",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/dine/records",
      "summary": "DineApiAdapterController.list",
      "folder": "学校端/DineApiAdapter",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/dine/records",
      "summary": "DineController.create",
      "folder": "学校端/Dine",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/dine/records/{id}/measure",
      "summary": "DineController.setMeasure",
      "folder": "学校端/Dine",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/dine/stream",
      "summary": "DineApiAdapterController.stream",
      "folder": "学校端/DineApiAdapter",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "POST /school/disinfection/device/callback",
      "summary": "DisinfectionController.device",
      "folder": "学校端/Disinfection",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /school/disinfection/records",
      "summary": "List disinfection records",
      "folder": "学校端/Disinfection",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/disinfection/records",
      "summary": "Create disinfection record",
      "folder": "学校端/Disinfection",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/disinfection/records/{id}",
      "summary": "DisinfectionController.detail",
      "folder": "学校端/Disinfection",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/disinfection/records/{id}/measure",
      "summary": "DisinfectionController.setMeasure",
      "folder": "学校端/Disinfection",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/disinfection/records/import",
      "summary": "DisinfectionController.import",
      "folder": "学校端/Disinfection",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/disinfection/stream",
      "summary": "DisinfectionController.stream",
      "folder": "学校端/Disinfection",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/alerts/raise",
      "summary": "EmergencyController.raise",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/cameras",
      "summary": "EmergencyController.cameras",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/duty",
      "summary": "EmergencyController.duty",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/duty",
      "summary": "EmergencyController.saveDuty",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/duty/export.csv",
      "summary": "EmergencyController.exportDutyCsv",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/events",
      "summary": "EmergencyController.listEvents",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/events/accept",
      "summary": "EmergencyController.accept",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/events/clear",
      "summary": "EmergencyController.clear",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/events/export.csv",
      "summary": "EmergencyController.exportEventsCsv",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/events/start-plan",
      "summary": "EmergencyController.startPlan",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/meetings",
      "summary": "EmergencyController.meetings",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/meetings",
      "summary": "EmergencyController.createMeeting",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/meetings/invite",
      "summary": "EmergencyController.invite",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/emergency/meetings/state",
      "summary": "EmergencyController.setMeetingState",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/notify",
      "summary": "EmergencyController.notify",
      "folder": "学校端/Emergency",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/overview",
      "summary": "EmergencyController.overview",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/plans",
      "summary": "EmergencyController.plans",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/plans",
      "summary": "EmergencyController.createPlan",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/plans/export.csv",
      "summary": "EmergencyController.exportPlansCsv",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/resources",
      "summary": "EmergencyController.resources",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/stream",
      "summary": "EmergencyController.stream",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/tasks",
      "summary": "EmergencyController.tasks",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/emergency/tasks",
      "summary": "EmergencyController.createTask",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/emergency/tasks/export.csv",
      "summary": "EmergencyController.exportTasksCsv",
      "folder": "学校端/Emergency",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/emergency/tasks/status",
      "summary": "EmergencyController.setTaskStatus",
      "folder": "学校端/Emergency",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/foods",
      "summary": "菜品库列表",
      "folder": "学校端/SchoolFoods",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/foods",
      "summary": "新增菜品（并同步设备端）",
      "folder": "学校端/SchoolFoods",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/foods/{id}",
      "summary": "删除菜品（并同步设备端删除）",
      "folder": "学校端/SchoolFoods",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/foods/{id}",
      "summary": "更新菜品（并同步设备端）",
      "folder": "学校端/SchoolFoods",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/foods/exists",
      "summary": "检查菜品名称是否已存在",
      "folder": "学校端/SchoolFoods",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/foods/export.csv",
      "summary": "导出菜品 CSV",
      "folder": "学校端/SchoolFoods",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/foods/import",
      "summary": "批量导入（CSV/JSON）",
      "folder": "学校端/SchoolFoods",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/home/overview",
      "summary": "Aggregated home overview (single API)",
      "folder": "学校端/School Home",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/hygiene/inspections",
      "summary": "List hygiene inspections",
      "folder": "学校端/Hygiene",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/hygiene/inspections",
      "summary": "Create hygiene inspection",
      "folder": "学校端/Hygiene",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/hygiene/stream",
      "summary": "HygieneController.stream",
      "folder": "学校端/Hygiene",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/additives",
      "summary": "List food additives",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/additives",
      "summary": "Create food additive record",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/categories",
      "summary": "List categories",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/categories",
      "summary": "Create category",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/inbound",
      "summary": "InventoryController.listInbound",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/inbound",
      "summary": "InventoryController.createInbound",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/inbound/doc",
      "summary": "InventoryController.inboundDocDetail",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/inventory/inbound/doc",
      "summary": "Update inbound document",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/inbound/doc",
      "summary": "InventoryController.createInboundDoc",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/inbound/docs",
      "summary": "InventoryController.listInboundDocs",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/inbound/export.csv",
      "summary": "Export inbound document summary (CSV)",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/inbound/scale",
      "summary": "Scale inbound (+/- quantity)",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/outbound",
      "summary": "List outbound records",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/outbound",
      "summary": "Create outbound record",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/outbound/batches",
      "summary": "List outbound batches (recent)",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/outbound/clear",
      "summary": "Clear outbound batch",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/outbound/export.csv",
      "summary": "Export outbound records (CSV)",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/outbound/scale",
      "summary": "Scale outbound (+/- quantity)",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/products",
      "summary": "List products",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/inventory/products",
      "summary": "Update product",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/products",
      "summary": "Create product",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/products/delete",
      "summary": "Delete product",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/products/import/cloud",
      "summary": "InventoryController.importCloudV2",
      "folder": "学校端/Inventory",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/products/import/template",
      "summary": "Import products from template",
      "folder": "学校端/Inventory",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/stock",
      "summary": "Stock summary",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/stock/batches",
      "summary": "List stock batches by product",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/stock/export.csv",
      "summary": "Export stock batches (CSV)",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/stock/stocktake",
      "summary": "Stocktake one product",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/stock/stocktake-batch",
      "summary": "Batch stocktake multiple products",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/stream",
      "summary": "InventoryController.stream",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/suppliers",
      "summary": "List suppliers (paged, filterable)",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/inventory/suppliers",
      "summary": "Update supplier",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers",
      "summary": "Create supplier",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers/{id}/certificates",
      "summary": "Add supplier certificate",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/suppliers/{id}/certificates/export.csv",
      "summary": "Export supplier certificates CSV",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers/{id}/certificates/import",
      "summary": "Import supplier certificates",
      "folder": "学校端/Inventory",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers/delete",
      "summary": "Delete supplier",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/suppliers/detail",
      "summary": "Supplier detail",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers/enable/batch",
      "summary": "Batch enable/disable suppliers",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/suppliers/export.csv",
      "summary": "Export suppliers CSV",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/suppliers/import",
      "summary": "InventoryController.importSuppliers",
      "folder": "学校端/Inventory",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/suppliers/summary",
      "summary": "Supplier summary",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/tickets",
      "summary": "List purchase tickets",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/tickets",
      "summary": "Create purchase ticket",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/inventory/warehouses",
      "summary": "List warehouses",
      "folder": "学校端/Inventory",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/inventory/warehouses",
      "summary": "Update warehouse",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/warehouses",
      "summary": "Create warehouse",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/inventory/warehouses/delete",
      "summary": "Delete warehouse",
      "folder": "学校端/Inventory",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/meal-plans",
      "summary": "列表查询配餐",
      "folder": "学校端/MealPlans",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/meal-plans",
      "summary": "新增/覆盖配餐",
      "folder": "学校端/MealPlans",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/meal-plans/{id}",
      "summary": "删除配餐",
      "folder": "学校端/MealPlans",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/meal-plans/{id}",
      "summary": "更新配餐",
      "folder": "学校端/MealPlans",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/meal-plans/copy-week",
      "summary": "复制上一周配餐到本周",
      "folder": "学校端/MealPlans",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/meal-plans/export.csv",
      "summary": "导出CSV",
      "folder": "学校端/MealPlans",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/meal-plans/import",
      "summary": "批量导入（CSV/JSON）",
      "folder": "学校端/MealPlans",
      "risk": "FILE_OR_BULK_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-file-or-bulk-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/messages/rectify",
      "summary": "SchoolMessagesController.schoolRectifyList",
      "folder": "学校端/School Messages",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/morning-checks",
      "summary": "List morning checks (paged, filterable)",
      "folder": "学校端/MorningCheckApiAdapter",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/morning-checks",
      "summary": "Create morning check record",
      "folder": "学校端/Morning Checks",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/morning-checks/{id}",
      "summary": "MorningCheckController.remove",
      "folder": "学校端/Morning Checks",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/morning-checks/{id}/handle",
      "summary": "MorningCheckController.setHandle",
      "folder": "学校端/Morning Checks",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/morning-checks/{id}/measure",
      "summary": "MorningCheckController.setMeasure",
      "folder": "学校端/Morning Checks",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/morning-checks/device/callback",
      "summary": "MorningCheckController.deviceCallback",
      "folder": "学校端/Morning Checks",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /school/morning-checks/export.csv",
      "summary": "Export morning checks (CSV)",
      "folder": "学校端/Morning Checks",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/morning-checks/history",
      "summary": "List all morning checks for a staff on a date",
      "folder": "学校端/Morning Checks",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/morning-checks/overview",
      "summary": "Daily overview by canteen",
      "folder": "学校端/Morning Checks",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/morning-checks/stream",
      "summary": "MorningCheckApiAdapterController.sse",
      "folder": "学校端/MorningCheckApiAdapter",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/personnel",
      "summary": "PersonnelController.list",
      "folder": "学校端/Personnel",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/personnel",
      "summary": "PersonnelController.update",
      "folder": "学校端/Personnel",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/personnel",
      "summary": "PersonnelController.create",
      "folder": "学校端/Personnel",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/personnel/delete",
      "summary": "PersonnelController.remove",
      "folder": "学校端/Personnel",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/personnel/detail",
      "summary": "PersonnelController.detail",
      "folder": "学校端/Personnel",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/pesticide/device/callback",
      "summary": "PesticideController.device",
      "folder": "学校端/Pesticide",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /school/pesticide/records",
      "summary": "List pesticide test records",
      "folder": "学校端/Pesticide",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/pesticide/records",
      "summary": "Create pesticide test record",
      "folder": "学校端/Pesticide",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/pesticide/records/{id}/measure",
      "summary": "PesticideController.setMeasure",
      "folder": "学校端/Pesticide",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/pesticide/records/export.csv",
      "summary": "Export pesticide rapid-test records (CSV)",
      "folder": "学校端/Pesticide",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/pesticide/stream",
      "summary": "PesticideController.stream",
      "folder": "学校端/Pesticide",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/public/config",
      "summary": "PublicConfigController.get",
      "folder": "学校端/Public Config",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/public/config",
      "summary": "PublicConfigController.update",
      "folder": "学校端/Public Config",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/public/config/audit",
      "summary": "PublicConfigController.audit",
      "folder": "学校端/Public Config",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/public/config/feedback/qr",
      "summary": "PublicConfigController.feedbackQr",
      "folder": "学校端/Public Config",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/public/feedback",
      "summary": "PublicFeedbackController.list",
      "folder": "学校端/Public Feedback",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/catalog",
      "summary": "RiskController.catalog",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/risk/catalog",
      "summary": "RiskController.updateCatalog",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/risk/catalog",
      "summary": "RiskController.createCatalog",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/risk/catalog/delete",
      "summary": "RiskController.deleteCatalog",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/catalog/export.csv",
      "summary": "RiskController.catalogExportCsv",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/reports",
      "summary": "RiskController.reports",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/risk/reports",
      "summary": "RiskController.createReport",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/reports/detail",
      "summary": "RiskController.reportDetail",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/reports/export.csv",
      "summary": "RiskController.reportsExport",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/risk/reports/status",
      "summary": "RiskController.setReportStatus",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/tasks",
      "summary": "RiskController.tasks",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/risk/tasks",
      "summary": "RiskController.createTask",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/tasks/detail",
      "summary": "RiskController.taskDetail",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/risk/tasks/export.csv",
      "summary": "RiskController.tasksExport",
      "folder": "学校端/Risk",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/risk/tasks/status",
      "summary": "RiskController.setTaskStatus",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/risk/tasks/submit",
      "summary": "RiskController.submitTask",
      "folder": "学校端/Risk",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/device/callback",
      "summary": "SamplingController.deviceCallback",
      "folder": "学校端/Sampling",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/sampling/operators",
      "summary": "批量移除留样人员",
      "folder": "学校端/SamplingOperators",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/sampling/operators",
      "summary": "留样人员列表",
      "folder": "学校端/SamplingOperators",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/operators",
      "summary": "添加留样人员",
      "folder": "学校端/SamplingOperators",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/sampling/operators/detail",
      "summary": "获取留样人员详情（含密码，仅用于编辑回显）",
      "folder": "学校端/SamplingOperators",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/operators/remove",
      "summary": "批量移除留样人员（POST 兼容，删除 sammei_users）",
      "folder": "学校端/SamplingOperators",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/operators/sync",
      "summary": "向设备同步留样人员（OperateUserList）",
      "folder": "学校端/SamplingOperators",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/operators/upsert",
      "summary": "新增/更新单个留样人员（含人脸与时间等扩展字段）",
      "folder": "学校端/SamplingOperators",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/sampling/records",
      "summary": "SamplingController.listRecords",
      "folder": "学校端/Sampling",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/sampling/records",
      "summary": "SamplingController.createRecord",
      "folder": "学校端/Sampling",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/sampling/records/{id}/measure",
      "summary": "SamplingController.setMeasure",
      "folder": "学校端/Sampling",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/sampling/records/{id}/status",
      "summary": "SamplingController.setStatus",
      "folder": "学校端/Sampling",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/sampling/records/export.csv",
      "summary": "Export sampling records (CSV)",
      "folder": "学校端/Sampling",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/sampling/stream",
      "summary": "SamplingController.stream",
      "folder": "学校端/Sampling",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "NOT_AUTOMATABLE",
      "reason": "SSE 长连接需要专用流式断言，不纳入通用 HTTP runner",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/announcements",
      "summary": "SystemController.listAnnouncements",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/announcements",
      "summary": "SystemController.createAnnouncement",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/announcements/attach",
      "summary": "SystemController.attach",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/announcements/detail",
      "summary": "SystemController.announcementDetail",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/apps",
      "summary": "SystemController.apps",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/canteen",
      "summary": "SystemController.canteen",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/canteen",
      "summary": "SystemController.saveCanteen",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/linkage",
      "summary": "SystemController.linkageList",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/linkage/apply",
      "summary": "SystemController.applyLinkage",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/system/linkage/review",
      "summary": "SystemController.reviewLinkage",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/meals",
      "summary": "SystemController.meals",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/meals",
      "summary": "SystemController.saveMeals",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/news",
      "summary": "SystemController.schoolNews",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/news/detail",
      "summary": "SystemController.schoolNewsDetail",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/org-type",
      "summary": "SystemController.getOrgType",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/org-type",
      "summary": "SystemController.saveOrgType",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/permissions",
      "summary": "SystemController.permissions",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/roles",
      "summary": "SystemController.roles",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/system/roles",
      "summary": "SystemController.updateRole",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/roles",
      "summary": "SystemController.createRole",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/roles/delete",
      "summary": "SystemController.deleteRole",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/roles/permissions",
      "summary": "SystemController.rolePermissions",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/roles/permissions",
      "summary": "SystemController.setRolePerms",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/system/users",
      "summary": "SystemController.users",
      "folder": "学校端/School System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/system/users",
      "summary": "SystemController.updateUser",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/users",
      "summary": "SystemController.createUser",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/users/delete",
      "summary": "SystemController.removeUser",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/users/enabled",
      "summary": "SystemController.setUserEnabled",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "POST /school/system/users/roles",
      "summary": "SystemController.setUserRoles",
      "folder": "学校端/School System",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/waste/categories",
      "summary": "WasteController.categories",
      "folder": "学校端/Waste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/waste/categories",
      "summary": "WasteController.createCategory",
      "folder": "学校端/Waste",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/waste/categories/{id}",
      "summary": "WasteController.delete",
      "folder": "学校端/Waste",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "PATCH /school/waste/categories/{id}/enable",
      "summary": "WasteController.setEnabled",
      "folder": "学校端/Waste",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/waste/records",
      "summary": "List waste records (paged)",
      "folder": "学校端/Waste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /school/waste/records",
      "summary": "Create waste record",
      "folder": "学校端/Waste",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "DELETE /school/waste/records/{id}",
      "summary": "WasteController.deleteOne",
      "folder": "学校端/Waste",
      "risk": "DATABASE_WRITE",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-db-write",
      "durationMs": 0
    },
    {
      "operation": "GET /school/waste/records/{id}",
      "summary": "WasteController.getOne",
      "folder": "学校端/Waste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /school/waste/records/export.csv",
      "summary": "Export waste records (CSV)",
      "folder": "学校端/Waste",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/ai/events",
      "summary": "ScreenAnalyticsController.aiEvents",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/ai/pie",
      "summary": "ScreenAnalyticsController.aiTypesPie",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/cameras",
      "summary": "ScreenAnalyticsController.cameras",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/devices",
      "summary": "ScreenAnalyticsController.devicesList",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/devices/statuses",
      "summary": "ScreenAnalyticsController.deviceStatuses",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/devices/types",
      "summary": "ScreenAnalyticsController.deviceTypes",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /screen/analytics/personnel-health",
      "summary": "ScreenAnalyticsController.personnelHealth",
      "folder": "大屏端/Screen Analytics",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /static/{path}",
      "summary": "StaticController.view",
      "folder": "文件服务/Static",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /system/group/device/active-group",
      "summary": "得沃晨检机获取当前问卷",
      "folder": "AI盒子与设备开放接口/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "GET /system/storage/init",
      "summary": "Initialize storage provider (ensure MinIO bucket exists)",
      "folder": "公共与系统/System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /system/storage/status",
      "summary": "Get object storage mode and configuration status",
      "folder": "公共与系统/System",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "GET /trustivs/proxy/hls",
      "summary": "TrustivsProxyController.proxyHls",
      "folder": "公共与系统/TrustivsProxy",
      "risk": "READ_ONLY",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "PLANNED",
      "reason": "未传 --execute，仅生成执行计划",
      "durationMs": 0
    },
    {
      "operation": "POST /uploadInspectionRecord",
      "summary": "得沃晨检机上传晨检记录",
      "folder": "第三方设备数据接入/Dewo-Liuyangcheng",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/GetDepInfo",
      "summary": "WosController.getDepInfo",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/GetPlatInfo",
      "summary": "WosController.getPlatInfo",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/PageStaff",
      "summary": "WosController.pageStaff",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/PushCheckData",
      "summary": "WosController.pushCheckData",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/StaffAdd",
      "summary": "WosController.staffAdd",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/StaffById",
      "summary": "WosController.staffById",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/StaffDelete",
      "summary": "WosController.staffDelete",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/StaffUpdate",
      "summary": "WosController.staffUpdate",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    },
    {
      "operation": "POST /wosapi/YGCJRobotOpenApi/UpdateDepInfo",
      "summary": "WosController.updateDepInfo",
      "folder": "第三方设备数据接入/WOS Integration",
      "risk": "EXTERNAL_SIDE_EFFECT",
      "startedAt": "2026-09-24T08:19:05.706Z",
      "status": "SKIPPED_BY_GATE",
      "reason": "未开启 --allow-external-side-effect",
      "durationMs": 0
    }
  ]
}
