# 資料半年查核手冊

`salary.html` 所有資料快照的總表：在頁面哪裡、原始來源、怎麼清洗與換算、用什麼驗證、已知的坑，以及查核紀錄。每半年照這份做一次；各主題的細節仍在原本的來源文件，這裡只放索引與步驟。

- 上次全面查核：2026-10-20 18:21（GMT+8）
- 上次資料更新：2026-11-10 20:50（GMT+8），人口、就業、匯率與薪資原表核對；逐項範圍見查核紀錄。
- 下次全面查核：**2027-04 中旬**，之後每年 4 月、10 月
- 頁首與 `#lastUpdated` 顯示的「資料最後更新」、來源表最新查核日及本文件的上次資料更新時間必須一致；上次全面查核另列，局部更新不能冒充全面查核。

## 一、半年查核流程

1. **備份**：先執行 `git status --short` 並保留既有修改。改檔前建立 `backups/<YYYYMMDD-HHMMSS>/`，複製要改的檔案並用 `cmp` 確認一致，不覆蓋舊備份，也不把備份納入 Git。
2. **先看有沒有新資料**：依第三節逐列打開「來源」，記下公布日期、統計期間、母體與單位。沒有新資料就只在第五節記「無更新」。
3. **連網核對現行快照**（不改檔）：

   ```sh
   mise exec -- python verify_salary.py --sources
   ```

4. **重抓有程式的資料**（會覆寫檔案，先備份）：

   ```sh
   mise exec -- python fetch_population_series.py            # 戶籍人口、就業、每年出生死亡
   mise exec -- python fetch_neighbor_population.py           # WPP 有新版時才跑；否則 --archived 只重算
   ```

   fetcher 只更新 JSON 與 HTML 資料區塊，頁面上的期間文字、主卡快照、測試期望值要另外改（見各來源文件）。
5. **手動更新其他常數**：照第三節「頁面位置」改值，同時改常數上方的來源與查核日註解、`*-sources.md` 的同一列。
6. **封存原檔**：

   ```sh
   mise exec -- python archive_sources.py
   mise exec -- python verify_archive_sources.py
   ```

   新的非 `.gov.tw` 網域要先加進 `archive_sources.py` 的 `FOREIGN_OFFICIAL_HOSTS`。
7. **離線驗證**：`mise exec -- python verify_salary.py`，全部通過才算完成。
8. **瀏覽器測試**：十組 `salary*.test.js` 全跑（見 `salary-maintenance.md`）。數字改了，測試的期望值要依新數字重新手算後再改，不能直接抄頁面輸出。
9. **畫面檢查**：375px、1440px、深淺色、鍵盤操作。
10. **改頁面上的日期**：更新來源表中已核對列的資料期間與查核時間，頁首、頁尾及本文件「上次資料更新」保持一致。全面查核完成才另改「上次全面查核」。時間以台北時間（GMT+8）記到分鐘；每列記該列實際比對時間，未記錄的寫「時間未記錄」。`verify_salary.py` 檢查日期格式、連結及免責聲明。
11. **記錄**：在第五節加一列，寫清楚更新了什麼、哪些來源失敗、哪些沒查。
12. **記憶同步（使用者要求時）**：依 `personal-memory` 寫 KB 來源筆記 `projects/salary-debug/session-notes/<日期>-<主題>.md`（不放人物生日等個資），再鏡像到 Cognee（`shared_agent_memory`、`project_docs`）及使用者指定的既有 Hindsight bank；OpenViking 僅在使用者明確指定目標時寫入，收據寫在同名 `.sync.json`，不把個人目標路徑或收據納入 Git。2026-10-17 的第一份是 `2026-10-17-retirement-abroad-data-refresh.md`，2026-10-18 是 `2026-10-18-connectivity-archive-lessons.md`。Serena 自 2026-10-18 起用於本專案（使用者明確要求），記憶在 `.serena/memories/`，只在使用者要求時更新。

## 二、每年固定時點

半年查核時，順便確認這些時點的資料有沒有出來。月份是 2025～2026 年實際觀察到的發布時間，每年可能變動：

| 月份 | 會變的資料 | 頁面影響 |
|---|---|---|
| 1 月 | 健保與勞保投保級距、最低工資、國保月投保金額、各國稅制新年度 | 第 1、3、6 站 |
| 1～2 月 | 基金公布前一年 QII／短期資本利得比例（Vanguard、iShares、SSGA） | 第 6 站美股 |
| 每月 | 戶籍人口（戶政司）、人力資源調查（主計總處） | 第 4 站時間線 |
| 7 月 | UNODC 他殺率資料檔 |
| 12 月 | ITU ICT Price Baskets 新年度價格（Dec release） | 第 6 站看板手機數據月費 |
| 不定期 | UN SDG 資料庫季度更新（ITU 上網、寬頻、5G） | 第 6 站看板 | 第 6 站看板 |
| 依公告 | 主計總處薪資中位數（全年總薪資、經常性月薪各自公布） | 第 3 站中位數 |
| 9 月 | World Bank WGI | 第 6 站看板 |
| 10 月 | 主計總處家庭收支調查（新年度） | 第 5 站生活費、預備金；第 6 站 FIRE |
| 11 月 | 財政部公告下一年度免稅額、扣除額、級距 | 第 3 站所得稅 |
| 12 月 | Morningstar 安全提領率年度報告 | 第 6 站 FIRE 提領率預設 |
| 不定期 | 各國免簽與退休簽證、泰國境外所得規定、美台租稅法案、WPP 新版 | 第 6 站 |

## 三、資料總表

「驗證」欄：`離線` 表示 `verify_salary.py` 會用封存原件核對；`--sources` 表示要連網核對；`測試` 表示只靠瀏覽器測試與人工核對。

### 薪資、稅、保費（第 1～3 站）

| 資料 | 頁面位置 | 來源 | 清洗與換算 | 驗證 | 細節文件 |
|---|---|---|---|---|---|
| 最低工資 29,500 元 | 輸入卡 pill、`minimumMonthly` | 勞動部 | 無 | 測試 | `salary-maintenance.md` |
| 健保、勞保級距 | `nhiLevels` | 健保署 115 年級距表、勞保局分擔金額表 | 勞保沿用健保前 11 級，兩表都要核對 | 測試 | 同上「勞健保級距」 |
| 保費費率 | `calcResult()` 內 1551/100000、23/1000、2/1000 | 健保署、勞保局 | 本人負擔比例已乘入 | 測試 | 同上 |
| 所得稅免稅額、扣除額、級距 | `taxBands`、`calcResult()` 內 101,000、136,000、227,000、270,000、180,000 | 財政部年度公告、速算公式 PDF | `TAX_YEAR` 是所得年度，不是今年 | 測試 | 同上「2026 年所得稅」 |
| 股利 8.5%／8 萬、28%；儲蓄投資 27 萬 | `incomeTaxPlan()` | 所得稅法第 15、17 條 | 合併、分開兩案取低；分開計稅不扣租金特別扣除 | 測試 | 同上 |
| 商業保險費（看故事） | `privatePremiums()`、`#insureNote` | 財政部、稅務入口網（人身保險費每位被保險人 24,000 元列舉上限） | 只計入看故事，不計入所得稅 | 測試 | `salary-maintenance.md` |
| 補充保費 2.11%、單次 2 萬 | `supplementNote` | 健保署實務手冊 | 全年合計 × 2.11% 為上限估算 | 測試 | 同上 |
| 薪資中位數 | `salaryMedians` | 主計總處 ODS（表 3、表 6） | 年薪原表萬元 × 10,000；月薪與年薪不互換 | `--sources` | 同上「年薪／經常性月薪中位數」 |

### 人口與就業（第 2、4 站）

| 資料 | 頁面位置 | 來源 | 清洗與換算 | 驗證 | 細節文件 |
|---|---|---|---|---|---|
| 當月戶籍人口、出生死亡 | `publicStatistics.population` | 戶政司單齡 ODS（RIS POST） | 按登記日期；未滿 18 歲、65 歲以上由單齡加總 | `--sources`、離線（封存原件） | `population-sources.md` |
| 就業人口 | `publicStatistics.employment` | 主計總處人力資源調查 ODS | 戶籍國人與常住人口分開，不相減猜國籍 | `--sources` | 同上 |
| 14 月人口、9 月就業 | `publicHistory`、`population-timeseries.json` | 同上 | `fetch_population_series.py` 產生；缺值不插值 | 離線 | `population-timeseries.md` |
| 每年出生死亡 | `publicHistory.vitals` | 戶政司 y1s3 年表 | 同上 | 離線 | 同上 |
| 八地 WPP（台中日韓美馬泰越） | `neighborPopulation`、`neighbor-population.json` | 聯合國 WPP 2024 CSV | `fetch_neighbor_population.py`；年齡占比由 5 歲組加總 | 離線（封存原件重算） | `neighbor-population-sources.md` |

### 退休（第 5 站）

| 資料 | 頁面位置 | 來源 | 清洗與換算 | 驗證 | 細節文件 |
|---|---|---|---|---|---|
| 生活費預設 28,513 元 | `#retireLiving`、`stats5` | 主計總處 114 年家庭收支綜合指標 Index.ods | 每戶消費 920,397 ÷ 2.69 人 ÷ 12（推算，官方沒公布每人到元） | 離線 | `retirement-sources.md` |
| 年齡組必要支出 | `spendingByAge` | 114 年附表 3（159-164.ods） | 各組每戶消費 ÷ 每戶人數 ÷ 12 | 離線 | 同上 |
| 美元匯率快照 32.865 | `fx` | 中央銀行 2026-11-10 收盤匯率 CSV | 無 | 離線 | 同上 |
| 勞保年金、勞退公式 | `retirementPlan()` | 勞保局、勞退條例 | 年報酬 2/4/6% 扣通膨 2% 為假設 | 離線（公式案例） | 同上 |

### 提早退休與海外養老（第 6 站）

| 資料 | 頁面位置 | 來源 | 清洗與換算 | 驗證 | 細節文件 |
|---|---|---|---|---|---|
| Lean／Fat 生活費 | `fireSpending` | 114 年報告第 6 表（77.ods） | 第 1、5 分位每戶消費 ÷ 每戶人數 ÷ 12；依所得分組，不是依消費 | 測試 | `retire-abroad-sources.md` 一 |
| 國保 1,329、健保 826 | `fireInsurance` | 勞保局、健保署試算頁 | 21,103 × 10.5% × 60% | 測試 | 同上 |
| 安全提領率 3.3% | `#fireRate` 預設 | Morningstar 年度報告 | 取 40 年、90% 成功率 | 測試 | 同上 |
| 各地生活費 | `places[].spend` | 各國統計局 | 換成每人每月：馬來西亞 ÷ 3.7、泰國 ÷ 2.5；日本、越南本身是每人；新加坡用退休戶每位成員 | 測試 | 同上 三 |
| 各地匯率 | `places[].fx` | 中央銀行 32.865 ÷ IMF 央行參考匯率／越南央行中心匯率 | 各幣 2026-11-06～11-10 最近可得值，逐項日期見來源文件 | 離線 | 同上 三 |
| 平均壽命、醫師、PM2.5 | `places[].life/doctors/pm25` | World Bank WDI API | 取最新非空年（`mrnev=1`）；台灣用本國數字 | 離線 | 同上 三 |
| 政治穩定 | `places[].stability` | World Bank WGI（API `source=3`） | 用 0～100 分；2026 版沒有百分位 | 離線 | 同上 三 |
| 他殺率 | `places[].homicide/homicideYear` | UNODC xlsx | 只取 Victims／Total／Rate per 100,000，每國最新年 | 離線 | 同上 三 |
| 簽證、醫療、稅務文字 | `places[].visa/healthRoute/tax/...` | 各國移民署、稅局、外交部領事事務局 | 依國籍分 `TW`、`MY` | 測試（人物情境） | 同上 二、五、六 |
| 美國預扣率 | `places[].usRate` | IRS Tax Treaty Table 1 | 依稅務居住地，不看國籍 | 測試 | 同上 四 |
| 券商年底調整 | `brokerRules` | IBKR、Firstrade、eToro 官方頁 | eToro 未說明視為不退 | 測試 | 同上 四 |
| QII 比例 | `#usExempt` 選項 | Vanguard、iShares、SSGA 年度報告 | BND 92.3% 由 QII ÷ 一般股息推算 | 測試 | 同上 四 |
| 租屋、存款保險、資金進出、永住、國際化 | `places[].rent/money/stay/intl` | 各國統計局、央行、存款保險機構、移民機關、UN DESA | 曼谷、吉隆坡、河內、胡志明市沒有官方租金，只寫法規與 CPI 房租；EF EPI 標非官方 | 測試 | 同上 八 |
| 上網人口、固網、5G、手機數據價格 | `places[].net`、`places[].netLines` | UN SDG 資料庫（ITU）、ITU ICT Price Baskets | 用 SDG 才含台灣；價格取 2025 年 5GB 純數據方案；沒有官方網速統計，不列 | 離線 | `retire-abroad-sources.md` 九 |
| 泰國稅率 | `thaiTaxBands` | 泰國稅務廳泰文稅率表 | 2017 年起級距 | 測試 | 同上 五 |

### 工作異動與 Die with Zero（第 5 站 05 章、第 7 站）

| 資料 | 頁面位置 | 來源 | 清洗與換算 | 驗證 | 細節文件 |
|---|---|---|---|---|---|
| 特休天數 | `annualLeaveDays()` | 勞基法第 38 條 | 滿 10 年 16 日，之後每年加 1 日到 30 日 | 測試 | `work-change-plan.md` |
| 假別天數與工資 | `renderLeave()` 假別表 | 勞工請假規則、性平法第 14、15、20 條、勞基法第 50 條 | 婚假 14 日自 115-10-01；請假規則修法時逐條重看 | 測試 | 同上 |
| 資遣費、預告期間 | `renderSeverance()` | 勞基法第 11、12、14～18 條、勞退條例第 7、11、12 條 | 2005-07-01 切新舊制；新制上限 6 個月；舊制剩餘月數未滿 1 個月算 1 個月 | 測試 | 同上 |
| 失業給付 | `#severanceNotes` | 就業保險法第 11、16、19 條之 1 | 目前勞保級距 × 60% 近似前 6 個月平均；45 歲以上 9 個月 | 測試 | 同上 |
| 公司負擔 | `offerSide()` | 勞工保險條例第 15 條、健保署平均眷口數公告、勞退條例第 14 條 | 勞保 11.5% 與就保 1% 的 70%；健保 × 60% × 1.56；勞退 6% 以月薪近似 | 測試 | 同上 |
| 存股股利計稅與補充保費 | `renderStock()` | 所得稅法第 15 條（股利合併 8.5% 抵減、每戶上限 80,000 元，或分開 28%）；健保署補充保費手冊（單次 20,000 元、2.11%） | 取稅額較低者；補充保費依每次配息金額判斷 | 測試 | `salary-maintenance.md` |
| 保險費列舉扣除 | `insuranceItemized()`、`policyDeductions()`、保險卡說明 | 所得稅法第 17 條（115 年 8 月修正，115 年起適用）；財政部同一申報戶令；高雄國稅局旁系親屬說明 | 本人勞保與健保不受上限；就保與商業人身保險每位被保險人 24,000 元；投資型保單不計 | 測試 | `ux-redesign-plan.md` 六 |
| 平均壽命 81.27 歲 | `#dwzLifespan` 說明 | 內政部 114 年簡易生命表新聞稿 | 只當參考文字；預設 90 歲是假設 | 測試 | 同上 |

## 四、清洗與驗證的坑

| 坑 | 處理方式 |
|---|---|
| 主計總處、`ws.dgbas.gov.tw` 憑證缺中繼憑證 | `archive_sources.py` 補 TWCA 中繼憑證；不得關閉 TLS 驗證 |
| 主計總處、健保署、MM2H、IRAS 等 HTML 頁對程式回 403 | 用 agent-browser 同網域 fetch 取原始位元組，`archive_sources.py --import-browser` 封存（manifest 標 `transfer`），只收 HTTP 200、標題或簽章正確的內容；瀏覽器也拿不到的改抓同頁原始 ODS／PDF，或在 manifest 記失敗（見 `lessons-learned.md` L1） |
| ODS 年薪單位是萬元 | 乘 10,000，原表精度 0.1 萬元 |
| 官方沒公布每人消費到元 | 用報告同算法（每戶 ÷ 每戶人數）推算，文件標「推算」 |
| 家庭收支依所得分位，不是消費分位 | Lean／Fat 預設只代表所得最低／最高兩成家庭 |
| 各國生活費口徑不同（每戶、每人、退休戶） | 統一換成每人每月，換算方式寫在 `spendLabel` 與文件 |
| World Bank API 把 "Taiwan, China" 的 `countryiso3code` 標成 THA | 驗證器用國名辨識 |
| WGI 2026 版不再公布百分位 | 頁面用 0～100 分 |
| UNODC 泰國、越南最新只有 2011 年 | 頁面標年份；不要和 WHO 模型值混用 |
| 台灣不在 WDI、UNODC、INFORM | 用本國官方數字並註明口徑不同，不拿來排名 |
| 泰國稅務廳英文頁是 2013～2014 年舊級距 | 以泰文稅率表為準 |
| 外交部領事事務局免簽表可能落後外國公告（泰國 30 天） | 以目的國外交部公告為準，兩邊都記 |
| 越南盾中心匯率不是市場價 | 文件註明會高估越南盾 |
| 結尾是 `/` 的網址（如 `https://population.un.org/wpp/`）和其下層檔案路徑衝突，換日重抓時 WPP 原檔全部失敗；失敗紀錄會蓋掉前一天的成功紀錄 | 2026-10-18 已改 `archive_directory()`：結尾 `/` 的最後一段當目錄；`verify_archive_sources.py` 有自我檢查。換日後先跑 `archive_sources.py` 再跑 `verify_salary.py`，若驗證找不到原件，先查 manifest 是否被失敗紀錄覆蓋 |
| 網址含 `(` `)` 或 `&quote=` | 寫成 `%28` `%29`、調換參數順序，否則封存時網址被截斷 |
| open.er-api.com 條款禁止轉存 | 只供按鈕即時查詢，不寫回快照 |
| 健保出國停保 2024-12-23 起取消 | 若之後恢復，第 6 站退休金與路線卡要改 |
| 民間試算網站的法規數字會錯（taiwansalary.tw：新制資遣費寫無上限、舊制資遣費套用退休金 45 個月、10 年年資特休少 1 天、兩頁稅率級距不同） | 只參考功能與流程，條文與數字一律回到全國法規資料庫原文核對 |
| 勞工請假規則 115 年 9 月 30 日修正、10 月 1 日施行，婚假 8 日改 14 日；頁面刊載的修正日期會變 | 每次查核都看第 12 條施行日期，新條文生效日寫在假別表 |
| 國稅局問答落後修法：所得稅法第 17 條 115 年 8 月修正後勞保、國保等不受 24,000 元限制，國稅局問答仍寫「除健保外每人 24,000 元」；就保是否不受限制條文沒寫 | 以全國法規資料庫現行條文與第 126 條施行日期為準；就保暫計入上限，查核時向國稅局確認 |

## 五、查核紀錄

每次查核加一列。「未查／失敗」寫具體項目，下次優先處理。

| 日期 | 範圍 | 更新內容 | 未查／失敗 |
|---|---|---|---|
| 2026-10-15 | 第 1～4 站 | 115 年稅制、級距、最低工資；人口至 115/09、就業至 115/08；薪資中位數 | 主計總處 HTML 頁 403（原始 ODS 已存） |
| 2026-10-17 | 第 3、5 站 | 股利、利息、勞退自願提繳稅制；114 年家庭收支（生活費 28,513、年齡組）；中央銀行匯率快照 | — |
| 2026-10-17 | 第 4 站 | WPP 加入美國（封存原檔重算）；日韓美台政府資料抽查 | 美國人口差約 2%、日本 65 歲以上差 0.5 個百分點，原因未查 |
| 2026-10-17 | 第 2、4 站 | 看故事加入商業保險費（壽險、醫療險、失能險，可選新台幣、美元、令吉）；WPP 比較加入馬來西亞、泰國、越南（封存原檔重算） | 馬泰越 WPP 未做政府資料抽查；境外保單能否列舉扣除未確認 |
| 2026-10-17 | 第 1、6 站 | 4 位使用者人物範例；地點詳情加租屋、銀行與資金、長住、國際化；MM2H 50 歲以上沒有最低居住天數 | 新加坡租屋、存款保險、外國出生人口未查；越南法條多為轉載 |
| 2026-10-18 | 全頁 | 頁面與設計文件的公司名稱改為「A 社」；陳先生生日更正為 1992-12-12 | 舊的 `*.bak`、`backups/` 保留原文 |
| 2026-10-18 | 封存 | 修正結尾 `/` 網址路徑衝突與失敗蓋掉成功紀錄；新增瀏覽器匯入，補回 22 份被擋的原件（MM2H、IRAS、CPF、日本国税庁、data.gov.tw、數位部等）；加入專案 skill 與 `lessons-learned.md` | 仍有 19 個來源瀏覽器也拿不到（KWSP、mofa.go.jp、主計總處 HTML 頁等）或網址已失效 |
| 2026-10-18 00:16 | 第 6 站 | 看板加上網人口與 5GB 手機數據月費，地點詳情加「網路與手機」 | 官方沒有跨國網速；ITU DataHub 與 Ookla 擋程式；台灣固網價大漲原因、台灣外國人 SIM 規定未查 |
| 2026-10-17 23:36 | 全頁 | 最後更新改為 GMT+8 到分鐘，來源表每列附查核時間；`verify_salary.py --sources` 重新核對薪資中位數、人口、就業；人物範例「余先生」改為「陳先生」 | FIRE 提領率列的查核時間未記錄 |
| 2026-10-17 | 全頁 | 加入頁首與頁尾免責聲明、資料來源與更新日期表、4 個快速範例 | — |
| 2026-10-17 | 第 6 站 | 新增；五國居留、生活費、指標、美股稅、退休金；封存 126 份原檔 | 32 個來源下載失敗（見 `sources/index.html`）；馬來西亞人能否申請日本長期觀光、外國人健保第 6 類、非居民台股股利扣繳率未查 |
| 2026-10-20 12:59 | 第 1、6、7 站 | 情境選單；第 6 站加 Die with Zero（02 章，其後章號加 1）；新增第 7 站換工作比較、特休與請假、離職與資遣費；來源表加勞動法規、平均眷口數、平均壽命三列 | 8 份新原件已封存（健保署 2 頁對程式回 403，改用 Camofox 同網域 fetch 後 `--import-browser`）；職災保險與工資墊償基金未計；外國籍員工的就業保險資格未查 |
| 2026-10-20 15:59 | 全頁、第 3 站 | 任務導向改版：12 項任務勾選（預設實領、報稅）、任務清單、立即答案、頁首縮小；保險改成保單清單並接進所得稅列舉（所得稅法第 17 條 115 年修正）；來源表「保險費列舉扣除規則」改查核時間；封存財政部、高雄國稅局 2 頁 | 就業保險費是否不受 24,000 元限制未確認；投資型保單可列舉部分未查 |
| 2026-10-20 16:46 | 第 3～6 站 | 存股與股利卡；扶養比與出生人數移到第 4 站；第 5 站改為「算退休」並收進 FIRE 與 Die with Zero；第 6 站只留海外養老；保費計入退休支出；我的資料、交叉提醒、手機第一屏 | 沒有新增資料來源；走廊測試未做 |
| 2026-10-20 16:56 | 全頁 | 左側任務標籤（跟著捲動、開關任務）；Die with Zero 計入退休後保費 | 沒有新增資料來源；走廊測試未做 |
| 2026-10-20 17:01 | 第 5 站、保險 | 「三種算法比一比」卡；查看 finfo.tw（商品資料庫與試算工具，沒有稅務規則），保險維持基本版 | 沒有新增資料來源 |
| 2026-10-20 17:10 | 第 5 站 | 7 個情境對照三種退休算法後修正：Die with Zero 預設計入勞保年金與勞退、FIRE 試算到 100 歲與 Lean／Fat 排序、比較卡概念示意圖與「計入」欄 | 沒有新增資料來源 |
| 2026-10-20 18:10 | 保險、走廊測試 | 再查保險費列舉：立法院 115-08-21 三讀版本只把勞保、農保、國保、軍公教保險列為不受上限，未提就保；投資型保單無財政部專門解釋，保險卡說明改請使用者依繳納證明另填；寫好 `usability-test-plan.md` | 就保仍待國稅局確認；走廊測試待執行 |
| 2026-10-20 18:21 | 來源表 | `verify_salary.py --sources` 通過（薪資中位數、戶籍人口 13 個月、就業 8 個月與官方 ODS 一致），三列改查核時間；最低工資：115 年 29,500／196 元仍適用，勞動部 10-16 正式公告 116 年 30,900／205 元自 2027-01-01 生效（頁面原已連結審議結果），改查核時間；頁面 115 年度免稅額 101,000、標準扣除 136,000、薪資扣除 227,000、級距 61／138／277／519 萬元與財政部 115 年度公告一致，116 年度尚未公告（往年 11 月底），改查核時間 | 其他 11 列仍為 10-17／10-18 查核，未重新比對 |
| 2026-10-20 18:55 | 第 3、7 站 | 倒數卡預設改勞保老年年金 65 歲並列出四個年齡門檻（勞退條例第 24 條 60 歲可請領、勞基法第 53 條自請退休、第 54 條 65 歲強制退休）；第 7 站加失業給付申請步驟（就業保險法第 13、15、17、25、29、30 條）；封存勞保局請領手續頁 | — |
| 2026-10-20 19:02 | 全頁 | 左側任務標籤第一次算出薪資後自動打開一次（窄螢幕閃動）；「寫下你的需求」關鍵字對應任務；8-bit 楓湖背景動畫與開關 | 沒有新增資料來源 |
| 2026-10-21 | 文件現況與局部來源核對 | 修正 README、維護手冊及規格的版面、手動側欄、七站、28,513 元生活費、Git 與退休保費等舊敘述；`verify_salary.py --sources` 確認現有年薪／月薪中位數、戶籍人口及就業快照和對應官方 ODS 一致 | 未盤點所有資料的最新發布期數，未重新查核所有外國簽證與稅務；未更新快照及全面查核日期 |
| 2026-11-10 20:50 | 人口、就業、匯率與薪資原表 | 人口至 115/10，14 個月；就業至 115/09，9 個月；出生 8,035、死亡 17,393，新增 m0s2 原件核對；美元收盤 32.865，日／馬／星／泰／越匯率更新至 11-06～11-10；既有年薪、月薪中位數與官方原表一致，114 年年薪中位數預告 11-30 發布，保留 113 年；日期分開記資料更新與全面查核 | 未全面重查各國簽證、醫療與稅制；封存索引仍保留 20 筆失敗來源，含新就業公告 HTML 的 403，其 PDF 與 ODS 原件已封存 |
