# 技術缺陷修復與基準校準報告 (ISSUE FIX REPORT)
## 專題：修復 Quizzman 陰陽曆法引擎代碼庫缺陷 ISS-05、ISS-06、ISS-07

* **報告編號：** `QPS-IFR-CAL-2026-001`
* **相關卷宗：** `ISS-CAL-2026-001`（同行評審與技術審查卷宗）
* **目標論文：** `QP-CAL-001 v1.0.0` → 修補計畫 `v1.0.1`
* **目標引擎：** Quizzman 陰陽曆法計算引擎 (`qm-calendar v1.2.0` → `v1.2.1`)
* **執行與驗收日期：** 2026-10-01
* **執行機構：** Quizzman 核心工程小組與 QPS 標準評審委員會

---

## 1. 執行摘要 (Executive Summary)

依據 *主張 (Claim) → 跨源對照 (Cross-Reference) → 實證檢驗 (Evidence)* 方法論所進行之獨立同行評審，共記錄了針對規範論文 `QP-CAL-001 v1.0.0` 的 10 項發現。經工程團隊全面排查，確認其中有 **3 項缺陷直接影響代碼庫 (Codebase)**，必須立即實施工程修復：

1. **ISS-05（高）：** 2025.0 曆元之 $\Delta T = 70.000\text{ s}$ 於查查表硬編碼粗略整數，不符合 IERS 實測值（$\approx 69.138\text{ s}$）。
2. **ISS-06（高）：** 缺失國際權威 IANA 時區數據庫 (`Asia/Ho_Chi_Minh`) 明確規範之符蓮天文台時間紀元（`PLMT`，UTC+07:06:30，1906–1911 年）。
3. **ISS-07（確定）：** API 基準路由中 2024 年秋分基準點存在 1 分鐘鍵入筆誤（誤植為 `12:43:00Z`，USNO 與 NASA 官方公布為 `12:44:00Z`）。

上述 3 項缺陷已於 **Node.js/CJS 及 Rust 源碼中直接修復完成**，增補自動化回歸測試集，通過 834 組邊界測試及 146,462 日雙向雙射驗證。修復版系統已完成編譯並重載於生產環境（PM2 集群），各項指標 100% 通過。

---

## 2. 各項缺陷修復細節

### 2.1 修復 ISS-05：依據 IERS Bulletin B 443 錨定 2025.0 曆元 $\Delta T$

#### a. 天文測量依據
- 舊版代碼之 `DELTA_T_TABLE` 將 2025 年硬編碼為 `70`。此項粗略捨入引入了 $0.86\text{ s}$ 的多餘不確定性。
- 依據 **IERS Bulletin B 第 443 號**（2025-01-01 00:00:00 UTC 地球自轉參數）：
  $$UT1 - UTC = +0.0461939\text{ s}$$
  $$TAI - UTC = 37.0000000\text{ s}$$
- 依據 USNO 及 IAU 標準：
  $$\Delta T = TT - UT1 = (TT - TAI) + (TAI - UTC) - (UT1 - UTC)$$
  已知 $TT - TAI = 32.184\text{ s}$（IAU 1976 定義常數）：
  $$\Delta T_{2025.0} = 32.184 + 37.0 - 0.0461939 = 69.1378061\text{ s} \approx 69.14\text{ s}$$

#### b. 修改之代碼文件
1. `/opt/qm-calendar/backend/core/astro/delta-t.cjs`：更新 2025 年為 `69.14`，加註 IERS Bulletin B 443 出處。
2. `/opt/qm-calendar/backend/core/_lunar-core.source.cjs`：同步 `2025: 69.14`。
3. `/opt/qm-calendar/rust/astro-core/src/delta_t.rs`：更新 Rust 數組元素：`(2025, 69.14)`。

#### c. 驗證成果
- **連續性與單調性：** 測試 $2025.0 \to 2050.0$ 區間，步長 0.25 年，邊界跳變 $< 0.000002\text{ s}$。
- **定朔精度：** 2024-01-11 朔點相較於 NASA 曆表之偏差由 0.07 分鐘（4.2 秒）降至 **0.05 分鐘（3.0 秒）**。

---

### 2.2 修復 ISS-06：增補符蓮天文台時間 (PLMT, 1906–1911)

#### a. 歷史法理與 IANA tzdb
- IANA tzdb (`tzdata.zi`, `Zone Asia/Ho_Chi_Minh`):
  ```
  Z Asia/Ho_Chi_Minh 7:6:30 - LMT 1906 Jul
  7:6:30 - PLMT 1911 May
  7 - %z 1942 D 31 23
  ```
- 法屬印度支那總督法令明訂自 1906-07-01 起採用符蓮天文台（建安/海防，東經 $106^\circ 37' 30''$）之子午線基準時間（巴黎平時 +07:06:30），直至 1911-05-01 始正式改制為國際第 7 時區（UTC+07:00）。

#### b. 修改之代碼文件
1. `/opt/qm-calendar/backend/core/timezone/vietnam-zones.cjs`：增補 PLMT 歷史紀元 (+07:06:30, 1906-07-01 至 1911-05-01)。
2. `/opt/qm-calendar/backend/core/_lunar-core.source.cjs`：同步時區表。

---

### 2.3 修復 ISS-07：校正 2024 秋分基準數據為 12:44 UT

#### a. 權威年曆基準出處
- 美國海軍天文台 (USNO) 及 NASA GSFC 正式發布之 2024 年秋分時刻為 2024-09-22 **12:44 UT**（精密值 12:43:36 UT）。
- 原基準路由存在鍵入筆誤：`12:43:00Z`。

#### b. 修改之代碼文件
1. `/opt/qm-calendar/backend/routes/api/benchmark.cjs`：修正基準數據為 `2024-09-22T12:44:00Z`。

#### c. 驗證成果
- 曆法引擎 VSOP87D 計算結果與 USNO 官方真值相差 0.1 分鐘（6.0 秒），完全符合小於 1.0 分鐘之公差要求。

---

## 3. 代碼庫修改對照表

| 議題 | 源文件路徑 | 作用範圍 | 修改內容 | 測試狀態 |
|---|---|---|---|---|
| `ISS-05` | `backend/core/astro/delta-t.cjs` | `DELTA_T_TABLE` | 將 `2025: 70` 改為 `2025: 69.14` | **PASS (0.05 min)** |
| `ISS-05` | `rust/astro-core/src/delta_t.rs` | `DELTA_T_DATA` | 將 `(2025, 70.0)` 改為 `(2025, 69.14)` | **PASS** |
| `ISS-06` | `backend/core/timezone/vietnam-zones.cjs` | `VN_TIMEZONE_ERAS` | 增補 PLMT 紀元 (+07:06:30, 1906–1911) | **PASS (IANA 一致)** |
| `ISS-07` | `backend/routes/api/benchmark.cjs` | `SOLAR_TERMS_REF_2024` | 修正秋分時刻為 `12:44:00Z` | **PASS (0.1 min)** |

---

## 4. 回歸驗證與可復現性矩陣

- **邊界測試集：** 834 組跨世紀邊界測試案例（1800–2199）位於 `/papers/QP-CAL-001/artifacts/test-vectors.json`。
- **雙向雙射驗證：** 146,462 連續公曆 ↔ 農曆互轉達成 100.000% 零漂移準確率。
- **生產環境驗收：** PM2 集群 `calendar-next` 已重載上線，運行於 `https://calendar.quizzman.com/`。
