Conversation
…itch path, cap notice chain)
docs(plan): issue train 0927 delivery record
…ults; align DISPATCH-VERIFIER-01 prose; +6 tests, badges 3729
…sed); badges 3730
Interview: separate inferred assumptions from confirmed requirements at handoff (#275)
Goalplan decisions record offered options; recommendation must be one of them (#262 follow-up)
Release codexclaw 0.2.40 (version bump and CHANGELOG)
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. |
리뷰 · 우선순위 44 / 80이 PR은 라인 - PR 체크 메인테이너의 판단이 필요한 지점 PR 이벤트 CI가 다 초록이 될 때까지 머지를 기다릴지, 이미 통과한 push CI·Packed install·WSL만으로 승격할지. CHANGELOG 날짜를 9/29로 둘지 9/30으로 고칠지. 너의 추천 승격 대상은 이 댓글은 grok-bot이 작성했습니다 |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ff3f5af5f4
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| .filter((effect): effect is VerifierEffect => !!effect && typeof effect === "object" | ||
| && typeof effect.command === "string" && Array.isArray(effect.expectedWrites)); |
There was a problem hiding this comment.
Reject malformed verifier effects during preflight
Make this filter enforce the full VerifierEffect shape, including nonblank write paths, a nonblank command, and a boolean runInIsolation. When a shared-read packet reaches verifierPreflight without first passing validatePacket, an entry such as { command: "npm test", expectedWrites: [], runInIsolation: "yes" } is currently treated as a valid read-only declaration and returns needsIsolation: false, even though the function explicitly promises to ignore malformed entries. This can cause an untrusted verifier declaration to run in the shared checkout rather than fail closed.
Useful? React with 👍 / 👎.
| for (const clause of unquoted.split(/[.;!?]\s*|,\s*(?=(?:please\s+)?(?:use|run|start|invoke)\b)|\s+but\s+|\s*(?:하지만|그런데)\s*/i)) { | ||
| const text = clause.trim(); | ||
| if (text && !NEGATED_LEAD.test(text) && !NEGATED_TAIL.test(text)) result.push(text); |
There was a problem hiding this comment.
Preserve the requested mode after Korean negation
Split Korean 말고 contrasts before discarding negated clauses. For an explicit request such as cxc-loop 말고 cxc-pabcd로 계획 진행해 (“not cxc-loop; proceed with a cxc-pabcd plan”), the entire line remains one clause and NEGATED_TAIL removes it, so both detectors return no request and the requested Plan guidance is silently skipped. The equivalent English contrast is already separated and handled correctly; the Korean requested half should likewise survive.
Useful? React with 👍 / 👎.
Promotes
devatff3f5af5tomainfor codexclaw 0.2.40.It contains the 2026-09-27 issue train (#269-#272: PABCD trigger narrowing, the worker evidence gate, IDLE goal release, the per-turn Stop budget, the PABCD off switch,
.codexclaw/.gitignore, agent-created thread permissions, goalplan pending decisions), the 2026-09-30 issue train (#278 dispatch verifier coverage and effects preflight, #279 Interview assumption provenance, #280 goalplan decision options), and the 0.2.40 version bump and CHANGELOG (#281).devatff3f5af5: push CI 36614079312, Packed install lifecycle 36614079283 and WSL 36614079194 all passed. After merge,release.ymlruns with the main merge SHA asexpected_sha.