iter57 cluster-072: Studio catalog storage Protobuf serializers (#955)#956
Conversation
issue #955 direct implement(medium severity,no design): - Studio catalog 存储改用 Protobuf 序列化(满足 CLAUDE '统一 Protobuf' 强制) - 新 StudioCatalogProtobufStorageSerializer + 测试 - 删除原 JSON serializer(违反 '禁止 JSON 用于持久态') closes #955 local PASS:architecture + test_stability + build + StudioCatalogProtobufStorageSerializerTests ⟦AI:AUTO-LOOP⟧
|
Findings:
Validation run:
Verdict: reject until the Protobuf serializer/guard is either wired into the actual production persistence boundary or removed in favor of guarding the real actor-backed catalog path. REVIEW_DONE:956:omnibus:reject |
📊 codex 进展 review-pr956-omnibus-r1 (⏳ 进行中; 已跑 7 min)
|
…径(actor-backed catalog stores) PR #956 r1 reject 2 blockers: - ConnectorCatalogStorageSerializer + RoleCatalogStorageSerializer 不在 production path(只 tests + guard) - guard 只扫这 2 unused files,真路径 ActorBackedXxxStore + import parsers 没覆盖 修(plan B 删壳+真 guard): - 删 unused serializer + 相应 tests - guard 改覆盖 ActorBackedConnectorCatalogStore / ActorBackedRoleCatalogStore + StudioLocalCatalogImportReader + import parsers - 验:加临时 JSON 入侵真路径 → guard fail;移除 → pass ⟦AI:AUTO-LOOP⟧
📊 codex 进展 fix-pr956-r2 (⏳ 进行中; 已跑 10 min)
|
Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## auto-refact-dev #956 +/- ##
================================================
Coverage 83.04% 83.04%
================================================
Files 987 987
Lines 63558 63558
Branches 8214 8214
================================================
Hits 52780 52780
Misses 7246 7246
Partials 3532 3532
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
摘要
iter57 cluster-072(severity:medium)— Studio catalog storage 改用 Protobuf serializer
StudioCatalogProtobufStorageSerializer替代;ConnectorCatalogStorageSerializer+RoleCatalogStorageSerializer改用 typed proto;tools/ci/studio_catalog_storage_serializer_guard.sh加强防回流违反:CLAUDE.md「序列化(强制)— 统一 Protobuf」「禁止 JSON/XML/自定义字符串格式用于 Actor State、WorkflowRun State、模块持久态、投影检查点等事实存储」
Scope
8 files changed(+526 / −591 净 −65)— ConnectorCatalog / RoleCatalog 两条主存储 path + Studio local reader + 新 guard
local PASS:architecture_guards + test_stability + dotnet build + StudioCatalogProtobufStorageSerializerTests
closes #955
🤖 Generated with Claude Code via codex-refactor-loop iter57
⟦AI:AUTO-LOOP⟧