D-20260725-07|歷史記錄按年分檔¶
背景與驅動力¶
歷史記錄的重大重構里程碑累積到 174 條、約兩千五百行,全部住在單一 landing 檔內。流水帳 只會單向成長,載入、搜尋與差異檢視的成本逐年增加;而同一份檔案還要兼任廢除欄位彙整等 附錄的家,角色混雜。
拆檔越晚做代價越高:條目一旦被行號或章節錨點引用,重組就會一次打斷所有入站引用。
考慮過的選項¶
- 維持單檔,等真的過大再拆:把一次性的斷鏈成本推遲並放大,棄。
- 按主題或域分檔:流水帳唯一穩定的序是時間,按域分會讓同一次改動散落多檔、且新條目要 先判斷歸屬,棄。
- 按年分檔、landing 收斂為索引(採納)。
決定¶
- 里程碑條目移入年度分檔,landing 只保留年度索引表與附錄各節。
- 拆檔不斷鏈的前提是引用不靠行錨點:決策檔一律以
D-YYYYMMDD-nn互引,其來源欄只驗 非空、不驗行位置。 - 檢查器同步改為掃描 landing 與年度分檔兩處;資料夾與
type的對應規則加入年度分檔 資料夾(見 D-20260724-04)。 - 制度先行:現階段只有單一年份、分檔的即時效益為零,但結構立好之後,新年度只需新增一檔 並在索引表加一列。
後果與影響¶
landing 收斂為索引規模,年度分檔各自獨立成長,未來新增年度是零摩擦的加法而非重構。
代價有二。其一,條目數這類跨檔彙總數字成為手維值,需要檢查器看守才不會漂移。其二, 「引用一律走 ID 而非行錨點」從慣例升為硬前提:任何回到行錨點的寫法都會讓下一次結構 調整再度斷鏈。分檔後條目的相對路徑深度也改變,回引連結必須以分檔所在位置計算。