fix: gate the CEO REVISE re-file with ceo_codecheck_proposal (follow-up to #287) #292
No reviewers
Labels
No labels
Agent
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No assignees
2 participants
Notifications
Total time spent: 1 minute 19 seconds
Due date
igor
1 minute 19 seconds
No due date set.
Dependencies
No dependencies set
Reference
joshtronic/igor!292
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/290-gate-the-ceo-reconsider-revise-re-file-with-the"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this PR does
ceo_codecheck_proposal(follow-up to #287)ceo_revise_refiletolib/ceo.sh-- thin helper wrapping the gate; KEEP files the new proposal, DROP posts a one-line reply on the old (already-closed) issue and skips re-filedo_ceo_tick(bin/tick.sh) to callceo_revise_refileinstead ofceo_file_proposaldirectlyTest plan
bash bin/test-ceo.shpasses -- new== ceo_revise_refile (gated REVISE) ==section covers KEEP (re-files) and DROP (skips, posts comment) casesbash bin/check-sync.shpasses (all existing + new unit tests green)Closes #290
ceo_codecheck_proposal(follow-up to #287)🤖 Review —
APPROVE(automated)CI for
9f00bcf6: successClean, tightly-scoped follow-up that routes the CEO REVISE re-file through the existing
ceo_codecheck_proposalgate. Correct, honestly described, tested both ways, CI green. Approving.Verified against the contract:
ceo_revise_refileadded inlib/ceo.sh;do_ceo_tickREVISE branch rewired inbin/tick.sh; new== ceo_revise_refile (gated REVISE) ==test section present. Fail-open claim holds — the function delegates KEEP/DROP toceo_codecheck_proposal, which is the component documented to echo KEEP on error, so a gate failure re-files rather than silently eating the proposal.jq -rintick.shand passed$FORGEJO_REVIEWER; the new helper extracts the same fields from the passed$rissueJSON and forwards the assignee through. Behaviorally identical on the KEEP path.jq -n '{body:"..."}'static string;repo/rnumonly flow into the API path and are internal CEO state, not a new injection surface. No new findings, consistent with the description._fjmock case-orders/comments*before/issues*, so the comment POST doesn't get mis-bucketed as an issue creation. Good coverage of both branches.success; no.forgejo/or.github/workflows/changes.Non-blocking observation (follow-up at most):
tick.sh, theelsebranch logs"code-check dropped revised proposal"wheneverceo_revise_refilereturns nonzero. But the helper also returns the exit status ofceo_file_proposalon the KEEP path, so a genuine API/file failure (not a gate DROP) would be logged as a code-check drop. The prior code logged nothing on file failure. The outcome (no re-file) is unchanged; only the log line is slightly misleading for the rare file-failure case. Worth a tweak if log fidelity matters, but not a merge blocker.Independent review by the harness on
claude-opus-4-8. The human reviewer is requested once Igor has reviewed; a human still merges.