Repository navigation
fix(skill-promotion): parse multi-line relay approval verdict (#2378) - #2379
Merged
Merged
Conversation
approve-via-relay.sh prints its final verdict with `jq -n` (pretty, multi-line); _run_relay_approval json.loads()'d only the last non-empty line (`}`), so every #2239 L3 approval was recorded as approve_output_invalid and the --match-head-commit merge was skipped. First live hit: fleet-skills#514 on 2026-10-19 08:30 KST (GitHub shows seoseo-ai APPROVED on 3acc0f46). Parse from the last line opening a JSON object through the end. ok/approved/ exact-head verification is unchanged. Tests use the real indent shape now, plus head-mismatch and non-JSON negatives; the stub previously emitted single-line json.dumps, which is why the suite never saw it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
seoseo-ai
approved these changes
Oct 18, 2026
seoseo-ai
left a comment
Collaborator
There was a problem hiding this comment.
Approved after exact-head validation and fresh operator authorization using the relay-held seoseo-ai credential.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #2378
What
_run_relay_approvalnow parses the relay helper's verdict from the last line that opens a JSON object through the end of stdout (_relay_result_json), instead ofjson.loads(last_line).Why
approve-via-relay.shL246 prints the verdict withjq -n(no-c) → multi-line; the last line is}→approve_output_invalid. First live #2239 L3 sweep (2026-10-19 08:30 KST, seoseo): fleet-skills#514 got a realseoseo-aiAPPROVED review on exact head3acc0f46, but the publisher recordedapprove-failedand skipped the--match-head-commitmerge. The 1-week dry-run never invoked the helper, and the test stub emitted single-linejson.dumps.Unchanged
ok / approved / exact-head verification, 3-failure cap, merge argv.
Evidence
cd scripts && python3 -m unittest ccc_skill_promotion_auto_drain_test→ 57 OK (3 new)test_pretty_printed_relay_output_is_a_verified_approvalFAILsccc_skill_promotion_*_test.pyOK;ruff checkpassedDeploy
Seoseo publisher picks it up via self-update (04:45/05:45 KST). Until then L3 approvals still land on GitHub but are logged as failures (capped at 3/head, no mis-approval).
🤖 Generated with Claude Code