{
  "version": "1.0.0",
  "last_scan": "2026-03-25T06:22:39.127Z",
  "last_scan_by": "skyeye-scan-engine",
  "infrastructure": {
    "github": {
      "service": "GitHub",
      "plan": "Free",
      "repos": [
        {
          "name": "qinfendebingshuo/guanghulab",
          "role": "main",
          "guard": "buffer/"
        },
        {
          "name": "WENZHUOXI/guanghu-awen",
          "role": "sub-repo",
          "persona": "PER-ZQ001",
          "guard": ".github/persona-brain/"
        }
      ],
      "quotas": {
        "actions_minutes_per_month": 2000,
        "actions_current_used": 0,
        "actions_budget_allocated": {
          "buffer_collect": 270,
          "buffer_flush": 90,
          "skyeye_checkin": 180,
          "skyeye_weekly_scan": 30,
          "other_workflows": 200,
          "emergency_reserve": 1230
        },
        "storage_limit_gb": 0.5,
        "lfs_bandwidth_gb": 1
      }
    },
    "google_drive": {
      "service": "Google Drive",
      "plan": "Google One / Free 15GB",
      "guard": "buffer/drive-staging/",
      "quotas": {
        "storage_gb": 15,
        "current_used_gb": 0,
        "apps_script_daily_triggers": 20,
        "apps_script_runtime_min_per_day": 90,
        "drive_api_queries_per_100s": 20000
      }
    },
    "notion": {
      "service": "Notion",
      "plan": "Plus",
      "guard": "霜砚（PER-SY001）",
      "quotas": {
        "api_requests_per_second": 3,
        "blocks_per_page": 10000,
        "file_upload_mb": 5,
        "guest_limit": 100
      }
    },
    "gemini": {
      "service": "Google Gemini",
      "plan": "Free / Pro",
      "guard": "buffer/gemini-staging/",
      "quotas": {
        "requests_per_minute": 15,
        "requests_per_day": 1500,
        "context_window_tokens": 1000000,
        "personal_context_files": 100
      }
    },
    "github_actions": {
      "service": "GitHub Actions",
      "plan": "Free",
      "guard": "skyeye/guards/actions-guard.json",
      "quotas": {
        "concurrent_jobs": 20,
        "minutes_per_month": 2000,
        "job_timeout_hours": 6
      }
    },
    "hibernation_system": {
      "service": "SkyEye Hibernation",
      "plan": "Internal",
      "description": "双节律休眠系统 · 日休眠(03:50 CST) + 周休眠(周六19:00 CST)",
      "components": {
        "sleep_scheduler": "skyeye/hibernation/sleep-scheduler.js",
        "daily_hibernation": "skyeye/hibernation/daily-hibernation.js",
        "weekly_hibernation": "skyeye/hibernation/weekly-hibernation.js",
        "distributor": "skyeye/hibernation/distributor.js",
        "readme_updater": "skyeye/hibernation/readme-status-updater.js",
        "overtime_monitor": "skyeye/hibernation/overtime-monitor.js"
      },
      "storage": {
        "checkpoints": "skyeye/hibernation/checkpoints/",
        "weekly_snapshots": "skyeye/hibernation/weekly-snapshots/",
        "upgrade_packs": "skyeye/hibernation/upgrade-packs/",
        "distribution_reports": "skyeye/hibernation/distribution-reports/"
      },
      "workflows": {
        "daily": "skyeye-daily-hibernation.yml",
        "weekly": "skyeye-weekly-hibernation.yml"
      },
      "quotas": {
        "daily_hibernation_minutes": 5,
        "weekly_hibernation_minutes": 15,
        "monthly_budget_minutes": 210,
        "comment": "日休眠 30天×5min=150 + 周休眠 4×15min=60 ≈ 210 min/month"
      },
      "lifeline_tasks": [
        {
          "id": "TOKEN-RENEW",
          "name": "OAuth2 Token 自动续期",
          "workflow": "renew-gdrive-tokens.yml",
          "hibernate_exempt": true,
          "priority": "P0",
          "alert_on_failure": true,
          "alert_channels": [
            "notion-dashboard",
            "agent-bulletin"
          ]
        },
        {
          "id": "TOKEN-HEALTH",
          "name": "Token 健康检查",
          "workflow": "check-token-health.yml",
          "hibernate_exempt": true,
          "priority": "P0",
          "alert_on_failure": true,
          "alert_channels": [
            "notion-dashboard",
            "agent-bulletin"
          ]
        },
        {
          "id": "NIGHTLY-REPAIR",
          "name": "天眼夜间自动修复引擎 v3.0",
          "workflow": "tianyan-nightly-scan.yml",
          "hibernate_exempt": true,
          "priority": "P0",
          "alert_on_failure": true,
          "alert_channels": [
            "dashboard",
            "agent-bulletin"
          ],
          "note": "周六休眠期内仅执行扫描+仪表盘更新，跳过修复/PR"
        }
      ]
    },
    "gdrive_oauth2": {
      "service": "Google Drive OAuth2 Token Management",
      "plan": "Internal",
      "description": "OAuth2 Token 自动续期引擎 · 6天刷新 + 三层保险 + 天眼生命线豁免",
      "registry": "config/gdrive-tokens.json",
      "scripts": {
        "renew_tokens": "scripts/gdrive/renew-tokens.js",
        "check_hibernation": "scripts/gdrive/check-hibernation.js",
        "push_alerts": "scripts/gdrive/push-token-alerts.js"
      },
      "workflows": {
        "renew": "renew-gdrive-tokens.yml",
        "health_check": "check-token-health.yml"
      },
      "schedule": {
        "renew_a": "每周一 10:00 CST (02:00 UTC)",
        "renew_b": "每周四 10:00 CST (02:00 UTC)",
        "health_check": "每天 12:15 CST (04:15 UTC)"
      }
    },
    "routing_system": {
      "service": "编号路由系统 (ID Routing System)",
      "plan": "Internal",
      "description": "身份路由表 + 域/频道路由表 + 编号体系全局地图 · 2026-03-24 上线",
      "version": "1.0",
      "notion_databases": {
        "identity_routing_table": {
          "id": "A-DB-02",
          "name": "🪪 身份路由表",
          "description": "所有身份编号的路由映射"
        },
        "channel_routing_table": {
          "id": "A-DB-03",
          "name": "🗺️ 域/频道路由表",
          "description": "域和频道的路由映射"
        },
        "id_map": {
          "name": "🏔️ 编号体系全局地图 v1.0",
          "description": "根节点 SYS-GLW-0001 / 国作登字-2026-A-00037559 / Trinity ID Protocol"
        }
      },
      "github_mirror": ".github/persona-brain/trinity-id.json",
      "rule": "编号/频道映射永远查外挂数据库，不写死进任何文件",
      "registered_at": "2026-03-24T13:00:00+08:00",
      "registered_by": "ZY-SYSBOOT-2026-0324-001"
    },
    "isrp": {
      "service": "ISRP 入口语义解析协议 (Inlet Semantic Routing Protocol)",
      "plan": "Internal",
      "version": "1.0",
      "description": "入口语义解析协议 · 定义人类入场路由逻辑 · Notion 侧运行 · GitHub 侧不需额外文件",
      "notion_document": "🧭 入口语义解析协议 · ISRP v1.0",
      "github_side": "awareness_only",
      "registered_at": "2026-03-24T13:00:00+08:00",
      "registered_by": "ZY-SYSBOOT-2026-0324-001"
    },
    "tianyan_nightly_repair": {
      "service": "TianYan Nightly Auto-Repair Engine v3.0",
      "plan": "Internal",
      "description": "天眼夜间自动修复引擎 · 扫描→分析→修复→审核→PR→仪表盘 七阶段闭环",
      "config": ".github/tianyan-config.json",
      "scripts": {
        "analyze": ".github/scripts/tianyan-analyze.js",
        "repair": ".github/scripts/tianyan-repair.js",
        "review": ".github/scripts/tianyan-review.js"
      },
      "workflows": {
        "nightly_scan": "tianyan-nightly-scan.yml",
        "merge_watchdog": "merge-watchdog.yml"
      },
      "dashboard": "DASHBOARD.md",
      "watchdog_records": "docs/dashboard/watchdog-records.json",
      "schedule": {
        "nightly_scan": "每天 23:00 CST (15:00 UTC)",
        "merge_watchdog": "事件驱动（PR合并时触发）"
      },
      "agents": [
        "AG-ZY-087",
        "AG-ZY-088"
      ]
    },
    "sync_dev_status": {
      "node_id": "SYNC-DEV-STATUS-V1",
      "service": "dev-status.json 同步 · 霜砚签发制",
      "plan": "Internal",
      "type": "sync_pipeline",
      "description": "霜砚签发（AG-SY-01）→ 铸渊接收写入（AG-ZY-01）· 签名可校验可溯源可审计",
      "workflow": ".github/workflows/sync-dev-status.yml",
      "repair_workflow": ".github/workflows/skyeye-devsync-repair.yml",
      "script": "scripts/sync-dev-status.js",
      "data_file": ".github/persona-brain/dev-status.json",
      "sync_log": ".github/persona-brain/dev-status-sync-log.json",
      "schedule": {
        "sync": [
          "09:00 CST (01:00 UTC)",
          "22:00 CST (14:00 UTC)"
        ],
        "monitor": "08:30 CST (00:30 UTC)"
      },
      "thresholds": {
        "green_hours": 14,
        "yellow_hours": 48,
        "red_hours": 48
      },
      "alert_mechanism": "github_issue",
      "alert_target": "repo_owner",
      "mechanism": "shuangyan-signed-v1.0",
      "instruction_ref": "ZY-DEVSYNC-REBUILD-2026-0325-001",
      "created": "2026-03-25",
      "status": "active"
    },
    "guanghulab_website": {
      "service": "guanghulab.com Web Deployment",
      "server_ip": "43.134.16.246",
      "old_server_ip": "150.109.76.244 (香港·ZY-SVR-001·已弃用) / 8.155.62.235 (阿里云·已弃用)",
      "server_provider": "腾讯云轻量应用服务器 · 新加坡二区",
      "server_code": "ZY-SVR-002",
      "domain": "guanghulab.com",
      "deploy_path": "/opt/zhuyuan",
      "stack": {
        "runtime": "Node.js 20",
        "process_manager": "PM2",
        "web_server": "Nginx",
        "ssl": "Let's Encrypt (pending)"
      },
      "services": {
        "api_proxy": {
          "port": 3721,
          "name": "guanghulab-proxy",
          "desc": "AI 聊天代理 SSE"
        },
        "backend": {
          "port": 3000,
          "name": "guanghulab-backend",
          "desc": "Express 主后端"
        },
        "hli": {
          "port": 3001,
          "name": "guanghulab",
          "desc": "HLI 中间层"
        },
        "persona_studio": {
          "port": 3002,
          "name": "persona-studio",
          "desc": "Persona Studio 后端"
        },
        "websocket": {
          "port": 8080,
          "name": "guanghulab-ws",
          "desc": "看板 WebSocket"
        }
      },
      "cd_workflow": "deploy-to-server.yml",
      "guard": "skyeye/guards/web-deploy-guard.json",
      "human_side_checks": [
        "国内手机浏览器可访问 guanghulab.com",
        "Persona Studio 核心功能可用",
        "模块导航无死链",
        "无需手动输入 API 密钥（服务器代理模式）"
      ],
      "instruction_ref": "ZY-HUMANSIDE-FIX-2026-0325-002",
      "created": "2026-03-25",
      "status": "active"
    }
  }
}
