Skip to content

Fix Shorts gate example and malformed-input BLOCK reports - #25

Draft
Hao0321 wants to merge 3 commits into
mainfrom
fix/shorts-gate-issues-15-16
Draft

Hao0321 wants to merge 3 commits into
mainfrom
fix/shorts-gate-issues-15-16

Conversation

@Hao0321

@Hao0321 Hao0321 commented Oct 1, 2026 •

Copy link
Copy Markdown
Owner

目標與問題

Closes #15
Closes #16

最新 main 上,零依賴 Shorts 範例匯入已移除的 DEFAULT_RULES 而失敗;缺少 segs 的輸入則在 QA gate 拋出 KeyError。修正後範例使用 gate_shorts(spec) 與實際平台規則,缺欄位及不合法結構回傳 (False, report),供下游穩定判斷 BLOCK。

變更範圍

  • 修正範例與雙語 SETUP、examples README 的現行單參數 API;示範同一段 31 秒計畫在 YT BLOCK、IG PASS。
  • 在索引、運算與素材 I/O 前檢查必要欄位、segment/caption 結構、有限時間與有效索引;拒絕 bool 數值、負索引、NUL 路徑及不合格證據結構。
  • 字幕塞不下時回傳 S-F BLOCK;assert_shorts 保留 AssertionError 拒絕語意,缺 name 不再讓報錯路徑崩潰。無效的可選 S-Q sidecar 依既有 advisory 政策略過。
  • 新增純標準函式庫回歸測試;CI 在現有三 OS/Python 3.9、3.12 矩陣執行測試與既有 gate 自測。
  • gate 的顏色輸入契約完全以純 Python 驗證,避免匯入媒體套件;測試以 AST 檢查 renderer 的 palette/alias 詞彙一致,未知顏色即 BLOCK。
  • 使用 main 收據及經公開轉換後逐字符合 main 的兩個 canonical 來源快照套用修正,核對轉換結果後以既有 receipt writer 重建收據。只更新兩個來源/輸出雜湊,保留完整 311 輸出 schema 與既有驗證器。

由 Codex 協助實作、補測試與檢查 diff;供維護者審查。

測試證據

Windows / Python 3.10:

  • python -S scripts/test_shorts_gate.py:13 組測試通過;含跨工作目錄零套件範例、缺 segs、錯誤型別、非有限值、錯誤索引、證據型別、拒絕前無素材 I/O,以及顏色契約一致性與媒體套件不得匯入。
  • python scripts/test_shorts_gate.py、既有 shorts_gate.py 自測、py_compile:通過。
  • 額外 150 種欄位變形:沒有未處理例外,報告可 JSON 序列化。
  • check_links.py、check_drift.py、architecture_gate.py audit:通過。
  • public_privacy_sanitizer.py、public_privacy_gate.py、sync_canonical.py 的自測與收據驗證、bundled cleanup helper 自測:通過。
  • system_health.py --quick:HEALTH GREEN。

Release transaction 自測通過。最終 commit 的兩次本機建置 ZIP 位元組相同,SHA-256:
71a524b56e904d1d16aba182d57371719567d3e1e02c0e73edc5b652dc62e09b。

最終 commit:d2e64b324028c8c4e5f3c057ed3ad0c6a6b8df3d。
GitHub CI:同 commit 的 CI 全部 7 jobs SUCCESS:Windows/macOS/Ubuntu × Python 3.9/3.12 六組驗證,加上可重現建置。各組均通過 Shorts 回歸/自測、privacy/收據、文件/架構、quick health、來源不變性及 release transaction 自測。

已同步到原本機 repo 的獨立修正 worktree;其 HEAD/工作樹與遠端分支一致,13 組回歸與 311 檔收據驗證通過。原工作目錄的 branch、HEAD、status 與 251 個修改/未追蹤檔案雜湊完全保留。

安全、隱私與依賴

  • 已檢查 diff;測試只使用合成資料,沒有私人媒體、憑證或存取連結。
  • 新增程式碼與測試沿用 MIT。
  • 涉及 workflow:只新增固定的 Python 驗證指令,沿用既有唯讀 permissions、action SHA 與六組矩陣。

安全修正集中於 gate 輸入驗證與拒絕路徑,沒有擴充執行權限或把輸入當程式執行。未新增依賴、變更系統安全設定或憑證;不改公開同步驗證標準。

驗收與回復方式

範例可在 python -S 下執行;缺 segs 明確回傳 required: segs,合法輸入仍能 PASS,既有語意規則及 advisory 警告持續生效。回復可 revert 此修正 commit。保留 draft 待審查;本次不合併或部署。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant