{
 "schema": "ampm-loop-status-v1",
 "cycle_ledger": {
  "note": "每圈只記比上一圈多做的事；idle_laps＝沒有實質新事（只有例行整理或空轉）的圈數",
  "date": "2026-10-24",
  "laps": 51,
  "active_laps": 28,
  "idle_laps": 23,
  "rows": [
   {
    "at": "00:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "成長：升成經驗／驗證知識 9 件",
     "控制器改加權：general、影片、api → general、影片、search"
    ]
   },
   {
    "at": "00:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "寫手：近 7 天稿量 41 → 42"
    ]
   },
   {
    "at": "01:21",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 1 件",
     "清理：3 件（到期工作 1、重複 2）",
     "成長：升成經驗／驗證知識 4 件",
     "外部新知：新收 9 則"
    ]
   },
   {
    "at": "01:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "成長：升成經驗／驗證知識 6 件",
     "⚠ 新異常：感測器"
    ]
   },
   {
    "at": "02:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "異常解除：感測器"
    ]
   },
   {
    "at": "03:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 5 件",
     "清理：7 件（到期工作 5、重複 2）",
     "寫手：近 7 天稿量 42 → 43"
    ]
   },
   {
    "at": "04:21",
    "did": [
     "清理：2 件（重複 2）",
     "成長：升成經驗／驗證知識 7 件",
     "外部新知：新收 8 則"
    ]
   },
   {
    "at": "04:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：5 件（到期工作 4、重複 1）",
     "成長：升成經驗／驗證知識 5 件"
    ]
   },
   {
    "at": "06:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 5 件",
     "清理：7 件（到期工作 5、重複 2）",
     "⚠ 新異常：紅燈:Engine"
    ]
   },
   {
    "at": "06:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：7 件（到期工作 4、重複 3）",
     "寫手：近 7 天稿量 43 → 44",
     "異常解除：紅燈:Engine"
    ]
   },
   {
    "at": "07:21",
    "did": [
     "清理：3 件（重複 3）",
     "成長：升成經驗／驗證知識 5 件",
     "外部新知：新收 4 則"
    ]
   },
   {
    "at": "07:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：5 件（到期工作 4、重複 1）",
     "⚠ 新異常：守衛:同步阻擋(法則雜湊與登記不一致)、紅燈:Engine"
    ]
   },
   {
    "at": "08:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "異常解除：守衛:同步阻擋(法則雜湊與登記不一致)、紅燈:Engine"
    ]
   },
   {
    "at": "09:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "寫手：近 7 天稿量 44 → 45"
    ]
   },
   {
    "at": "10:21",
    "did": [
     "清理：2 件（重複 2）",
     "成長：升成經驗／驗證知識 7 件",
     "外部新知：新收 10 則",
     "價格訊號：新增 2 筆（有新訊號才派複查單）",
     "⚠ 新異常：感測器"
    ]
   },
   {
    "at": "10:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：5 件（到期工作 4、重複 1）",
     "異常解除：感測器"
    ]
   },
   {
    "at": "12:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "控制器改加權：general、影片、search → general、影片、api",
     "寫手：近 7 天稿量 45 → 46"
    ]
   },
   {
    "at": "13:21",
    "did": [
     "清理：2 件（重複 2）",
     "成長：升成經驗／驗證知識 2 件",
     "外部新知：新收 2 則"
    ]
   },
   {
    "at": "15:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 5 件",
     "清理：8 件（到期工作 5、重複 3）",
     "寫手：近 7 天稿量 46 → 47",
     "⚠ 新異常：紅燈:Engine"
    ]
   },
   {
    "at": "15:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 3 件",
     "清理：6 件（到期工作 3、重複 3）",
     "異常解除：紅燈:Engine"
    ]
   },
   {
    "at": "16:21",
    "did": [
     "清理：3 件（重複 3）",
     "成長：升成經驗／驗證知識 3 件",
     "外部新知：新收 4 則"
    ]
   },
   {
    "at": "16:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：17 件（到期工作 4、重複 13）",
     "成長：升成經驗／驗證知識 1 件"
    ]
   },
   {
    "at": "17:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "⚠ 新異常：連敗:（內部程式）"
    ]
   },
   {
    "at": "17:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "寫手：近 7 天稿量 47 → 48"
    ]
   },
   {
    "at": "18:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：6 件（到期工作 4、重複 2）",
     "寫手：近 7 天稿量 48 → 49"
    ]
   },
   {
    "at": "19:21",
    "did": [
     "清理：2 件（重複 2）",
     "成長：升成經驗／驗證知識 2 件",
     "外部新知：新收 2 則"
    ]
   },
   {
    "at": "20:20",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 3 件",
     "清理：5 件（到期工作 3、重複 2）",
     "異常解除：連敗:（內部程式）"
    ]
   },
   {
    "at": "21:50",
    "did": [
     "記憶：把到期工作記憶收進事件記憶 4 件",
     "清理：9 件（到期工作 4、重複 5）",
     "寫手：近 7 天稿量 49 → 50"
    ]
   }
  ]
 },
 "as_of": "2026-10-24 21:52",
 "timezone": "Asia/Taipei",
 "license": "CC BY-SA 4.0",
 "how_to_read": "modules[].status：alive 準時／late 接近停機上限（尚未逾時）／event_driven 事件觸發／dead 逾時；次數只給級距。數字是 as_of 當下的快照，不是即時值。",
 "loop": {
  "as_of": "2026-10-24 21:52",
  "laps_24h": "10+",
  "last_lap": "10-24 21:50",
  "intake_24h": 202,
  "tidy_24h": 330,
  "absorb_24h": 55,
  "evolve_24h": 0
 },
 "writer": {
  "days": [
   {
    "date": "2026-10-23",
    "shifts": 8,
    "held": 4,
    "gate_fail": 0
   },
   {
    "date": "2026-10-24",
    "shifts": 8,
    "held": 1,
    "gate_fail": 0
   }
  ],
  "shifts_7d": 16,
  "held_7d": 5,
  "gate_fail_7d": 0,
  "held_today": 1
 },
 "sensor": {
  "sources": 253,
  "ok_24h": 228,
  "chronic_blocked": 25,
  "tools": 172,
  "browser_sources": 136,
  "browser_ok_24h": 126,
  "tools_read_48h": 170,
  "tools_price_extracted": 149,
  "no_price_tools": 21,
  "no_price_list": [
   "aider",
   "canva-ai",
   "capcut-ai",
   "comet",
   "gamma",
   "google-ai-studio",
   "ideogram",
   "leonardo",
   "livedocs",
   "luma",
   "magic-hour",
   "mistral",
   "moltbook",
   "monica",
   "pazi",
   "poe",
   "quillbot",
   "recraft",
   "sora",
   "trae",
   "yylo"
  ],
  "no_price_detail": {
   "monica": {
    "k": "match",
    "d": "2026-10-24"
   },
   "leonardo": {
    "k": "match",
    "d": "2026-10-24"
   },
   "ideogram": {
    "k": "match",
    "d": "2026-10-24"
   },
   "canva-ai": {
    "k": "match",
    "d": "2026-10-24"
   },
   "sora": {
    "k": "human",
    "d": "2026-10-13"
   },
   "capcut-ai": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "gamma": {
    "k": "pending",
    "d": "2026-10-21"
   },
   "google-ai-studio": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "comet": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "livedocs": {
    "k": "match",
    "d": "2026-10-24"
   },
   "poe": {
    "k": "human",
    "d": "2026-10-17"
   },
   "aider": {
    "k": "human",
    "d": "2026-10-10"
   },
   "pazi": {
    "k": "match",
    "d": "2026-10-24"
   },
   "magic-hour": {
    "k": "match",
    "d": "2026-10-24"
   },
   "mistral": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "moltbook": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "luma": {
    "k": "match",
    "d": "2026-10-24"
   },
   "recraft": {
    "k": "match",
    "d": "2026-10-24"
   },
   "trae": {
    "k": "match",
    "d": "2026-10-24"
   },
   "quillbot": {
    "k": "pending",
    "d": "2026-10-24"
   },
   "yylo": {
    "k": "pending",
    "d": "2026-10-24"
   }
  },
  "no_price_counts": {
   "human": 3,
   "match": 10,
   "pending": 8,
   "none": 0
  },
  "unread_list": [
   "civitai",
   "topaz-labs"
  ],
  "last_full_run": "2026-10-24 13:03 UTC",
  "last_full_run_failures": 1,
  "tab_expand": [
   "leonardo.ai (team)"
  ],
  "login_wall": [
   "hailuo-ai"
  ]
 },
 "seo": {
  "applied_pages": 79,
  "applied_today": 5,
  "landed": 46,
  "reverted": 3,
  "lost": 30,
  "lost_pages": [
   "/en/tools/felo/",
   "/en/guides/felo-free-usage-limits-2026/",
   "/en/guides/claudeforce-salesforce-open-beta-2026/",
   "/en/guides/claude-fable-5-1-copilot-data-retention-2026/",
   "/en/guides/copilot-4-models-deprecated-oct-2-2026/",
   "/en/guides/deepl-glossary-zh-hant-v3-setup-2026/",
   "/en/guides/grok-pricing-2026/",
   "/free/",
   "/en/guides/leonardo-howto-2026/",
   "/tools/chatgpt/",
   "/tools/udio/",
   "/en/guides/pika-howto-2026/"
  ],
  "waiting": 65,
  "next_judge": "2026-10-25",
  "guard_at": "2026-10-24"
 },
 "absorb": {
  "absorbed_total": 591,
  "tools_covered": 18,
  "offered_urls": 30,
  "cited_urls": 9,
  "topic_bonus": 0,
  "price_signals": 17,
  "price_confirmed": 3,
  "growth_gap": [
   {
    "tool": "elevenlabs",
    "sources": 2,
    "items": 3,
    "site_articles_14d": 0
   }
  ]
 },
 "hot": {
  "total": 1,
  "written": 0,
  "ready": 1,
  "blocked": 0,
  "items": [
   {
    "tool": "chatgpt",
    "title": "OpenAI now trains its frontier AI models with no internet ac",
    "sources": 3,
    "status": "ready"
   }
  ],
  "sim_rejected_today": 0,
  "sim_last_pct": null,
  "sim_threshold_pct": 30
 },
 "reliability": {
  "days": [
   {
    "date": "2026-10-18",
    "runs": 2536,
    "failed": 23,
    "run_ok_pct": 99.09,
    "deploy_ok": 17,
    "deploy_blocked": 2,
    "deploy_deferred": 3
   },
   {
    "date": "2026-10-19",
    "runs": 2556,
    "failed": 23,
    "run_ok_pct": 99.1,
    "deploy_ok": 9,
    "deploy_blocked": 2,
    "deploy_deferred": 4
   },
   {
    "date": "2026-10-20",
    "runs": 2639,
    "failed": 18,
    "run_ok_pct": 99.32,
    "deploy_ok": 6,
    "deploy_blocked": 2,
    "deploy_deferred": 9
   },
   {
    "date": "2026-10-21",
    "runs": 4378,
    "failed": 74,
    "run_ok_pct": 98.31,
    "deploy_ok": 3,
    "deploy_blocked": 3,
    "deploy_deferred": 11
   },
   {
    "date": "2026-10-22",
    "runs": 4483,
    "failed": 15,
    "run_ok_pct": 99.67,
    "deploy_ok": 13,
    "deploy_blocked": 5,
    "deploy_deferred": 2
   },
   {
    "date": "2026-10-23",
    "runs": 4522,
    "failed": 62,
    "run_ok_pct": 98.63,
    "deploy_ok": 3,
    "deploy_blocked": 1,
    "deploy_deferred": 0
   },
   {
    "date": "2026-10-24",
    "runs": 4432,
    "failed": 17,
    "run_ok_pct": 99.62,
    "deploy_ok": 12,
    "deploy_blocked": 0,
    "deploy_deferred": 3
   }
  ],
  "runs_7d": 25546,
  "failed_7d": 232,
  "run_ok_pct_7d": 99.09,
  "deploy_ok_7d": 63,
  "deploy_blocked_7d": 15,
  "deploy_deferred_7d": 32,
  "deploy_deferred_reasons": {
   "wip": 20,
   "gate": 10,
   "transient": 1,
   "other": 1
  },
  "deploy_ok_pct_7d": 80.8,
  "note": "run_ok_pct＝SUCCESS／（SUCCESS＋FAILED）的 run 紀錄；今天尚未結束，是當下累計。deploy 以批次計：同一批有任一旗標 .done 算上線，否則算被擋（被擋常是閘門攔下有問題的內容，屬防護生效，不等於故障）。"
 },
 "selfcheck": {
  "at": "2026-10-24 21:52",
  "scripts_scanned": 148,
  "files_with_findings": 0
 },
 "derived": {
  "total": 670,
  "synced": 301,
  "rewrite": 35,
  "source_stale": 1,
  "grace": 333,
  "lag": 0,
  "no_source": 0,
  "last_run": "2026-10-24 10:10",
  "by_table": {
   "比較頁": {
    "total": 209,
    "grace": 67,
    "synced": 141,
    "source_stale": 1
   },
   "雙貓評語": {
    "total": 126,
    "rewrite": 17,
    "synced": 36,
    "grace": 73
   },
   "免費額度": {
    "total": 176,
    "grace": 97,
    "synced": 77,
    "rewrite": 2
   },
   "方案細節": {
    "total": 137,
    "grace": 85,
    "synced": 42,
    "rewrite": 10
   },
   "優惠頁": {
    "total": 22,
    "rewrite": 6,
    "grace": 11,
    "synced": 5
   }
  }
 },
 "preflight": {
  "runs_7d": 130,
  "passed_7d": 93,
  "stopped_7d": 37,
  "last": "2026-10-24 20:44",
  "gate_blocked_7d": 13,
  "gate_blocked_flags_7d": 16
 },
 "gate_quality": {
  "run_at": "2026-10-24 13:22 UTC",
  "sources": 1,
  "http_failed": 0,
  "known_blocked": 0,
  "browser_covered": 0,
  "covered_list": [],
  "unexcused": 0,
  "unexcused_list": [],
  "gate_open": true
 },
 "writer_latency": {
  "shifts_48h": 15,
  "live_48h": 15,
  "waiting": 0,
  "median_min": 0,
  "max_min": 880,
  "selfdeploy": 9,
  "recent": [
   {
    "end": "10-24 09:43",
    "n": 1,
    "min": 0
   },
   {
    "end": "10-24 12:30",
    "n": 1,
    "min": 0
   },
   {
    "end": "10-24 15:22",
    "n": 1,
    "min": 262
   },
   {
    "end": "10-24 18:52",
    "n": 1,
    "min": 0
   }
  ]
 },
 "modules": {
  "pulse_at": "2026-10-24T21:50:20+08:00",
  "list": [
   {
    "id": "Scheduler",
    "name_zh": "排程器",
    "status": "alive",
    "age_h": 0.1
   },
   {
    "id": "Engine",
    "name_zh": "執行引擎",
    "status": "alive",
    "age_h": 0.1
   },
   {
    "id": "Sensor",
    "name_zh": "感測器",
    "status": "alive",
    "age_h": 1.3
   },
   {
    "id": "Controller",
    "name_zh": "控制器",
    "status": "alive",
    "age_h": 2.5
   },
   {
    "id": "DataBus",
    "name_zh": "資料匯流排",
    "status": "alive",
    "age_h": 11.7
   },
   {
    "id": "Logbook",
    "name_zh": "紀錄器",
    "status": "alive",
    "age_h": 0.5
   },
   {
    "id": "Interlock",
    "name_zh": "聯鎖控制",
    "status": "alive",
    "age_h": 0.8
   },
   {
    "id": "Inspection",
    "name_zh": "品檢站",
    "status": "alive",
    "age_h": 0.3
   },
   {
    "id": "Monitor",
    "name_zh": "監控警報",
    "status": "alive",
    "age_h": 0.1
   },
   {
    "id": "Repair",
    "name_zh": "修復",
    "status": "event_driven",
    "age_h": 23.7
   },
   {
    "id": "Production",
    "name_zh": "生產線",
    "status": "alive",
    "age_h": 0.8
   },
   {
    "id": "Console",
    "name_zh": "控制台",
    "status": "alive",
    "age_h": 0.0
   },
   {
    "id": "Cleanup",
    "name_zh": "清理單元",
    "status": "alive",
    "age_h": 17.5
   },
   {
    "id": "Evolution",
    "name_zh": "進化",
    "status": "alive",
    "age_h": 2.5
   },
   {
    "id": "Assembly",
    "name_zh": "組裝台",
    "status": "event_driven",
    "age_h": null
   },
   {
    "id": "Agent",
    "name_zh": "Agent",
    "status": "event_driven",
    "age_h": null
   },
   {
    "id": "Rebuild",
    "name_zh": "受控重建",
    "status": "event_driven",
    "age_h": null
   }
  ],
  "alive": 13,
  "late": 0,
  "event": 4,
  "dead": 0
 }
}