這個案子在做什麼(白話)

產品要開始賣「裝在客戶自己機器上」的落地版。程式碼是公司的核心資產,不能讓客戶一打開主機就看到原始碼,所以出貨前要先把程式「翻譯成只有機器看得懂的形式」——就像出貨的是壓好的唱片,而不是樂譜。整個程式碼保護工程分三步走:第一步把程式編譯成看不出原始碼的成品(本案 FR-063)、第二步防止成品被竄改(FR-064)、第三步做一鍵安裝程式(FR-065)。本案是第一步。

已拍板決策

先行實測結果(2026-08-13 夜間,STG 測試機)

正式動工前先實際編譯了一次,確認可行性、也把雷區找出來:

完工的驗收標準

編譯後的成品放進正式容器(production image)能順利開起服務,而且:能登入、主要查詢功能正常、PDF 報告匯出正常(含中文字型)、Word 文件轉檔(LibreOffice)正常。

後續

設計討論稿 → design.md → 拆子卡,依 big-feature-workflow 流程進行。(已完成,子卡樹見下方。)

子卡樹(2026-08-14 拆卡)

執行順序:.1 程式整理 → .2 Build 管線 → .3 Production image → .4 socketio 驗證。⚠️ .2b 提前驗證要點:編譯機一到位,最優先單獨跑 wheel rebuild(CM-1202)——15 分鐘就能驗出「dependency-injector 那顆最底層的雷到底解不解得掉」,免得程式整理全做完才發現路不通。.1a/.1b 是編譯前必須完成的硬前置;.1f 獨立可平行;.2 的腳本撰寫可與 .1 平行進行。