本卡屬 FR-114 資安修正(母卡 CM-2019),合回主線前的清理棒。決策者 2026-09-24 裁「現在合,先開清理卡」。全是機械性收尾,不改任何守門邏輯。做完才進合回步驟 1(套件 monorepo 合回)。
資安修正 50 張卡都做完、驗過了,但改動還放在四個跟主線隔開的工作區(worktree)裡。合回主線之前,要先把幾件「不影響功能、但帶進主線會留髒東西」的事收乾淨:畫面上會顯示原始代碼而不是中文的錯誤訊息補上文案;程式註解裡寫「第幾棒、哪張卡」這種施工紀錄收掉(這些該待在 commit message);資安報告上已經修好的幾件改成「已修」;儲存設定頁一個欄位的紅框綁錯欄位;最後把開發期為了測試改掉的套件路徑設定還原,免得被合進主線。
BE /Users/chouraymond/Projects/Billows/Audit-Manager/compliance-manager-be/.claude/worktrees/wt-fix-security branch fix/security-b1
套件 /Users/chouraymond/Projects/Jedicogy/module/jedi-python-package/.claude/worktrees/jedi-wt-fix-security branch fix/security-b1
FE /Users/chouraymond/Projects/Billows/Audit-Manager/compliance-manager-fe/.claude/worktrees/wt-fix-security branch fix/security-b1
agent /Users/chouraymond/Projects/Billows/Audit-Manager/evidence-agent/.claude/worktrees/wt-fix-security branch fix/security-b1(本卡預期不用動)
首腦 09-24 核對:四個工作區都停在 fix/security-b1,HEAD 分別是 BE b64995ac9/套件 bad15b7d/FE 756783b/agent 9edda49,除了 BE 的 pyproject.toml、poetry.lock(開發期 path 設定,見第 5 項)外都沒有未 commit 改動。開工先 git status 確認仍是這樣,不是就停下回寫。
首腦 git grep 確認 FE 工作區 src/ 下這六個碼零命中,所以後端回這些錯誤時畫面會顯示原始代碼。
檔案:FE src/config/locales/i18n/{zh-tw,en,zh-cn}/error-code.json(三語都要)
GRC_400131 留言內容不可為空
GRC_400132 留言內容過長,上限 2000 字
GRC_400133 本流程留言則數已達上限(500 則)
FILE_AGENT_401002 代理程式通行證缺失或無效
FILE_AGENT_403003 代理程式已停用
FILE_AGENT_400007 憑證申請上的機器識別碼與本次登記的機器不符
CLAUDE.md 2026-09-11 規則:程式註解只留「為什麼」與「陷阱」一到兩行;「第幾棒、哪張卡(CM-20xx)、FR-114.x-y、重派」這類施工紀錄進 commit message。首腦用 git diff feature/review..HEAD -U0 只看本 arc 新增行統計,命中 BE 64 行/套件 31 行/FE 18 行/agent 0。範圍與排除:
首腦統計的主要命中檔(本 arc 新增行,數字是命中行數),作為清單起點,實際以你自己跑的指令為準:
BE: common/code/flow_control_error_code.py (6) app/flow_engine/service/flow_template_app_service.py (3) app/flow_control/service/job_service.py (3)
app/system_config/service/guarded_system_config_service.py (2) app/project_summary_report/service/project_summary_report_service.py (2)
以及各 1 行:infra/survey/adapters.py、infra/flow_control/repository/flow_control_job_repo_impl.py、domain/project_summary_report/entity/project_summary_report_query_filter.py、
di_containers/task_survey/question_answer_containers.py、di_containers/survey/survey_containers.py、core/plugins/issue.py、core/plugins/api_log.py、common/authz/__init__.py、
app/system_config/service/security_policy_app_service.py、app/oscal/service/resource_library_app_service.py、app/flow_engine/service/workflow_execution_service.py、
app/flow_control/service/assessment_plan_app_service.py、api/project_summary_report/routes/project_summary_report_history_route.py、
scripts/smoke_test_*.py、scripts/seed_2026-08-01_*.py、scripts/migrate_2026-08-09_*.py、scripts/e2e_test_module_frame_with_docx.py(後面這幾支 scripts 若命中的是既有標註而非本 arc 註解,不動)
套件: jedi-compliance-audit/.../common/error_code.py (6) .../app/service/audit_round_app_service.py (3) jedi-detection/.../detection_orchestration_service.py (3)
jedi-task-platform/participant/{common/error_code.py, app/service/project_participant_service.py, app/service/project_control_participant_service.py} (各 2)
各 1 行:jedi-task-platform/{task/domain/repository/i_flow_control_job_repo.py, participant/domain/ports.py, participant/common/guard.py, participant/app/service/task_assignee_service.py}、
jedi-compliance-audit/app/service/{poam_app_service.py, assessment_result_app_service.py}、jedi-bulletin/jedi_bulletin/common/send_scope.py
FE: src/stores/menuStore.js、src/components/grc/{ssp-excel-import/EntityPickerDialog.vue, ModuleFrameSspInfoSystemsPanel.vue, ModuleFrameSspDevicesPanel.vue, JobExecutionDrawer.vue} (各 2)
各 1 行:src/views/project/ProjectPlanningView.vue、src/views/log-forwarding/LogForwardingForm.vue、src/views/feedback/system/SystemFeedbackManage.vue、
src/views/feedback/FeedbackManageTabView.vue、src/composables/useDetectionProfileOptions.js、src/components/grc/planning/{AoTaskSection.vue, AoTaskForm.vue}、src/components/detection-tools/DetectionConfigField.vue
統計指令(每個工作區各跑一次,列出本 arc 新增行中的命中檔與行數):