{
  "schemaVersion": 1,
  "generatedAt": "2026-10-15T19:16:26.467Z",
  "sourceGeneratedAt": {
    "qualityAudit": "2026-10-15T19:00:24.037Z",
    "feedbackLoop": "2026-10-15T01:54:57.567Z",
    "feedbackIssues": "2026-10-15T19:16:22.535Z",
    "pdfCrosscheck": "2026-10-06T03:38:27.994Z",
    "practicalBatchPlan": "2026-10-06T00:40:38.174Z",
    "academicImageVerification": "2026-10-15T19:00:17.003Z",
    "redrawnImageLibrary": "2026-10-06T03:10:36.038Z",
    "indexingMonitor": "2026-06-15T03:05:03.217Z",
    "contentValueAudit": "2026-10-10T18:38:23.885Z",
    "contentDepthReport": "2026-10-10T15:51:30.540Z",
    "categoryGrowthReport": "2026-10-10T15:37:55.058Z",
    "aiCitationReadiness": "2026-10-15T16:52:56.963Z",
    "scraperImageMountAudit": "2026-10-15T18:59:37.548Z",
    "imageHealthReport": "2026-10-15T19:16:25.542Z",
    "imageRedrawQueue": "2026-10-15T19:16:25.059Z"
  },
  "summary": {
    "status": "active-backlog",
    "laneCount": 11,
    "openLaneCount": 3,
    "followUpLaneCount": 6,
    "openItemCount": 1829,
    "feedbackOpen": 0,
    "feedbackLoopOpen": 0,
    "feedbackIssueOpen": 0,
    "pdfOpen": 0,
    "practicalOpen": 24,
    "redrawnOpen": 1803,
    "imageRedrawOpen": 1803,
    "academicImageVerificationOpen": 0,
    "scraperImageOpen": 0,
    "indexingOpen": 2,
    "contentValueOpen": 0,
    "contentDepthOpen": 0,
    "categoryGrowthOpen": 0,
    "aiCitationOpen": 0,
    "adsenseOpen": 0,
    "scheduledJobCount": 0,
    "recommendedJobCount": 11,
    "releaseGateCount": 23
  },
  "lanes": [
    {
      "id": "feedback-intake",
      "label": "使用者回報閉環",
      "status": "operational",
      "metric": "27/27 deployed",
      "openCount": 0,
      "dataPath": "/data/feedback-loop.json",
      "route": "/feedback",
      "owner": "quality-ops",
      "nextAction": "API 收件後用 GitHub issue 或 email handoff 進入 PDF 對照。",
      "automations": [
        "/api/feedback",
        "npm run build:feedback-loop"
      ],
      "schedule": {
        "cadence": "hourly",
        "cron": "5 * * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-feedback-intake",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:feedback-loop",
          "npm run build:feedback-issues"
        ],
        "passCriteria": [
          "所有 open 回報需有定位資料",
          "已修正回報需標記 deployed"
        ]
      }
    },
    {
      "id": "feedback-github-inbox",
      "label": "GitHub 回報箱",
      "status": "operational",
      "metric": "0/61 open issues",
      "openCount": 0,
      "dataPath": "/data/feedback-issues.json",
      "route": "/quality",
      "owner": "quality-ops",
      "nextAction": "新 issue 先標 status:received，再依 PDF 對照、修正、驗證、部署推進狀態。",
      "automations": [
        "npm run build:feedback-issues",
        "GitHub issue labels"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "10 09 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-feedback-github-inbox",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:feedback-issues"
        ],
        "passCriteria": [
          "open issue 不得失去題目定位",
          "已完成 issue 需有驗證與部署紀錄"
        ]
      }
    },
    {
      "id": "official-pdf-crosscheck",
      "label": "官方 PDF 對照",
      "status": "operational",
      "metric": "100% raw coverage",
      "openCount": 0,
      "dataPath": "/data/pdf-crosscheck.json",
      "route": "/quality",
      "owner": "question-bank",
      "nextAction": "source/out/visual 任一缺口回升時先停發並回到官方 PDF。",
      "automations": [
        "npm run audit:data",
        "npm run build:pdf-crosscheck"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "20 09 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-pdf-crosscheck",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run audit:data",
          "npm run build:pdf-crosscheck"
        ],
        "passCriteria": [
          "raw/sourceHash/out 溯源覆蓋率需維持 100%",
          "active PDF 缺口需為 0"
        ]
      }
    },
    {
      "id": "redrawn-library",
      "label": "圖資健康與 SVG 重繪圖庫",
      "status": "attention",
      "metric": "3644/3644 mounted · 5678 refs checked · 0 PDF reviews · 1803 raster queued",
      "openCount": 1803,
      "dataPath": "/data/image-health-report.json",
      "route": "/quality",
      "owner": "visual-quality",
      "nextAction": "優先複用共用符號，再批次掛載 optionImages/images；scraper/out 不得掉圖。",
      "automations": [
        "npm run build:academic-image-verification",
        "npm run build:academic-image-review-workqueue",
        "npm run build:redrawn-library",
        "npm run build:image-redraw-queue",
        "npm run audit:scraper-images",
        "npm run build:image-health",
        "npm run audit:prod-images"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "30 09 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-image-mounts",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:academic-image-verification",
          "npm run build:academic-image-review-workqueue",
          "npm run build:redrawn-library",
          "npm run build:image-redraw-queue",
          "npm run audit:scraper-images",
          "npm run build:image-health",
          "npm run audit:prod-images"
        ],
        "passCriteria": [
          "學科題圖不得有 pending-review 或 needs-fix",
          "SVG 需全部被題目引用",
          "raster 題圖需列入重繪隊列",
          "public/data 圖片引用需存在",
          "scraper/out 需保留 images/optionImages"
        ]
      }
    },
    {
      "id": "practical-productization",
      "label": "術科產品化",
      "status": "attention",
      "metric": "3 active batches",
      "openCount": 24,
      "dataPath": "/data/practical-batch-plan.json",
      "route": "/practical",
      "owner": "practical-content",
      "nextAction": "用批次計畫合併處理多缺口職類，先補評分、材料工具與可用步驟。",
      "automations": [
        "npm run audit:practical:report",
        "npm run build:practical-batch-plan"
      ],
      "schedule": {
        "cadence": "weekly",
        "cron": "30 09 * * 1",
        "timezone": "Asia/Taipei",
        "jobId": "quality-practical-workqueue",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run audit:practical:report",
          "npm run build:practical-batch-plan",
          "npm run verify:data"
        ],
        "passCriteria": [
          "術科批次需有官方 PDF",
          "interactive 狀態不得缺核心材料、步驟與評分"
        ]
      }
    },
    {
      "id": "indexing-watchlist",
      "label": "搜尋索引監控",
      "status": "monitoring",
      "metric": "2/4 sitemap-covered",
      "openCount": 2,
      "dataPath": "/data/indexing-monitor.json",
      "route": "/quality",
      "owner": "technical-seo",
      "nextAction": "站內 sitemap/canonical/robots 策略一致後等待 GSC 回補；失敗時讀 exact example URL 再處理。",
      "automations": [
        "npm run audit:prod-seo",
        "npm run build:indexing-monitor"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "45 09 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-indexing-watchlist",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run audit:prod-seo",
          "npm run build:indexing-monitor"
        ],
        "passCriteria": [
          "監控 URL 需符合 sitemap policy",
          "canonical/robots/route 需通過"
        ]
      }
    },
    {
      "id": "content-value-audit",
      "label": "內容價值與薄內容稽核",
      "status": "operational",
      "metric": "357 pages scanned",
      "openCount": 0,
      "dataPath": "/data/content-value-audit.json",
      "route": "/quality",
      "owner": "monetization-seo",
      "nextAction": "維持每日 content-value audit，避免新增薄內容或廣告審查風險。",
      "automations": [
        "npm run audit:content-value",
        "npm run audit:adsense"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "0 10 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-content-value",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run audit:content-value",
          "npm run audit:adsense"
        ],
        "passCriteria": [
          "薄內容、弱內鏈與 metadata error 需為 0",
          "AdSense 誘導點擊風險需為 0"
        ]
      }
    },
    {
      "id": "content-depth-ai",
      "label": "內容深度與 AI 引用",
      "status": "operational",
      "metric": "54/54 articles enhanced",
      "openCount": 0,
      "dataPath": "/data/content-depth-report.json",
      "route": "/quality#content-depth",
      "owner": "content-seo",
      "nextAction": "維持 ArticleDepthBlock、topic cluster 與資料品質訊號同步，避免新增學習指南變薄。",
      "automations": [
        "npm run build:content-depth",
        "npm run verify:data"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "8 10 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-content-depth-ai",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:content-depth",
          "npm run verify:data"
        ],
        "passCriteria": [
          "所有學習指南需掛內容深度模組",
          "topic cluster 與資料品質訊號需通過"
        ]
      }
    },
    {
      "id": "category-growth",
      "label": "職類頁 SEO 成長隊列",
      "status": "monitoring",
      "metric": "24 opportunities · 13 P0",
      "openCount": 0,
      "dataPath": "/data/category-growth-opportunities.json",
      "route": "/quality#category-growth",
      "owner": "content-seo",
      "nextAction": "每週從高價值職類頁推進 title、快速答案、品質內鏈與術科入口實驗。",
      "automations": [
        "npm run build:category-growth",
        "npm run audit:content-value"
      ],
      "schedule": {
        "cadence": "weekly",
        "cron": "20 10 * * 1",
        "timezone": "Asia/Taipei",
        "jobId": "quality-category-growth",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:category-growth",
          "npm run audit:content-value"
        ],
        "passCriteria": [
          "高價值職類頁需有快速答案",
          "每個 target 需連到測驗、術科與品質證據"
        ]
      }
    },
    {
      "id": "ai-citation-readiness",
      "label": "AI 引用準備度",
      "status": "monitoring",
      "metric": "score 100 · 18 targets",
      "openCount": 0,
      "dataPath": "/data/ai-citation-readiness.json",
      "route": "/quality#ai-citation-readiness",
      "owner": "content-seo",
      "nextAction": "維持 robots/llms/FAQ/structured data/品質證據可被引用，GSC 匯入後回補真實查詢。",
      "automations": [
        "npm run build:ai-citation",
        "npm run audit:prod-seo"
      ],
      "schedule": {
        "cadence": "weekly",
        "cron": "30 10 * * 1",
        "timezone": "Asia/Taipei",
        "jobId": "quality-ai-citation-readiness",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run build:ai-citation",
          "npm run audit:prod-seo"
        ],
        "passCriteria": [
          "AI crawler robots policy 需明確",
          "llms.txt、快速答案與結構化資料需通過"
        ]
      }
    },
    {
      "id": "adsense-readiness",
      "label": "AdSense 審查準備度",
      "status": "monitoring",
      "metric": "政策頁、ads.txt、公開內容頁與 no-ad 工具頁 gate enabled",
      "openCount": 0,
      "dataPath": "/data/quality-operations.json",
      "route": "/editorial-policy",
      "owner": "monetization-seo",
      "nextAction": "AdSense 後台按 Check for updates / Request review，站內每日用 audit:adsense 確認審查面。",
      "automations": [
        "npm run audit:adsense",
        "npm run audit:prod-seo"
      ],
      "schedule": {
        "cadence": "daily",
        "cron": "15 10 * * *",
        "timezone": "Asia/Taipei",
        "jobId": "quality-adsense-readiness",
        "executionStatus": "recommended",
        "executionEvidence": null
      },
      "releaseGate": {
        "blocksRelease": true,
        "commands": [
          "npm run audit:adsense",
          "npm run audit:prod-seo"
        ],
        "passCriteria": [
          "ads.txt、政策頁、公開內容頁 AdSense script 需通過",
          "不得出現誘導點擊或誤導式廣告文案"
        ]
      }
    }
  ],
  "serviceLevels": [
    {
      "id": "high-severity-question",
      "label": "答案/題幹/缺圖",
      "target": "24 小時內定位，72 小時內 PDF 對照與修正決策"
    },
    {
      "id": "practical-batch",
      "label": "術科批次",
      "target": "每批先清高重複或多缺口職類，完成後才展開下一批"
    },
    {
      "id": "indexing",
      "label": "索引異常",
      "target": "站內條件每日檢查，GSC 驗證失敗時加入 watchlist"
    },
    {
      "id": "adsense-review",
      "label": "AdSense 審查",
      "target": "公開內容、政策頁、ads.txt 與 no-ad 工具頁每日檢查，後台狀態變更時記錄"
    },
    {
      "id": "content-value",
      "label": "內容價值",
      "target": "每日掃 sitemap 可索引頁，薄內容、metadata、canonical、JSON-LD 與 AdSense 風險為 0 error"
    },
    {
      "id": "content-depth-ai",
      "label": "內容深度 / AI 引用",
      "target": "新增學習指南需掛快速答案、品質依據、topic cluster 內鏈與資料品質訊號"
    }
  ],
  "releaseGates": [
    "npm run verify:data",
    "npm run audit:data",
    "npm run lint",
    "npm run test",
    "npm run build",
    "npm run audit:prod-seo",
    "npm run audit:content-value",
    "npm run audit:adsense",
    "npm run build:redrawn-library",
    "npm run build:academic-image-verification",
    "npm run build:academic-image-review-workqueue",
    "npm run build:image-redraw-queue",
    "npm run build:image-health",
    "npm run audit:scraper-images",
    "npm run audit:prod-images",
    "npm run build:search-console-report",
    "npm run build:category-growth",
    "npm run build:ai-citation",
    "npm run build:maintenance-queue",
    "npm run build:resolved-workpacks",
    "npm run build:content-depth",
    "npm run audit:prod-seo:report",
    "npm run audit:prod-deploy"
  ],
  "scheduledJobs": [
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-feedback-intake",
      "label": "使用者回報閉環",
      "cadence": "hourly",
      "cron": "5 * * * *",
      "timezone": "Asia/Taipei",
      "owner": "quality-ops",
      "commands": [
        "npm run build:feedback-loop"
      ],
      "successCriteria": [
        "所有 open 回報需有定位資料",
        "已修正回報需標記 deployed"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-feedback-github-inbox",
      "label": "GitHub 回報箱",
      "cadence": "daily",
      "cron": "10 09 * * *",
      "timezone": "Asia/Taipei",
      "owner": "quality-ops",
      "commands": [
        "npm run build:feedback-issues"
      ],
      "successCriteria": [
        "open issue 不得失去題目定位",
        "已完成 issue 需有驗證與部署紀錄"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-pdf-crosscheck",
      "label": "官方 PDF 對照",
      "cadence": "daily",
      "cron": "20 09 * * *",
      "timezone": "Asia/Taipei",
      "owner": "question-bank",
      "commands": [
        "npm run audit:data",
        "npm run build:pdf-crosscheck"
      ],
      "successCriteria": [
        "raw/sourceHash/out 溯源覆蓋率需維持 100%",
        "active PDF 缺口需為 0"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-image-mounts",
      "label": "圖資健康與 SVG 重繪圖庫",
      "cadence": "daily",
      "cron": "30 09 * * *",
      "timezone": "Asia/Taipei",
      "owner": "visual-quality",
      "commands": [
        "npm run build:academic-image-verification",
        "npm run build:academic-image-review-workqueue",
        "npm run build:redrawn-library",
        "npm run build:image-redraw-queue",
        "npm run audit:scraper-images",
        "npm run build:image-health",
        "npm run audit:prod-images"
      ],
      "successCriteria": [
        "學科題圖不得有 pending-review 或 needs-fix",
        "SVG 需全部被題目引用",
        "raster 題圖需列入重繪隊列",
        "public/data 圖片引用需存在",
        "scraper/out 需保留 images/optionImages"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-practical-workqueue",
      "label": "術科產品化",
      "cadence": "weekly",
      "cron": "30 09 * * 1",
      "timezone": "Asia/Taipei",
      "owner": "practical-content",
      "commands": [
        "npm run audit:practical:report",
        "npm run build:practical-batch-plan"
      ],
      "successCriteria": [
        "術科批次需有官方 PDF",
        "interactive 狀態不得缺核心材料、步驟與評分"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-indexing-watchlist",
      "label": "搜尋索引監控",
      "cadence": "daily",
      "cron": "45 09 * * *",
      "timezone": "Asia/Taipei",
      "owner": "technical-seo",
      "commands": [
        "npm run audit:prod-seo",
        "npm run build:indexing-monitor"
      ],
      "successCriteria": [
        "監控 URL 需符合 sitemap policy",
        "canonical/robots/route 需通過"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-content-value",
      "label": "內容價值與薄內容稽核",
      "cadence": "daily",
      "cron": "0 10 * * *",
      "timezone": "Asia/Taipei",
      "owner": "monetization-seo",
      "commands": [
        "npm run audit:content-value",
        "npm run audit:adsense"
      ],
      "successCriteria": [
        "薄內容、弱內鏈與 metadata error 需為 0",
        "AdSense 誘導點擊風險需為 0"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-content-depth-ai",
      "label": "內容深度與 AI 引用",
      "cadence": "daily",
      "cron": "8 10 * * *",
      "timezone": "Asia/Taipei",
      "owner": "content-seo",
      "commands": [
        "npm run build:content-depth",
        "npm run verify:data"
      ],
      "successCriteria": [
        "所有學習指南需掛內容深度模組",
        "topic cluster 與資料品質訊號需通過"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-category-growth",
      "label": "職類頁 SEO 成長隊列",
      "cadence": "weekly",
      "cron": "20 10 * * 1",
      "timezone": "Asia/Taipei",
      "owner": "content-seo",
      "commands": [
        "npm run build:category-growth",
        "npm run audit:content-value"
      ],
      "successCriteria": [
        "高價值職類頁需有快速答案",
        "每個 target 需連到測驗、術科與品質證據"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-ai-citation-readiness",
      "label": "AI 引用準備度",
      "cadence": "weekly",
      "cron": "30 10 * * 1",
      "timezone": "Asia/Taipei",
      "owner": "content-seo",
      "commands": [
        "npm run build:ai-citation",
        "npm run audit:prod-seo"
      ],
      "successCriteria": [
        "AI crawler robots policy 需明確",
        "llms.txt、快速答案與結構化資料需通過"
      ]
    },
    {
      "executionStatus": "recommended",
      "executionEvidence": null,
      "id": "quality-adsense-readiness",
      "label": "AdSense 審查準備度",
      "cadence": "daily",
      "cron": "15 10 * * *",
      "timezone": "Asia/Taipei",
      "owner": "monetization-seo",
      "commands": [
        "npm run audit:adsense",
        "npm run audit:prod-seo"
      ],
      "successCriteria": [
        "ads.txt、政策頁、公開內容頁 AdSense script 需通過",
        "不得出現誘導點擊或誤導式廣告文案"
      ]
    }
  ]
}
