{
  "schemaVersion": 1,
  "generatedAt": "2026-08-19T10:59:45.860Z",
  "projectRoot": ".",
  "statusPath": "runs/2026-07-25/status.json",
  "noExternalApiMode": {
    "enabled": true,
    "mainFlow": "Codex CLI / npm scripts / local files / openwiki",
    "externalOrManual": [
      "GPT Pro handoff",
      "Notion sync",
      "live PubMed / journal browsing"
    ]
  },
  "readiness": {
    "status": "ready",
    "readyForLocalAutomation": true,
    "failedGates": 0
  },
  "summaries": {
    "healthOk": true,
    "healthChecks": 338,
    "links": {
      "ok": 992,
      "warning": 0,
      "error": 0,
      "skipped": 3
    },
    "uiSmoke": {
      "pages": 45,
      "commandFiles": 24,
      "ok": 723,
      "warning": 2,
      "error": 0
    },
    "freshness": {
      "total": 51,
      "fresh": 44,
      "old": 3,
      "stale": 4,
      "blocked": 0,
      "manifestReports": 47,
      "trackedManifestReports": 47,
      "missingManifestReports": 0
    },
    "capabilities": {
      "total": 15,
      "ready": 14,
      "warning": 1,
      "blocked": 0
    },
    "quickCheck": {
      "ok": false,
      "steps": 24,
      "durationMs": 8829
    }
  },
  "reports": [
    {
      "id": "control-center",
      "title": "控制中心",
      "purpose": "日常總入口",
      "npmScript": "control:center",
      "file": {
        "path": "index.html",
        "label": "index.html",
        "exists": true,
        "size": 65415,
        "mtime": "2026-08-19T10:59:43.603Z"
      },
      "jsonPeer": {
        "path": "index.json",
        "label": "index.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "usage-guide",
      "title": "使用方式",
      "purpose": "操作說明與 local-only 邊界",
      "npmScript": "",
      "file": {
        "path": "AUTOMATION_USAGE.md",
        "label": "AUTOMATION_USAGE.md",
        "exists": true,
        "size": 7627,
        "mtime": "2026-08-14T07:40:14.845Z"
      },
      "jsonPeer": null,
      "scriptAvailable": true
    },
    {
      "id": "automation-map",
      "title": "n8n-like 自動化地圖",
      "purpose": "節點與資料流",
      "npmScript": "automation:map",
      "file": {
        "path": "automation-map.html",
        "label": "automation-map.html",
        "exists": true,
        "size": 57816,
        "mtime": "2026-08-19T10:58:22.641Z"
      },
      "jsonPeer": {
        "path": "automation-map.json",
        "label": "automation-map.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "cockpit",
      "title": "Execution cockpit",
      "purpose": "可雙擊入口按鈕操作台",
      "npmScript": "cockpit:html",
      "file": {
        "path": "automation-cockpit.html",
        "label": "automation-cockpit.html",
        "exists": true,
        "size": 21801,
        "mtime": "2026-08-19T10:59:38.523Z"
      },
      "jsonPeer": {
        "path": "automation-cockpit.json",
        "label": "automation-cockpit.json",
        "exists": true,
        "size": 16363,
        "mtime": "2026-08-19T10:59:38.522Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "live-monitor",
      "title": "Live monitor",
      "purpose": "執行中 step 監控頁",
      "npmScript": "monitor:html",
      "file": {
        "path": "automation-live.html",
        "label": "automation-live.html",
        "exists": true,
        "size": 9944,
        "mtime": "2026-08-19T10:59:40.971Z"
      },
      "jsonPeer": {
        "path": "automation-live.json",
        "label": "automation-live.json",
        "exists": true,
        "size": 13059,
        "mtime": "2026-08-19T10:59:40.970Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "workflow",
      "title": "Paper dashboard",
      "purpose": "論文狀態表與輸出位置",
      "npmScript": "workflow",
      "file": {
        "path": "workflow.html",
        "label": "workflow.html",
        "exists": true,
        "size": 19163,
        "mtime": "2026-08-19T10:59:04.283Z"
      },
      "jsonPeer": {
        "path": "workflow.json",
        "label": "workflow.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "research-workflow",
      "title": "Research workflow",
      "purpose": "文獻矩陣、主題標籤、綜整、草稿與自審視覺流程",
      "npmScript": "research:map",
      "file": {
        "path": "research-workflow.html",
        "label": "research-workflow.html",
        "exists": true,
        "size": 6847,
        "mtime": "2026-08-19T10:53:23.560Z"
      },
      "jsonPeer": {
        "path": "research-workflow.json",
        "label": "research-workflow.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "research-dashboard",
      "title": "Research dashboard",
      "purpose": "研究專案狀態與輸出檔案入口",
      "npmScript": "research:map",
      "file": {
        "path": "research-dashboard.html",
        "label": "research-dashboard.html",
        "exists": true,
        "size": 5971,
        "mtime": "2026-08-19T10:53:23.561Z"
      },
      "jsonPeer": {
        "path": "research-dashboard.json",
        "label": "research-dashboard.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "daily-brief",
      "title": "10:00 閱讀入口",
      "purpose": "人類閱讀入口",
      "npmScript": "daily:brief",
      "file": {
        "path": "daily-brief.html",
        "label": "daily-brief.html",
        "exists": true,
        "size": 7043,
        "mtime": "2026-08-19T10:59:30.550Z"
      },
      "jsonPeer": {
        "path": "daily-brief.json",
        "label": "daily-brief.json",
        "exists": true,
        "size": 5563,
        "mtime": "2026-08-19T10:59:30.548Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "next-actions",
      "title": "Next actions",
      "purpose": "下一步與阻塞項目",
      "npmScript": "next:html",
      "file": {
        "path": "automation-next.html",
        "label": "automation-next.html",
        "exists": true,
        "size": 11732,
        "mtime": "2026-08-19T10:59:38.336Z"
      },
      "jsonPeer": {
        "path": "automation-next.json",
        "label": "automation-next.json",
        "exists": true,
        "size": 6087,
        "mtime": "2026-08-19T10:59:38.336Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "decision",
      "title": "Operator decision",
      "purpose": "一句話判斷現在該做什麼",
      "npmScript": "decision:html",
      "file": {
        "path": "automation-decision.html",
        "label": "automation-decision.html",
        "exists": true,
        "size": 5294,
        "mtime": "2026-08-19T10:59:38.886Z"
      },
      "jsonPeer": {
        "path": "automation-decision.json",
        "label": "automation-decision.json",
        "exists": true,
        "size": 2113,
        "mtime": "2026-08-19T10:59:38.886Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "status",
      "title": "Automation status",
      "purpose": "目前是否可信與下一步",
      "npmScript": "status:html",
      "file": {
        "path": "automation-status.html",
        "label": "automation-status.html",
        "exists": true,
        "size": 9814,
        "mtime": "2026-08-19T10:59:30.328Z"
      },
      "jsonPeer": {
        "path": "automation-status.json",
        "label": "automation-status.json",
        "exists": true,
        "size": 7122,
        "mtime": "2026-08-19T10:59:30.327Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "state",
      "title": "State snapshot",
      "purpose": "總狀態與 gate",
      "npmScript": "state:html",
      "file": {
        "path": "automation-state.html",
        "label": "automation-state.html",
        "exists": true,
        "size": 9782,
        "mtime": "2026-08-19T10:59:39.137Z"
      },
      "jsonPeer": {
        "path": "automation-state.json",
        "label": "automation-state.json",
        "exists": true,
        "size": 8676,
        "mtime": "2026-08-19T10:59:39.136Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "timeline",
      "title": "Automation timeline",
      "purpose": "最近執行紀錄",
      "npmScript": "timeline:html",
      "file": {
        "path": "automation-timeline.html",
        "label": "automation-timeline.html",
        "exists": true,
        "size": 49875,
        "mtime": "2026-08-19T10:59:30.097Z"
      },
      "jsonPeer": {
        "path": "automation-timeline.json",
        "label": "automation-timeline.json",
        "exists": true,
        "size": 104567,
        "mtime": "2026-08-19T10:59:30.078Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "receipt",
      "title": "Automation receipt",
      "purpose": "最近一次執行的可追溯收據",
      "npmScript": "receipt:html",
      "file": {
        "path": "automation-receipt.html",
        "label": "automation-receipt.html",
        "exists": true,
        "size": 9336,
        "mtime": "2026-08-19T10:58:21.665Z"
      },
      "jsonPeer": {
        "path": "automation-receipt.json",
        "label": "automation-receipt.json",
        "exists": true,
        "size": 9215,
        "mtime": "2026-08-19T10:58:21.650Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "check",
      "title": "Quick check",
      "purpose": "快速健檢",
      "npmScript": "automation:check",
      "file": {
        "path": "automation-check.html",
        "label": "automation-check.html",
        "exists": true,
        "size": 9307,
        "mtime": "2026-08-19T10:59:45.805Z"
      },
      "jsonPeer": {
        "path": "automation-check.json",
        "label": "automation-check.json",
        "exists": true,
        "size": 15726,
        "mtime": "2026-08-19T10:59:45.805Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "run-and-verify",
      "title": "Run + verify",
      "purpose": "完整流程驗收",
      "npmScript": "automation:run-and-verify",
      "file": {
        "path": "automation-run-and-verify.html",
        "label": "automation-run-and-verify.html",
        "exists": true,
        "size": 29551,
        "mtime": "2026-08-14T12:35:18.599Z"
      },
      "jsonPeer": {
        "path": "automation-run-and-verify.json",
        "label": "automation-run-and-verify.json",
        "exists": true,
        "size": 24149,
        "mtime": "2026-08-14T12:35:18.599Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "executability",
      "title": "Executability",
      "purpose": "能不能交給 launchd 或雙擊入口的總稽核",
      "npmScript": "executability:html",
      "file": {
        "path": "automation-executability.html",
        "label": "automation-executability.html",
        "exists": true,
        "size": 21851,
        "mtime": "2026-08-19T10:58:21.870Z"
      },
      "jsonPeer": {
        "path": "automation-executability.json",
        "label": "automation-executability.json",
        "exists": true,
        "size": 20691,
        "mtime": "2026-08-19T10:58:21.869Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "consistency",
      "title": "Consistency",
      "purpose": "控制中心、map、executability 與 gate 狀態一致性",
      "npmScript": "consistency:html",
      "file": {
        "path": "automation-consistency.html",
        "label": "automation-consistency.html",
        "exists": true,
        "size": 13191,
        "mtime": "2026-08-19T10:58:22.331Z"
      },
      "jsonPeer": {
        "path": "automation-consistency.json",
        "label": "automation-consistency.json",
        "exists": true,
        "size": 7904,
        "mtime": "2026-08-19T10:58:22.330Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "visual-sync",
      "title": "Visual sync",
      "purpose": "只刷新視覺報表與狀態頁",
      "npmScript": "sync:visuals",
      "file": {
        "path": "automation-visual-sync.html",
        "label": "automation-visual-sync.html",
        "exists": true,
        "size": 25742,
        "mtime": "2026-08-19T10:58:22.754Z"
      },
      "jsonPeer": {
        "path": "automation-visual-sync.json",
        "label": "automation-visual-sync.json",
        "exists": true,
        "size": 38941,
        "mtime": "2026-08-19T10:58:22.754Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "current-status",
      "title": "Current status source",
      "purpose": "目前 status.json 來源",
      "npmScript": "status:path:html",
      "file": {
        "path": "automation-current-status.html",
        "label": "automation-current-status.html",
        "exists": true,
        "size": 3974,
        "mtime": "2026-08-19T10:59:20.044Z"
      },
      "jsonPeer": {
        "path": "automation-current-status.json",
        "label": "automation-current-status.json",
        "exists": true,
        "size": 1285,
        "mtime": "2026-08-19T10:59:20.044Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "local-pipeline",
      "title": "Local pipeline",
      "purpose": "底層流程 stdout/stderr",
      "npmScript": "automation:local-html",
      "file": {
        "path": "automation-local.html",
        "label": "automation-local.html",
        "exists": true,
        "size": 46084,
        "mtime": "2026-08-19T10:59:04.273Z"
      },
      "jsonPeer": {
        "path": "automation-local.json",
        "label": "automation-local.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "commands",
      "title": "Command catalog",
      "purpose": "所有 npm scripts 與操作指令目錄",
      "npmScript": "commands:html",
      "file": {
        "path": "automation-commands.html",
        "label": "automation-commands.html",
        "exists": true,
        "size": 42670,
        "mtime": "2026-08-19T10:59:37.125Z"
      },
      "jsonPeer": {
        "path": "automation-commands.json",
        "label": "automation-commands.json",
        "exists": true,
        "size": 35073,
        "mtime": "2026-08-19T10:59:37.123Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "actions",
      "title": "Action registry",
      "purpose": "可執行、只看、人工與 external-off actions",
      "npmScript": "actions:html",
      "file": {
        "path": "automation-actions.html",
        "label": "automation-actions.html",
        "exists": true,
        "size": 25892,
        "mtime": "2026-08-19T10:59:37.177Z"
      },
      "jsonPeer": {
        "path": "automation-actions.json",
        "label": "automation-actions.json",
        "exists": true,
        "size": 22229,
        "mtime": "2026-08-19T10:59:37.175Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "performance",
      "title": "Performance",
      "purpose": "最近流程耗時與慢步驟摘要",
      "npmScript": "performance:html",
      "file": {
        "path": "automation-performance.html",
        "label": "automation-performance.html",
        "exists": true,
        "size": 15812,
        "mtime": "2026-08-19T10:59:04.388Z"
      },
      "jsonPeer": {
        "path": "automation-performance.json",
        "label": "automation-performance.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "operator-runbook",
      "title": "Operator runbook",
      "purpose": "排錯與人工操作手冊",
      "npmScript": "runbook:html",
      "file": {
        "path": "automation-runbook.html",
        "label": "automation-runbook.html",
        "exists": true,
        "size": 9444,
        "mtime": "2026-08-19T10:59:04.317Z"
      },
      "jsonPeer": {
        "path": "automation-runbook.json",
        "label": "automation-runbook.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "safe-terminal",
      "title": "Safe terminal",
      "purpose": "從任何 Terminal 位置都能貼的安全指令",
      "npmScript": "safe:terminal",
      "file": {
        "path": "automation-safe-terminal.html",
        "label": "automation-safe-terminal.html",
        "exists": true,
        "size": 15539,
        "mtime": "2026-08-19T10:58:03.410Z"
      },
      "jsonPeer": {
        "path": "automation-safe-terminal.json",
        "label": "automation-safe-terminal.json",
        "exists": true,
        "size": 9866,
        "mtime": "2026-08-19T10:58:03.406Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "launchd-log",
      "title": "Launchd log",
      "purpose": "排程 stdout/stderr",
      "npmScript": "launchd:html",
      "file": {
        "path": "automation-launchd.html",
        "label": "automation-launchd.html",
        "exists": true,
        "size": 10291,
        "mtime": "2026-08-19T10:59:43.000Z"
      },
      "jsonPeer": {
        "path": "automation-launchd.json",
        "label": "automation-launchd.json",
        "exists": true,
        "size": 5552,
        "mtime": "2026-08-19T10:59:42.994Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "launchd-diagnose",
      "title": "Launchd diagnose",
      "purpose": "排程安裝診斷",
      "npmScript": "launchd:diagnose",
      "file": {
        "path": "automation-launchd-diagnose.html",
        "label": "automation-launchd-diagnose.html",
        "exists": true,
        "size": 11865,
        "mtime": "2026-08-19T10:59:43.191Z"
      },
      "jsonPeer": {
        "path": "automation-launchd-diagnose.json",
        "label": "automation-launchd-diagnose.json",
        "exists": true,
        "size": 5826,
        "mtime": "2026-08-19T10:59:43.190Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "launchd-test",
      "title": "Launchd test",
      "purpose": "安裝、觸發並輪詢排程驗收",
      "npmScript": "launchd:test",
      "file": {
        "path": "automation-launchd-test.html",
        "label": "automation-launchd-test.html",
        "exists": true,
        "size": 5089,
        "mtime": "2026-08-19T10:59:45.779Z"
      },
      "jsonPeer": {
        "path": "automation-launchd-test.json",
        "label": "automation-launchd-test.json",
        "exists": true,
        "size": 2199,
        "mtime": "2026-08-19T10:59:45.778Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "schedule",
      "title": "Schedule",
      "purpose": "週四 06:00 排程",
      "npmScript": "schedule:html",
      "file": {
        "path": "automation-schedule.html",
        "label": "automation-schedule.html",
        "exists": true,
        "size": 10053,
        "mtime": "2026-08-19T10:59:37.557Z"
      },
      "jsonPeer": {
        "path": "automation-schedule.json",
        "label": "automation-schedule.json",
        "exists": true,
        "size": 6692,
        "mtime": "2026-08-19T10:59:37.556Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "readiness",
      "title": "Readiness",
      "purpose": "本地自動化 ready gates",
      "npmScript": "readiness:html",
      "file": {
        "path": "automation-readiness.html",
        "label": "automation-readiness.html",
        "exists": true,
        "size": 8387,
        "mtime": "2026-08-19T10:59:38.277Z"
      },
      "jsonPeer": {
        "path": "automation-readiness.json",
        "label": "automation-readiness.json",
        "exists": true,
        "size": 3977,
        "mtime": "2026-08-19T10:59:38.277Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "environment",
      "title": "Environment",
      "purpose": "本地環境與工具可用性",
      "npmScript": "environment:html",
      "file": {
        "path": "automation-environment.html",
        "label": "automation-environment.html",
        "exists": true,
        "size": 20000,
        "mtime": "2026-08-19T10:59:37.886Z"
      },
      "jsonPeer": {
        "path": "automation-environment.json",
        "label": "automation-environment.json",
        "exists": true,
        "size": 20153,
        "mtime": "2026-08-19T10:59:37.881Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "entrypoints",
      "title": "Entry points",
      "purpose": "雙擊入口選擇",
      "npmScript": "entrypoints:html",
      "file": {
        "path": "automation-entrypoints.html",
        "label": "automation-entrypoints.html",
        "exists": true,
        "size": 28179,
        "mtime": "2026-08-19T10:59:38.468Z"
      },
      "jsonPeer": {
        "path": "automation-entrypoints.json",
        "label": "automation-entrypoints.json",
        "exists": true,
        "size": 19937,
        "mtime": "2026-08-19T10:59:38.468Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "operator-pick",
      "title": "Operator pick",
      "purpose": "目前推薦入口的人可讀解析頁",
      "npmScript": "operator:pick:html",
      "file": {
        "path": "operator-pick.html",
        "label": "operator-pick.html",
        "exists": true,
        "size": 7688,
        "mtime": "2026-08-19T10:59:39.626Z"
      },
      "jsonPeer": {
        "path": "operator-pick.json",
        "label": "operator-pick.json",
        "exists": true,
        "size": 3058,
        "mtime": "2026-08-19T10:59:40.464Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "capabilities",
      "title": "Capabilities",
      "purpose": "能力矩陣",
      "npmScript": "capabilities:html",
      "file": {
        "path": "automation-capabilities.html",
        "label": "automation-capabilities.html",
        "exists": true,
        "size": 20980,
        "mtime": "2026-08-19T10:59:38.685Z"
      },
      "jsonPeer": {
        "path": "automation-capabilities.json",
        "label": "automation-capabilities.json",
        "exists": true,
        "size": 7764,
        "mtime": "2026-08-19T10:59:38.684Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "freshness",
      "title": "Freshness",
      "purpose": "報告同步狀態",
      "npmScript": "freshness:html",
      "file": {
        "path": "automation-freshness.html",
        "label": "automation-freshness.html",
        "exists": true,
        "size": 20766,
        "mtime": "2026-08-19T10:59:29.850Z"
      },
      "jsonPeer": {
        "path": "automation-freshness.json",
        "label": "automation-freshness.json",
        "exists": true,
        "size": 48260,
        "mtime": "2026-08-19T10:59:29.843Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "impact",
      "title": "Impact",
      "purpose": "自動化改善影響",
      "npmScript": "impact:html",
      "file": {
        "path": "automation-impact.html",
        "label": "automation-impact.html",
        "exists": true,
        "size": 108636,
        "mtime": "2026-08-19T10:59:38.620Z"
      },
      "jsonPeer": {
        "path": "automation-impact.json",
        "label": "automation-impact.json",
        "exists": true,
        "size": 104197,
        "mtime": "2026-08-19T10:59:38.618Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "overview",
      "title": "Overview",
      "purpose": "總覽：排程、環境、能力、連結與驗收摘要",
      "npmScript": "overview:html",
      "file": {
        "path": "automation-overview.html",
        "label": "automation-overview.html",
        "exists": true,
        "size": 5072,
        "mtime": "2026-08-19T10:59:39.082Z"
      },
      "jsonPeer": {
        "path": "automation-overview.json",
        "label": "automation-overview.json",
        "exists": true,
        "size": 2067,
        "mtime": "2026-08-19T10:59:39.081Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "goal-coverage",
      "title": "Goal coverage",
      "purpose": "視覺化與可執行性的目標覆蓋矩陣",
      "npmScript": "goal:coverage",
      "file": {
        "path": "automation-goal-coverage.html",
        "label": "automation-goal-coverage.html",
        "exists": true,
        "size": 11548,
        "mtime": "2026-08-19T10:58:22.169Z"
      },
      "jsonPeer": {
        "path": "automation-goal-coverage.json",
        "label": "automation-goal-coverage.json",
        "exists": true,
        "size": 5926,
        "mtime": "2026-08-19T10:58:22.169Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "report-navigator",
      "title": "Report navigator",
      "purpose": "依用途分群的報表導航頁",
      "npmScript": "report:navigator",
      "file": {
        "path": "automation-report-navigator.html",
        "label": "automation-report-navigator.html",
        "exists": true,
        "size": 24287,
        "mtime": "2026-08-19T10:58:22.382Z"
      },
      "jsonPeer": {
        "path": "automation-report-navigator.json",
        "label": "automation-report-navigator.json",
        "exists": true,
        "size": 17973,
        "mtime": "2026-08-19T10:58:22.381Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "links",
      "title": "Links",
      "purpose": "本地連結檢查",
      "npmScript": "links:html",
      "file": {
        "path": "automation-links.html",
        "label": "automation-links.html",
        "exists": true,
        "size": 317019,
        "mtime": "2026-08-19T10:59:38.217Z"
      },
      "jsonPeer": {
        "path": "automation-links.json",
        "label": "automation-links.json",
        "exists": true,
        "size": 280874,
        "mtime": "2026-08-19T10:59:38.151Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "manifest",
      "title": "Manifest",
      "purpose": "正式頁與入口 source of truth",
      "npmScript": "manifest:html",
      "file": {
        "path": "automation-manifest.html",
        "label": "automation-manifest.html",
        "exists": true,
        "size": 40002,
        "mtime": "2026-08-19T10:59:38.754Z"
      },
      "jsonPeer": {
        "path": "automation-manifest.json",
        "label": "automation-manifest.json",
        "exists": true,
        "size": 56393,
        "mtime": "2026-08-19T10:59:38.752Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "manifest-check",
      "title": "Manifest check",
      "purpose": "manifest 驗收結果",
      "npmScript": "manifest:check",
      "file": {
        "path": "automation-manifest-check.html",
        "label": "automation-manifest-check.html",
        "exists": true,
        "size": 52876,
        "mtime": "2026-08-19T10:59:38.827Z"
      },
      "jsonPeer": {
        "path": "automation-manifest-check.json",
        "label": "automation-manifest-check.json",
        "exists": true,
        "size": 47039,
        "mtime": "2026-08-19T10:59:38.825Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "ui-smoke",
      "title": "UI smoke",
      "purpose": "視覺頁 smoke test",
      "npmScript": "ui:smoke",
      "file": {
        "path": "automation-ui-smoke.html",
        "label": "automation-ui-smoke.html",
        "exists": true,
        "size": 135664,
        "mtime": "2026-08-19T10:59:45.799Z"
      },
      "jsonPeer": {
        "path": "automation-ui-smoke.json",
        "label": "automation-ui-smoke.json",
        "exists": true,
        "size": 148917,
        "mtime": "2026-08-19T10:59:45.794Z"
      },
      "scriptAvailable": true
    },
    {
      "id": "manual-actions",
      "title": "Manual actions",
      "purpose": "人工/外部邊界",
      "npmScript": "manual:actions",
      "file": {
        "path": "manual-actions.html",
        "label": "manual-actions.html",
        "exists": true,
        "size": 6588,
        "mtime": "2026-08-19T10:58:55.479Z"
      },
      "jsonPeer": {
        "path": "manual-actions.json",
        "label": "manual-actions.json",
        "exists": false,
        "size": 0,
        "mtime": ""
      },
      "scriptAvailable": true
    },
    {
      "id": "openwiki",
      "title": "OpenWiki quickstart",
      "purpose": "本地論文知識庫",
      "npmScript": "wiki:update",
      "file": {
        "path": "openwiki/quickstart.md",
        "label": "openwiki/quickstart.md",
        "exists": true,
        "size": 1472,
        "mtime": "2026-08-19T10:59:08.267Z"
      },
      "jsonPeer": null,
      "scriptAvailable": true
    }
  ],
  "commandFiles": [
    {
      "id": "START-HERE",
      "purpose": "人類日常第一入口：刷新 Operator Pick 並打開目前推薦入口",
      "executesWorkflow": false,
      "file": {
        "path": "START-HERE.command",
        "label": "START-HERE.command",
        "exists": true,
        "size": 3517,
        "mtime": "2026-08-14T04:43:12.251Z"
      },
      "executable": true
    },
    {
      "id": "open-control-center",
      "purpose": "只開控制中心",
      "executesWorkflow": false,
      "file": {
        "path": "open-control-center.command",
        "label": "open-control-center.command",
        "exists": true,
        "size": 1712,
        "mtime": "2026-08-14T05:49:01.241Z"
      },
      "executable": true
    },
    {
      "id": "do-recommended",
      "purpose": "讀取 Operator Pick 並打開目前推薦入口",
      "executesWorkflow": false,
      "file": {
        "path": "do-recommended.command",
        "label": "do-recommended.command",
        "exists": true,
        "size": 2717,
        "mtime": "2026-08-14T04:43:22.001Z"
      },
      "executable": true
    },
    {
      "id": "sync-visuals",
      "purpose": "同步視覺報表與控制台，不跑 paper pipeline",
      "executesWorkflow": false,
      "file": {
        "path": "sync-visuals.command",
        "label": "sync-visuals.command",
        "exists": true,
        "size": 2392,
        "mtime": "2026-08-14T05:45:14.776Z"
      },
      "executable": true
    },
    {
      "id": "open-cockpit",
      "purpose": "刷新並打開 execution cockpit",
      "executesWorkflow": false,
      "file": {
        "path": "open-cockpit.command",
        "label": "open-cockpit.command",
        "exists": true,
        "size": 1758,
        "mtime": "2026-08-14T05:43:27.616Z"
      },
      "executable": true
    },
    {
      "id": "open-live-monitor",
      "purpose": "持續刷新並打開 live monitor",
      "executesWorkflow": false,
      "file": {
        "path": "open-live-monitor.command",
        "label": "open-live-monitor.command",
        "exists": true,
        "size": 1557,
        "mtime": "2026-08-14T06:37:52.455Z"
      },
      "executable": true
    },
    {
      "id": "open-decision",
      "purpose": "刷新並打開一句話決策頁",
      "executesWorkflow": false,
      "file": {
        "path": "open-decision.command",
        "label": "open-decision.command",
        "exists": true,
        "size": 1663,
        "mtime": "2026-08-14T05:43:27.945Z"
      },
      "executable": true
    },
    {
      "id": "open-executability",
      "purpose": "刷新並打開可執行性稽核頁",
      "executesWorkflow": false,
      "file": {
        "path": "open-executability.command",
        "label": "open-executability.command",
        "exists": true,
        "size": 1734,
        "mtime": "2026-08-14T07:38:34.070Z"
      },
      "executable": true
    },
    {
      "id": "open-safe-terminal",
      "purpose": "刷新並打開可安全貼上的 Terminal 指令頁",
      "executesWorkflow": false,
      "file": {
        "path": "open-safe-terminal.command",
        "label": "open-safe-terminal.command",
        "exists": true,
        "size": 1887,
        "mtime": "2026-08-14T13:22:55.287Z"
      },
      "executable": true
    },
    {
      "id": "open-health",
      "purpose": "刷新並打開 automation health report",
      "executesWorkflow": false,
      "file": {
        "path": "open-health.command",
        "label": "open-health.command",
        "exists": true,
        "size": 1810,
        "mtime": "2026-08-14T04:57:07.187Z"
      },
      "executable": true
    },
    {
      "id": "open-automation-manifest",
      "purpose": "刷新並打開 automation manifest",
      "executesWorkflow": false,
      "file": {
        "path": "open-automation-manifest.command",
        "label": "open-automation-manifest.command",
        "exists": true,
        "size": 1842,
        "mtime": "2026-08-14T05:43:27.778Z"
      },
      "executable": true
    },
    {
      "id": "open-daily-brief",
      "purpose": "刷新並打開 10:00 閱讀入口",
      "executesWorkflow": false,
      "file": {
        "path": "open-daily-brief.command",
        "label": "open-daily-brief.command",
        "exists": true,
        "size": 1865,
        "mtime": "2026-08-14T05:39:59.471Z"
      },
      "executable": true
    },
    {
      "id": "open-current-run",
      "purpose": "打開目前 run folder 與主要輸出檔",
      "executesWorkflow": false,
      "file": {
        "path": "open-current-run.command",
        "label": "open-current-run.command",
        "exists": true,
        "size": 1746,
        "mtime": "2026-08-14T05:20:05.610Z"
      },
      "executable": true
    },
    {
      "id": "open-receipt",
      "purpose": "刷新並打開最近一次自動化收據",
      "executesWorkflow": false,
      "file": {
        "path": "open-receipt.command",
        "label": "open-receipt.command",
        "exists": true,
        "size": 1681,
        "mtime": "2026-08-14T06:21:52.426Z"
      },
      "executable": true
    },
    {
      "id": "open-debug-dashboard",
      "purpose": "刷新並打開排錯儀表板",
      "executesWorkflow": false,
      "file": {
        "path": "open-debug-dashboard.command",
        "label": "open-debug-dashboard.command",
        "exists": true,
        "size": 2566,
        "mtime": "2026-08-14T05:27:41.568Z"
      },
      "executable": true
    },
    {
      "id": "open-latest-failure",
      "purpose": "打開最近 failed step 的 stdout/stderr",
      "executesWorkflow": false,
      "file": {
        "path": "open-latest-failure.command",
        "label": "open-latest-failure.command",
        "exists": true,
        "size": 3977,
        "mtime": "2026-08-14T05:31:07.391Z"
      },
      "executable": true
    },
    {
      "id": "open-gpt-handoff-bundle",
      "purpose": "一次開齊 GPT handoff 與 mega.md",
      "executesWorkflow": false,
      "file": {
        "path": "open-gpt-handoff-bundle.command",
        "label": "open-gpt-handoff-bundle.command",
        "exists": true,
        "size": 1796,
        "mtime": "2026-08-14T05:39:59.573Z"
      },
      "executable": true
    },
    {
      "id": "check-automation",
      "purpose": "快速健檢，不重跑 paper pipeline",
      "executesWorkflow": false,
      "file": {
        "path": "check-automation.command",
        "label": "check-automation.command",
        "exists": true,
        "size": 2270,
        "mtime": "2026-08-14T05:01:25.213Z"
      },
      "executable": true
    },
    {
      "id": "run-automation",
      "purpose": "完整 local pipeline + 驗收",
      "executesWorkflow": true,
      "file": {
        "path": "run-automation.command",
        "label": "run-automation.command",
        "exists": true,
        "size": 3126,
        "mtime": "2026-08-14T05:57:46.965Z"
      },
      "executable": true
    },
    {
      "id": "install-launchd",
      "purpose": "安裝週四 06:00 LaunchAgent",
      "executesWorkflow": true,
      "file": {
        "path": "install-launchd.command",
        "label": "install-launchd.command",
        "exists": true,
        "size": 2656,
        "mtime": "2026-08-14T14:15:55.126Z"
      },
      "executable": true
    },
    {
      "id": "install-and-test-launchd",
      "purpose": "安裝 LaunchAgent 並立即觸發試跑",
      "executesWorkflow": true,
      "file": {
        "path": "install-and-test-launchd.command",
        "label": "install-and-test-launchd.command",
        "exists": true,
        "size": 2601,
        "mtime": "2026-08-14T14:15:55.272Z"
      },
      "executable": true
    },
    {
      "id": "repair-launchd",
      "purpose": "修復 LaunchAgent 安裝/載入",
      "executesWorkflow": true,
      "file": {
        "path": "repair-launchd.command",
        "label": "repair-launchd.command",
        "exists": true,
        "size": 2242,
        "mtime": "2026-08-14T14:15:55.409Z"
      },
      "executable": true
    },
    {
      "id": "diagnose-launchd",
      "purpose": "診斷 LaunchAgent，不重跑 pipeline",
      "executesWorkflow": false,
      "file": {
        "path": "diagnose-launchd.command",
        "label": "diagnose-launchd.command",
        "exists": true,
        "size": 1464,
        "mtime": "2026-08-14T05:52:54.095Z"
      },
      "executable": true
    },
    {
      "id": "kickstart-launchd",
      "purpose": "立即用 launchd 觸發一次",
      "executesWorkflow": true,
      "file": {
        "path": "kickstart-launchd.command",
        "label": "kickstart-launchd.command",
        "exists": true,
        "size": 2598,
        "mtime": "2026-08-14T14:19:00.340Z"
      },
      "executable": true
    }
  ],
  "npmScripts": [
    {
      "name": "dry-run",
      "command": "node scripts/create-run-from-fixture.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:dry-run",
      "command": "node scripts/run-paper-agent-workflow.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:search-plan",
      "command": "node scripts/prepare-paper-agent-search-plan.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:pubmed-search",
      "command": "node scripts/pubmed-paper-agent-search.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:novelty-check",
      "command": "node scripts/pubmed-novelty-check.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "external:pubmed-search",
      "command": "node scripts/pubmed-paper-agent-search.mjs --live-pubmed",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "external:pubmed-novelty-check",
      "command": "node scripts/pubmed-novelty-check.mjs --live-pubmed",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "paper-agent:pico",
      "command": "node scripts/generate-pico-from-novelty.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:literature-matrix",
      "command": "node scripts/generate-literature-matrix.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "paper-agent:complete",
      "command": "node scripts/generate-paper-agent-completion.mjs",
      "category": "paper-agent",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:init",
      "command": "node scripts/research-workflow.mjs init",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:matrix",
      "command": "node scripts/research-workflow.mjs matrix",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:themes",
      "command": "node scripts/research-workflow.mjs themes",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:synthesize",
      "command": "node scripts/research-workflow.mjs synthesize",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:representatives",
      "command": "node scripts/research-workflow.mjs representatives",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:review-draft",
      "command": "node scripts/research-workflow.mjs review-draft",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:self-review",
      "command": "node scripts/research-workflow.mjs self-review",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "research:map",
      "command": "node scripts/research-workflow.mjs map",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "reader",
      "command": "node scripts/reader-server.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:map",
      "command": "node scripts/generate-automation-map.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:doctor",
      "command": "node scripts/automation-doctor.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:local",
      "command": "node scripts/run-local-automation.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:run-and-verify",
      "command": "node scripts/run-and-verify-local.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:check",
      "command": "node scripts/check-automation-quick.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:local-html",
      "command": "node scripts/generate-local-pipeline-report.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "automation:preflight",
      "command": "node scripts/automation-preflight.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "operator:pick",
      "command": "node scripts/resolve-operator-pick.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "operator:pick:html",
      "command": "node scripts/generate-operator-pick-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "status:path",
      "command": "node scripts/resolve-current-status-path.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "status:path:html",
      "command": "node scripts/generate-current-status-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "sync:visuals",
      "command": "node scripts/sync-visual-reports.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "control:center",
      "command": "node scripts/generate-control-center.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "commands:html",
      "command": "node scripts/generate-command-catalog.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "actions:html",
      "command": "node scripts/generate-action-registry.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "health:html",
      "command": "node scripts/generate-health-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "links:check",
      "command": "node scripts/check-local-links.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "links:html",
      "command": "node scripts/generate-link-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "performance:html",
      "command": "node scripts/generate-performance-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "runbook:html",
      "command": "node scripts/generate-operator-runbook.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "readiness:html",
      "command": "node scripts/generate-readiness-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "schedule:html",
      "command": "node scripts/generate-schedule-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "environment:html",
      "command": "node scripts/generate-environment-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "executability:html",
      "command": "node scripts/generate-executability-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "overview:html",
      "command": "node scripts/generate-overview-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "receipt:html",
      "command": "node scripts/generate-run-receipt.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "status:html",
      "command": "node scripts/generate-status-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "state:html",
      "command": "node scripts/generate-state-snapshot.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "timeline:html",
      "command": "node scripts/generate-run-timeline.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "daily:brief",
      "command": "node scripts/generate-daily-brief.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "next:html",
      "command": "node scripts/generate-next-actions.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "decision:html",
      "command": "node scripts/generate-decision-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "entrypoints:html",
      "command": "node scripts/generate-entrypoints-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "cockpit:html",
      "command": "node scripts/generate-execution-cockpit.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "monitor:html",
      "command": "node scripts/generate-live-monitor.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "capabilities:html",
      "command": "node scripts/generate-capabilities-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "freshness:html",
      "command": "node scripts/generate-freshness-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "impact:html",
      "command": "node scripts/generate-impact-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "goal:coverage",
      "command": "node scripts/generate-goal-coverage-report.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "report:navigator",
      "command": "node scripts/generate-report-navigator.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "safe:terminal",
      "command": "node scripts/generate-safe-terminal-report.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "consistency:html",
      "command": "node scripts/generate-consistency-report.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "ui:smoke",
      "command": "node scripts/generate-ui-smoke-report.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "manifest:html",
      "command": "node scripts/generate-automation-manifest.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "manifest:check",
      "command": "node scripts/check-automation-manifest.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:install",
      "command": "node scripts/install-launchd.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:repair",
      "command": "node scripts/repair-launchd.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:test",
      "command": "node scripts/test-launchd-run.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:status",
      "command": "node scripts/launchd-status.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:kickstart",
      "command": "node scripts/kickstart-launchd.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:html",
      "command": "node scripts/generate-launchd-log-report.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "launchd:diagnose",
      "command": "node scripts/diagnose-launchd.mjs",
      "category": "launchd",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "manual:actions",
      "command": "node scripts/generate-manual-actions.mjs",
      "category": "visual-report",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "build-run",
      "command": "node scripts/build-run.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "single:trial",
      "command": "node scripts/create-single-article-trial.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "status:normalize",
      "command": "node scripts/normalize-status.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "journal:metrics",
      "command": "node scripts/apply-journal-metrics.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "gpt:handoff",
      "command": "node scripts/generate-gpt-pro-handoff.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "wiki:init",
      "command": "node scripts/generate-paper-wiki.mjs init",
      "category": "wiki",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "wiki:update",
      "command": "node scripts/generate-paper-wiki.mjs update",
      "category": "wiki",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "wiki:index",
      "command": "node scripts/generate-paper-wiki.mjs index",
      "category": "wiki",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "mega",
      "command": "node scripts/generate-mega.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "workflow",
      "command": "node scripts/generate-workflow.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "report",
      "command": "node scripts/generate-report.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "rag:queue",
      "command": "node scripts/generate-rag-queue.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "fetch:journals",
      "command": "node scripts/fetch-journals.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "fetch:journals:browser",
      "command": "node scripts/fetch-journals-browser.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "external:fetch:journals:browser",
      "command": "node scripts/fetch-journals-browser.mjs --live-browser",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "status:from-candidates",
      "command": "node scripts/status-from-candidates.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "status:mark-notion",
      "command": "node scripts/mark-notion-synced.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "article:apply-extract",
      "command": "node scripts/apply-article-extract.mjs",
      "category": "pipeline",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "notion:dedupe",
      "command": "node scripts/notion-dedupe.mjs",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "notion:dry-run",
      "command": "node scripts/notion-sync.mjs --dry-run",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "notion:sync",
      "command": "node scripts/notion-sync.mjs --live --confirm-notion-write",
      "category": "external/manual",
      "localOnly": false,
      "externalOrManual": true
    },
    {
      "name": "check",
      "command": "node scripts/check-run.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    },
    {
      "name": "verify:local",
      "command": "node scripts/verify-local-automation.mjs",
      "category": "automation",
      "localOnly": true,
      "externalOrManual": false
    }
  ],
  "ok": true
}
