Skip to content

iter57 cluster-073: Studio C# typed StudioStepParameters AST (#954)#958

Merged
loning merged 2 commits into
auto-refact-devfrom
refactor/iter57-cluster-073-studio-step-params-typed
May 24, 2026
Merged

iter57 cluster-073: Studio C# typed StudioStepParameters AST (#954)#958
loning merged 2 commits into
auto-refact-devfrom
refactor/iter57-cluster-073-studio-step-params-typed

Conversation

@loning
Copy link
Copy Markdown
Contributor

@loning loning commented May 24, 2026

摘要

iter57 cluster-073(severity:high)— Studio C# typed StudioStepParameters AST,替代 Domain JsonNode bag

违反:CLAUDE.md「核心语义强类型」「字段命名 Metadata 决策树」

Phase 9 共识链路(4-round + reflector)

Round Verdict
r1 converge:typed carrier 选 Dict/C#/proto
r2 converge:3-way typed carrier
r3 escalate:stalled(2 C# typed vs 1 proto-backed)
reflector r1 retry-fix:in-process AST → C# typed;proto 留 future when crosses durable/distributed
r4 META_JUDGE_DONE:consensus:structural:C# typed Studio StepParameters replaces Domain JsonNode carrier; no Studio proto unless the parsed AST crosses durable or distributed boundaries

Scope

  • StepModel.cs:typed Parameters 替 JsonNode
  • WorkflowDocumentNormalizer.cs / WorkflowValidator.cs / YamlWorkflowDocumentService.cs:typed AST 处理
  • 删 JsonNodeExtensions(no longer needed)
  • 新 StudioStepParameterValueTests

closes #954

🤖 Generated with Claude Code via codex-refactor-loop iter57

⟦AI:AUTO-LOOP⟧

Phase 9 r4 consensus(4-round + reflector r1 救场;in-process AST 不必 proto):
- 新 C# typed StudioStepParameters + typed sub-types(in-process authoring AST)
- 替 Domain JsonNode bag
- YAML adapter 边界保留 JSON
- runtime export 走 #949 已 typed WorkflowStepParameters proto
- deferred:Studio proto 留作 future when crosses durable/distributed boundaries

closes #954
local PASS:architecture + test_stability + build

⟦AI:AUTO-LOOP⟧
@loning
Copy link
Copy Markdown
Contributor Author

loning commented May 24, 2026

📊 codex 进展 review-pr958-omnibus-r1 (⏳ 进行中; 已跑 13 min)

/bin/zsh -lc 'git worktree remove /tmp/aevatar-pr-958' in /Users/auric/aevatar
 succeeded in 419ms:
exec
/bin/zsh -lc '~/.claude/skills/gstack/bin/gstack-telemetry-log --skill "review" --duration 0 --outcome "success" --used-browse "false" --session-id "codex-pr-958-$(date +%s)" 2>/dev/null &' in /Users/auric/aevatar
 succeeded in 53ms:
codex
approve

No blocking findings. The PR moves `StepModel.Parameters` to typed `StudioStepParameters`, removes Domain `JsonNode` usage and `JsonNodeExtensions`, keeps YAML/JSON handling at the adapter boundary, and preserves existing normalizer/validator behavior with added `StudioStepParameterValueTests`.

Verified:
`dotnet test test/Aevatar.Studio.Tests/Aevatar.Studio.Tests.csproj --nologo` passed: 586 tests.
`bash tools/ci/test_stability_guards.sh` passed.

REVIEW_DONE:958:omnibus:approve
⟦AI:AUTO-LOOP⟧
tokens used
90,348
approve

No blocking findings. The PR moves `StepModel.Parameters` to typed `StudioStepParameters`, removes Domain `JsonNode` usage and `JsonNodeExtensions`, keeps YAML/JSON handling at the adapter boundary, and preserves existing normalizer/validator behavior with added `StudioStepParameterValueTests`.

Verified:
`dotnet test test/Aevatar.Studio.Tests/Aevatar.Studio.Tests.csproj --nologo` passed: 586 tests.
`bash tools/ci/test_stability_guards.sh` passed.

自动更新每 10 分钟;edit-in-place 不堆评论;codex 完成后此 comment 自动删除(per Auric "完成后删掉就好了 否则太占空间")。
🤖 controller progress reporter

@codecov
Copy link
Copy Markdown

codecov Bot commented May 24, 2026

Codecov Report

❌ Patch coverage is 90.14085% with 7 lines in your changes missing coverage. Please review.
✅ Project coverage is 83.05%. Comparing base (cbb9ef2) to head (eaa0837).

Files with missing lines Patch % Lines
...o.Domain/Studio/Models/StudioStepParameterValue.cs 93.75% 1 Missing and 2 partials ⚠️
...Studio.Domain/Studio/Services/WorkflowValidator.cs 25.00% 0 Missing and 3 partials ⚠️
...main/Studio/Services/WorkflowDocumentNormalizer.cs 83.33% 0 Missing and 1 partial ⚠️
@@                 Coverage Diff                 @@
##           auto-refact-dev     #958      +/-   ##
===================================================
+ Coverage            83.03%   83.05%   +0.02%     
===================================================
  Files                  987      988       +1     
  Lines                63558    63564       +6     
  Branches              8214     8208       -6     
===================================================
+ Hits                 52776    52794      +18     
+ Misses                7247     7233      -14     
- Partials              3535     3537       +2     
Flag Coverage Δ
ci 83.05% <90.14%> (+0.02%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...c/Aevatar.Studio.Domain/Studio/Models/StepModel.cs 100.00% <100.00%> (ø)
...tudio.Domain/Studio/Models/StudioStepParameters.cs 100.00% <100.00%> (ø)
...main/Studio/Services/WorkflowDocumentNormalizer.cs 88.33% <83.33%> (-0.84%) ⬇️
...o.Domain/Studio/Models/StudioStepParameterValue.cs 93.75% <93.75%> (ø)
...Studio.Domain/Studio/Services/WorkflowValidator.cs 97.54% <25.00%> (-1.41%) ⬇️

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

…odecov/patch 53.52%→target)

PR #958 codecov/patch fail = 53.52%(24 misses + 9 partials)。
补 narrow tests 覆盖 24 lines on StudioStepParameters typed paths。

local PASS:Studio.Tests StudioStepParameter filter + test_stability_guards

⟦AI:AUTO-LOOP⟧
@loning loning merged commit 85d00a0 into auto-refact-dev May 24, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant