Skip to content

feat(control): preserve artifact manifest completeness - #158

Merged
EricWvi merged 1 commit into
ora-space:mainfrom
wanglongan587:feat/536-artifact-manifest-completeness
Oct 23, 2026
Merged

EricWvi merged 1 commit into
ora-space:mainfrom
wanglongan587:feat/536-artifact-manifest-completeness

Conversation

@wanglongan587

Copy link
Copy Markdown
Collaborator

Refs ora-space/circus#536

Summary

Preserve whether a scheduled artifact manifest is complete across the Cloud control contract.

Node manifest
  omitted_rejections → field 3 (uint32)
  walk_truncated     → field 4 (bool)
  candidate_limit    → rejection reason 9

These additions match the executor's bounded collector. Regenerate the Go bindings and pin a
protobuf wire round trip. Merge this contract slice before consumers upgrade their Cloud submodule;
the Cloud codec/persistence implementation and Controller mapping consume it in follow-up changes.

ADR: additive wire portion of
specs/decisions/cloud/scheduled-task/20261022-run-verdict-and-artifacts.md (D3). The ADR remains
approved; runtime delivery, projections and cross-stack acceptance are not completed by this PR.

Evidence

  • Before: the Cloud manifest schema had only items/rejections and could not represent the
    executor's truncation facts or candidate_limit reason.
    After: TestScheduledManifestCompletenessWireRoundTrip preserves both facts and the reason.
  • buf lint, buf breaking against the current main contract, regeneration and the focused Go test pass.

Merge Danger

Door: two-way

Blast Radius: contract

Additive fields and enum value only; existing field numbers and legacy zero/default behavior remain.
This slice does not start emitting new work or change runtime persistence.

@HappyAuratus HappyAuratus left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

已审查 commit e3bc1a6,未发现阻断问题。

核对全部 3 个文件及 desktop main e177e02 的 Node 协议:omitted_rejections 为 uint32/字段 3,walk_truncated 为 bool/字段 4,candidate_limit 追加为枚举值 9;语义、类型与 Node 一致,既有编号和默认值兼容。生成 descriptor、枚举映射、getter 与 proto 一致,wire round-trip 覆盖非默认完整性事实和拒绝原因。

本地 go test ./internal/controlgrpc/... ./internal/controlpb/... 通过(controlpb 无测试文件),git diff --check 通过。该 SHA 六项 CI 全绿,包含 buf lint/breaking 与生成漂移检查;本机没有 buf,未独立重跑。

结论仅覆盖契约先行切片;Cloud codec/持久化(#154)、Controller/Node 接线与真实跨栈验收仍须后续独立审查,不代表 #536 整体完成。

@EricWvi
EricWvi merged commit 085215e into ora-space:main Oct 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants