feat/workday-schedule-cpm/main
master
將排程改為工作日計算,並在同一份計畫結果中提供 CPM 與 PERT 資料。
無;本工作包直接來自工作包議題 #76。
#76 工作日排程與關鍵路徑計算
fetch
dueDate
原排程以日曆日累加,會把週末與台灣行政機關假日算進工期,且沒有 CPM/PERT 統計。現在可從同一計畫產出甘特、CPM 與 PERT 所需資料。
scripts/schedule.js 的計畫檔排程輸出新增工作日日期、CPM、關鍵路徑與 PERT 欄位;既有 dueDate、days、拓撲順序與循環相依錯誤契約保留。
scripts/schedule.js
days
node --test test/schedule.test.js
node --check scripts/schedule.js
node --check test/schedule.test.js
env -u TEA_SDLC_CALENDAR_URL node scripts/schedule.js --plan-file .tmp/real-calendar-plan.json
npm test
test/install-verify.test.js
以政府辦公日曆排除年度假日,並由同一份計畫計算工作日日期、浮時、關鍵路徑與 PERT 統計。
覆蓋週末、年度假日、日曆 fallback、三點估算、關鍵路徑與循環相依。
No dependencies set.
The note is not visible to the blocked user.
摘要
將排程改為工作日計算,並在同一份計畫結果中提供 CPM 與 PERT 資料。
需求議題
無;本工作包直接來自工作包議題 #76。
工作包議題
#76 工作日排程與關鍵路徑計算
變更內容
設計重點
fetch取得資料集 metadata 與年度 CSV,不增加外部套件。dueDate維持既有結束日不含工期的契約;CPM 使用相同工作日模型。解決的問題
原排程以日曆日累加,會把週末與台灣行政機關假日算進工期,且沒有 CPM/PERT 統計。現在可從同一計畫產出甘特、CPM 與 PERT 所需資料。
影響的功能
scripts/schedule.js的計畫檔排程輸出新增工作日日期、CPM、關鍵路徑與 PERT 欄位;既有dueDate、days、拓撲順序與循環相依錯誤契約保留。測試結果
node --test test/schedule.test.js:17 個測試全部通過。node --check scripts/schedule.js:通過。node --check test/schedule.test.js:通過。env -u TEA_SDLC_CALENDAR_URL node scripts/schedule.js --plan-file .tmp/real-calendar-plan.json:以官方日曆資料完成 smoke test,輸出 2026-09-30 截止日。npm test:既有test/install-verify.test.js的 PATH 環境測試失敗;排程測試仍全部通過,失敗與本次變更無關。