本卡屬 FR-114(母卡 CM-2019)。決策者 2026-09-24 裁:本體→agent→LC 順序;本體 1.21.0b1 已出包並在 190 重裝,決策者一邊測本體、agent 同步打包。agent 帶 CM-2052(控制面通行證)與 CM-2085(時鐘偏差)兩筆,與新雲端協定相容、與舊 1.0.0 不相容,所以要出新版。首腦先派唯讀 agent 盤點 v1.0.0↔fix/security-b1 打包差異,本卡依盤點結果一次做完。
agent 版號從 1.0.0 改成 1.1.0b1(預發版;1.0.0 已出貨,不改會把 188 上已出貨的產物與包蓋掉)。但 Nuitka 規定產品版號只能是純數字,1.1.0b1 會讓編譯第一步就失敗——本體 CM-2135 已修過同一個坑,agent 腳本沒跟上。修完之後在 188 build 機出原生 tarball 與 compose 包,只出包不部署。本體那輪撞到的四類問題(cffi 守門、.mo、探針看不到編進 binary 的模組、擁有者/權限)盤點確認 agent 都不會擋:agent 不編譯清單是空的且產物禁任何 .py、以 root 執行、沒有翻譯檔。
worktree:/Users/chouraymond/Projects/Billows/Audit-Manager/evidence-agent/.claude/worktrees/wt-fix-security branch fix/security-b1(HEAD 9edda49,已推 origin)
① scripts/build/build_agent_release.sh:784 --product-version="${BAKED_VERSION}"
照 BE compliance-manager-be worktree scripts/build/build_release.sh:330-335 抄:在 step_freeze 算
NUITKA_PRODUCT_VERSION="$(printf '%s' "$BAKED_VERSION" | grep -oE '^[0-9]+(\.[0-9]+){1,3}')",取不到就 fail,
--product-version 改用它;info 行印出兩個值。烙印版號、目錄名、/agent-info 仍用完整 1.1.0b1。
② pyproject.toml:3 version = "1.0.0" → "1.1.0b1";bump 後 `poetry check --lock`(不要 poetry lock/update;不一致就停下回報)。
③(順手)scripts/build/smoke_agent_release.sh:584 反向檢查清單的 meta.json 改 agent.json(agent 實際寫的是 core/agent_auth.py:35 的 agent.json);:580-581 註解「私鑰在發請求前就寫下」已不成立(ecdc9f3 後改為雲端接受後才寫,core/enroll.py:196),改成現況一兩行。
bash -n 三支腳本;單獨跑一次那行 grep 確認 1.1.0b1 → 1.1.0、1.0.0 → 1.0.0;build_agent_release.sh --help 或 dry-run(若有)。origin fix/security-b1(決策者已放行推此分支)。188:ssh [email protected],目錄 /opt/guidant-ai-agent。188 上跑著 STG(本體 1.19.0)——不准動任何容器。本體 build 也在這台:先確認沒有本體 build 在跑(編譯互撞會 linker crash)。
git fetch origin && git checkout fix/security-b1 && git pull --ff-only origin fix/security-b1;git log -1 必須是第一段那個 commit;git status --short 空。決策者分支路線:188 切 fix/security-b1 出包(不先合回 main)。grep '^version' pyproject.toml = 1.1.0b1。find /opt/guidant-ai-agent ! -user jedi | wc -l = 0;umask 022。pgrep -af 'nuitka|build_all|build_compose_bundle|build_release|build_bundle' 空;df -h /opt ≥ 10G。.build/dist/evidence-agent-1.0.0、1.0.0 原生包與 compose 包的路徑、大小、mtime(出包後比對沒被動)。scripts/build/build_all.sh --check-only(照 README;參數名以 --help 為準)。nohup scripts/build/build_all.sh --with-compose > .build/build-cm2138-1.1.0b1.log 2>&1 & 後輪詢(約 15 分)。紅了就停:保留 log、還原、回報。不改腳本、不加 skip 旗標、不刪 smoke 項。簽章沿用 188 既有設定(送 LC 簽 STG 鑰,kid 04b1e65f100c6c8f)——內部測試包,PROD 公鑰在 LC 輪處理。.build/dist/evidence-agent-1.1.0b1 在;1.0.0 產物與兩顆包仍在且 mtime 未變。