Previously-correct parser broke on a dependency minor release
No code changed. A transitive dependency tightened its date parsing in a minor release and a previously-passing path began rejecting valid input.
同一個缺陷,每一個視角
- 開發者
git blame points at code that has not changed in eight months.
- 依賴
The behaviour lives in the resolved version, not in the declared range. The range never changed; what it resolves to did.
判斷軌跡
- 條件 · 依賴context-dependent-defect2026-07-30 09:40 → 至今信心 0.91
- 何時 · 依賴introduced-by-upstream-minor2026-07-30 09:40 → 至今信心 0.95
- 為何 · 開發者our-code-regressed2026-07-30 09:10 → 2026-07-30 09:40信心 0.55已被取代
觀察記錄
- 2026-07-30 09:00已捕捉
A path that passed yesterday now rejects valid input.
- 2026-07-30 09:10調查中
Assumed to be our regression.
- 2026-07-30 09:40已定位
Lockfile diff refutes it. Classification revised to environment drift.
- 2026-07-30 11:20已驗證
Boundary normalisation: pre failed, post passed.
可執行見證
假設
- refuted
A recent commit introduced it.
證據
- diff · 2026-07-30 09:35
Lockfile diff: the only change in the failing window is a transitive minor bump.
- execution · 2026-07-30 10:05
Pinning the previous resolved version makes the same source pass unchanged.
修補
- accepted
Normalise the input format at the boundary rather than pinning the dependency.
關聯
- introduced_byupstream-date-parser@2.4.0