Guidant AI v1.4.0 Release Note
| 項目 | 內容 |
|---|---|
| 版本 | 1.4.0(功能版號;含 FR-032 / FR-033 兩個 feature) |
| 發布日期 | 2026-06-08 |
| 上一版本 | 1.3.1(2026-05-31) |
| 涵蓋區間 | 2026-06-01 ~ 2026-06-08 |
| 規模 | 2 feature(系統資產盤點 / 稽核事件埋點)+ DB 架構整理(搬表 + log 分區)+ main code review 修正(BE + jedi 跨套件)+ auth token 修正 + 套件重刻漂移收斂 + 7 個 jedi-* 套件升版,跨 BE + FE + jedi monorepo |
| 適用部署 | dev / staging / poc / prod(含 DB migration,app 與 DB 須同版上線) |
1. 概述
v1.4.0 是 v1.3.1 之後累積的功能 + 修正批:
- 兩個新功能:FR-032
系統資產盤點(資訊系統作為資產納入 SSP inventory)、FR-033
專案進度稽核事件埋點(語意事件寫
system_logs)。 - DB 架構整理:12 張表跨 schema 搬遷(module_frame /
workflow 系列 →
compliance、drive 三表 →public)+ log 表月分區。 - 兩份 main code review 落地:BE review(Critical/Important,防禦式編碼 / 角色守門 / silent-fail / Reflected XSS)+ jedi-* review(跨 6 套件)。
- auth token 機制修正:登入持久化、JWT 錯誤 401 不再變 500。
- 套件重刻漂移收斂:盤點主專案重刻外部套件已有功能的案例並收斂(死碼移除 / 去重修正 / 預設對齊)。
- 7 個 jedi- 套件升版並推 Nexus*。
2. 重點新功能
2.1 FR-032 — 系統資產盤點
- 資訊系統作為資產納入 SSP inventory,採 hybrid soft-ref(複製欄位 + 選填 ref_type/ref_id,BE 從 master snapshot 單向凍結)。
- 新增
asset_type與設備並存;EA Excel 匯入匯出 round-trip。 - 從主專案抽出
jedi-information-system外部套件(jedi-auth 解耦,dependency inversion)。 - migration:
2026-06-04-fr032-inventory-asset-type.sql。
2.2 FR-033 — 專案進度稽核事件埋點
- 任務完成 / 指派 / 退回 + 問卷狀態變更寫
system_logs(語意 event_code,180 天保留)。 - 兩套 log 並存:
api_logs(HTTP 全自動 90 天)vssystem_logs(語意事件)。 - helper
common/util/audit_log.py;查詢 runbook 見 FR-033 文件。
2.3 DB 架構整理
- 搬表:12 張表跨 schema 搬遷(module_frame /
workflow 系列 →
compliance、drive 三表 →public)+ 跨 schema FK 限定。migration2026-06-01-schema-reorg-move-tables.sql。 - log 分區:
api_logs/system_logs改 RANGE(act_time) 月分區 + BRIN +maintain_log_partitions()。migration2026-06-03-log-tables-partitioning.sql。 - ERD 中文註解:ORM comment 灌進 DB
COMMENT。migration
2026-06-02-erd-chinese-comments.sql。
3. 重要修補
3.1 main code review 落地
- BE review(Critical/Important):SSP 匯入匯出角色守門、OAuth callback Reflected XSS、防禦式 None-guard、silent-fail 移除、DDD 分層架構債(I2/I23/I29 實修)、error code 語意。
- jedi- review*(跨 6 套件):Critical 16 + Important 11,落在 oscal / flow-engine / survey / auth / login / issue。
3.2 auth token 機制
- 登入 token / session 持久化修正。
- JWT 錯誤 loader 改 return response(修 token 401 變 500 無 CORS)。
- jedi-login:logout 只撤當前 session token、I13 token 撤銷 fail-closed;密碼過期/變更時間比較 UTC-aware 正規化。
3.3 套件重刻漂移收斂(本批)
- party clone
跨呼叫去重(
start_oscal_project重跑安全)+ regression pytest(5 cases)。 - 移除參與者 metadata.parties 屬性名
bug(
party_uuid→uid,修 500)+ E2E regression。 - 死碼移除:
OscalConvertService+ convert route(被POST /module-frame取代)、domain/upload_file/孤兒死碼。 - SC placeholder 預設對齊(MF 系統特性
security_sensitivity_level對齊 SSPhigh)。 - jedi-bulletin auth 時間過濾運算子方向 bug。
- flow-engine 收斂 feasibility 結論(方案 c 文件化,BE 版架構合規,不合併)。
3.4 其他
- survey:clone 翻譯表重複(選單列兩次)、checkpoint serializer 容忍完整 entity、資料夾切換競態。
- evidence-classify:歷史清單改以 DB 為主來源、分類器 container image 重建。
- summary-report PDF 模板路徑 500;api-log middleware teardown / before_request;main_socketio 啟動 create_all crash。
4. Breaking Changes
- DB 搬表(schema reorg):12 張表換
schema。app 與 DB 必須同版上線——舊版 app 配新
schema(或反之)會炸 UndefinedTable。任何 image 內自帶 SQL 的
container/sidecar 也要 rebuild(見 changelog
2026-06-08-...、memoryfeedback_rebuild_docker_image_after_schema_move)。 - log 表分區:
api_logs/system_logs改 RANGE 分區。排程未接(pg_cron 未裝;分區預建至 ~2026-09 + DEFAULT 兜底)。 - OscalConvertService
移除:
POST /oscal-framework-version/convert/module-frame/<uid>端點移除(已被POST /module-frame取代,FE 無 live 呼叫)。
5. DB Migration(按序套用)
⚠️ 依賴順序 ≠ 檔名日期:
erd-chinese-comments內容會COMMENT ON COLUMN asset_type,必須在fr032-inventory-asset-type之後套(檔名日期 06-02 早於 06-04 但實際依賴相反)。下表為實際正確順序。
| 順序 | migration | 內容 |
|---|---|---|
| 1 | 2026-06-01-schema-reorg-move-tables.sql |
12 表跨 schema 搬遷 + FK 限定 |
| 2 | 2026-06-04-fr032-inventory-asset-type.sql |
FR-032 inventory asset_type |
| 3 | 2026-06-02-erd-chinese-comments.sql |
ORM comment 灌 DB COMMENT(依賴 asset_type,須在 #2 後) |
| 4 | 2026-06-03-log-tables-partitioning.sql |
log 表月分區 + BRIN + maintain_log_partitions() |
| 5 | 2026-06-07-surveys-trans-dedup-unique.sql |
surveys_trans 去重 + unique |
| 6 | 2026-06-08-schema-version-tracking.sql |
DB 版號 + migration 追蹤(schema_version / schema_migrations),stamp 1.4.0 |
- 一律用
cmmgr+psql --single-transaction -v ON_ERROR_STOP=1 -f <檔>(原子套用、失敗即 rollback)。 - DEV / STG / POC 三邊已全數套用並 stamp
schema_version=1.4.0(2026-06-08);PROD 上線時補齊。 - 查環境版號:
SELECT version FROM public.schema_version ORDER BY set_at DESC LIMIT 1;
6. 相依套件版本(jedi-*,本版升版 7 個)
| 套件 | 舊 → 新 |
|---|---|
| jedi-oscal | 0.0.20 → 0.0.21 |
| jedi-flow-engine | 0.0.30 → 0.0.31 |
| jedi-survey | 0.0.21 → 0.0.22 |
| jedi-auth | 0.1.19 → 0.1.20 |
| jedi-login | 0.0.19 → 0.0.20 |
| jedi-issue | 0.0.11 → 0.0.12 |
| jedi-bulletin | 0.0.9 → 0.0.10 |
- 皆已
poetry publish --build -r nexus上傳。BEpyproject.tomlpin 已更新、path-dep 還原、poetry update完成。 - 未升版(已是最新):jedi-common 0.0.25、jedi-device 0.0.11、jedi-information-system 0.0.1、jedi-project 0.0.5 等。
7. 部署順序
- jedi- 套件*:7 個已推 Nexus(monorepo commit
63d4e54,待 push gitlab)。 - DB migration:依 §5 順序套用(cmmgr)。
- BE:上 v1.4.0(pin 新套件版本)。與 DB migration 同步(搬表 breaking)。重建含 SQL 的 sidecar image(如 cmmc-classifier)。
- FE:對齊 v1.4.0。
8. 已知 follow-up
- flow_template / ai_dashboard 約 11 個 stale 單元測試(mock 與現行 BE code 不符,非回歸)— 待整批更新。
- log 分區排程未接(pg_cron 未裝);分區預建至 ~2026-09,之後需補排程或手動。
- jedi-bulletin 完整收斂(BE 改薄 extend over 套件)— 無 live 影響,defer 到有第二 consumer。
- D3 權限 review 項(12 條)依指示跳過,列後續。
9. 完整 changelog 索引(docs/changelog/,2026-06-01 之後)
FR-032:2026-06-04-feat-fr032-system-asset-inventory.md、...-ea-excel-roundtrip.md、...-tweak-fr032-g-jedi-information-system-extract.md、2026-06-07-fix-stg-fr032-asset-type-migration.md
FR-033:2026-06-04-feat-fr033-audit-event-logging.md DB
架構:2026-06-03-tweak-schema-reorg-move-tables.md、...-tweak-log-tables-partitioning.md、2026-06-02-tweak-db-erd-tooling-convergence.md、2026-06-04-fix-erd-partition-refresh-liam-per-schema.md
review:2026-06-07-fix-main-review-be-correctness-security.md、...-tweak-main-review-be-arch-debt.md
auth:2026-06-07-fix-login-token-session-persistence.md、2026-06-08-fix-auth-jwt-token-handling.md
收斂:2026-06-08-fix-party-clone-and-remove-path.md、...-fix-bulletin-time-filter-direction.md、...-tweak-package-reimpl-convergence.md
其他:2026-06-03-fix-main-socketio-create-all-startup-crash.md、2026-06-04-fix-api-log-middleware-teardown-and-before-request.md、2026-06-07-fix-summary-report-pdf-template-path.md、...-fix-survey-checkpoint-serializer-shape.md、...-fix-survey-clone-duplicate-trans.md、...-fix-survey-folder-switch-race.md、...-fix-evidence-classify-history-db-source.md、...-fix-evidence-classify-container-image-rebuild.md
10. 相關文件
- 收斂分析:
docs/analysis/2026-06-08-package-vs-be-reimplementation-convergence.md - flow-engine
feasibility:
docs/features/FR-034-2606-flow-engine-be-package-convergence/design.md - jedi-flow-engine
使用地圖:
docs/claude/jedi-flow-engine-usage-map.md - BE review
報告:
docs/review/2026-06-04-main-review-be.md