Summary
Add one stable top-level boolean field to openclaw code run --json named publishedPullRequestHasTitle.
Problem to solve
Downstream tooling currently has to inspect draftPullRequest.title directly just to decide whether the workflow run includes this signal. That is awkward for simple JSON consumers.
Proposed solution
Update src/commands/openclawcode.ts so the JSON output includes publishedPullRequestHasTitle: boolean.
true when draftPullRequest.title resolves to true or contains at least one entry
false otherwise
Add or adjust unit tests in src/commands/openclawcode.test.ts to cover both cases.
Impact
Affected users/systems/channels
Tools and scripts that read openclaw code run --json.
Severity
Low.
Frequency
Whenever downstream tooling needs a stable boolean instead of reimplementing nested truthiness or array-length checks.
Consequence
Without the derived boolean, simple consumers keep reimplementing the same nested truthiness or array-length check logic.
Summary
Add one stable top-level boolean field to
openclaw code run --jsonnamedpublishedPullRequestHasTitle.Problem to solve
Downstream tooling currently has to inspect
draftPullRequest.titledirectly just to decide whether the workflow run includes this signal. That is awkward for simple JSON consumers.Proposed solution
Update
src/commands/openclawcode.tsso the JSON output includespublishedPullRequestHasTitle: boolean.truewhendraftPullRequest.titleresolves totrueor contains at least one entryfalseotherwiseAdd or adjust unit tests in
src/commands/openclawcode.test.tsto cover both cases.Impact
Affected users/systems/channels
Tools and scripts that read
openclaw code run --json.Severity
Low.
Frequency
Whenever downstream tooling needs a stable boolean instead of reimplementing nested truthiness or array-length checks.
Consequence
Without the derived boolean, simple consumers keep reimplementing the same nested truthiness or array-length check logic.