Repository navigation
Fix/workflow duration validation - #8699
aihubworkflow wants to merge 3 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🔐 Codex Security Review
|
- parse_duration_secs accepts d suffix with overflow checks; - RequestApproval dispatch propagates timeout errors instead of silent 24h fallback; - WorkflowDef::validate rejects invalid/zero approval timeouts and delay durations, plus delays over 270s. Signed-off-by: aihubworkflow <[email protected]>
…dvance all three watermarks 32 commits, 54 PRs and 2 issues ruled on with pinned head SHAs; no product change adopted yet. The block#8624 trigger is rewritten now that it closed unmerged. Executed from the roadmap's near-term table; the finished row is removed in the same commit. Co-Authored-By: Claude Opus 5.5 <[email protected]> Signed-off-by: SanHsien <[email protected]>
477f9b0 to
a019f34
Compare
joahg
left a comment
There was a problem hiding this comment.
🤖 Blocking on the approver check in the new decide endpoint (inline). Rest (persist gate, resume-after-gate, duration validation) read fine. This PR overlaps #8709 (older version of the same WF-08 work, plus an unrelated hermit node bump); worth closing one. PR description is still the empty template.
| } | ||
| true | ||
| } | ||
|
|
There was a problem hiding this comment.
🤖 P1: this concerns approver_spec_satisfied just above (the final return true at L529). Any spec that is not a bare 64-hex pubkey returns true, so a gate like from: '@manager' (the form used in the tests and docs) can be granted or denied by anyone who can read the workflow's channel, including whoever triggered the run. That leaves the approval gate unenforced for the common case. Fail closed until roles resolve: reject non-pubkey specs with 403, or restrict to channel owner/admin.
Summary
Related issue
Testing