Skip to content
Hsiehting Lin edited this page Jul 20, 2026 · 2 revisions

開發計畫

目前的工作項目與設計文件索引。歷史脈絡看 git log(2026-05-23 首 commit 當天即上 prod,之後以小步快跑疊代)。

進行中

項目 狀態 備註
114 年詳解講義批次(slide-deck) 進行中,可續跑 scripts/slide_batch.py;產物在 slides/{YEAR}/{NNN}/(gitignored)
OpenEvidence 答案稽核 逐題進行 verdict-by-oe 流程;改答案走 challenge 機制留痕
詳解 polish pipeline 批次進行 polish_batch.py + scripts/promote-polished.py

已完成的主要里程碑(節錄)

  • 核心系統上線(05-23):複習模式、全真作答、共筆詳解(lock + 版本歷史)、討論串 + @mention、R2 圖片、Access Zero Trust。
  • 複習班講義(05-30 設計 → 上線):EmbedPDF 閱讀器、個人 highlight / sticky note / 頁面錨定筆記本、選字popup(Highlight / AI 解釋 / OpenEvidence / 複製到筆記)、slide 快照、全文搜尋(PDF + 筆記,FTS5)、縮圖側欄、deep-link。
  • 個人筆記 + @題號引用(05-23 設計):私人筆記 tab、@114-001 cross-reference。
  • /mcq skill + per-user keys(05-26 設計):HMAC 衍生金鑰、/profile 自助下載 .skill、無共享密鑰。
  • 答案挑戰系統:多重並行 challenge(每個提議字母一個)、提案人可編輯理由、升級卡片 + 狀態篩選、升級後 importer 不回寫。
  • FSRS / Anki(migration 0012):ts-fsrs 間隔複習基礎。
  • 品質收尾:skeleton loaders、詳解 spoiler 模糊、A–E 鍵盤作答、雙欄獨立捲動、匿名動物頭像、安全強化(CORS/headers、error-detail 不外洩)。
  • 實證學習功能(07-18):語意交錯練習(Vectorize)、答前信心校準、自動挖空、弱點概念聚類地圖。
  • 九功能齊發(07-20):以五波平行分支開發並逐波合併——每題作答計時 + attempts 事件表、留言「有幫助」訊號、選項分布統計、跨年份到期佇列、自訂測驗產生器、每週目標與進度預估、考試標記跨裝置同步、App 內匯出、PWA 離線閱讀。同批修掉 heatmap 低估活動量、FSRS 新卡無上限、IN (?) 參數無上限等既有 bug。教訓見 踩過的坑

設計文件索引(repo 內 docs/plans/

文件 主題
2026-05-23-notes-and-question-refs-design.md 個人筆記、已做筆記 category、@題號引用
2026-05-26-mcq-skill-api-design.md /mcq 唯讀 API + 可散佈 skill(共享金鑰版,已被下文取代 auth 部分)
2026-05-26-mcq-per-user-keys-design.md per-user HMAC 金鑰 + 自助 .skill 下載
2026-05-30-review-lectures-design.md 複習班講義:EmbedPDF、個人註記、筆記本
2026-05-30-review-lectures.md 上述功能的逐 task 實作計畫
2026-07-17-search-review-enhancements-design.md 搜尋與複習體驗強化
2026-07-18-evidence-based-study-enhancements.md 交錯練習、信心校準、自動挖空、弱點地圖
2026-07-20-feature-backlog-index.md 九功能提案總覽與跨計畫共同約定(先讀這份
2026-07-20-custom-test-builder.md 等 9 份 各功能的逐 task 實作計畫,索引見上一列

新的重大功能請沿用此模式:先在 docs/plans/ 寫 design doc(brainstorm 決策要 lock 下來),再寫逐 task 實作計畫,實作時逐 task commit。

工作方法備忘

  • 測試node --testworker/**/*.test.tspnpm test);前端純函式測試同目錄放 *.test.ts,用 node --test --experimental-strip-types 跑(frontend/tsconfig.json 已 exclude)。純邏輯一律先抽成函式再測。
  • 但測試綠不等於功能會動——元件與整合層仍無測試。改完 AI / 生命週期相關的東西,用 wrangler dev + curl -H "X-Dev-Email: …" 實打一次。見 踩過的坑
  • Migration 只加不改;schema 演進見 migrations/(目前 0001–0029)。平行開發前先全域分配編號,否則每條分支都會挑到同一號。
  • 會超出 Cloudflare free tier 的功能必須在計畫階段明講。
  • 同時動到 worker/frontend/ 的推送不會自動部署(CI path gate 互相排除,且以 success 收場),要手動部署兩邊。

Clone this wiki locally