Make append the default write behavior; refresh hero/logo#5
Merged
Conversation
upload --edit-body and --update-comment used to fully replace the PR/issue body or comment, destroying existing content. Appending is now the default (no flag needed) and what --edit-body/--update-comment do; --overwrite opts back into the old full-replace behavior. Also requires at least one file and validates flag conflicts before any network I/O, since the new default write mode made an empty file list silently mutate a real issue/PR body.
Replace the monochrome hero/icon with the new blue-accented hero and wide logo lockup. The lockup already contains the wordmark, so it replaces the small square icon + separate <h1> title with a single full-width image.
# Conflicts: # README.md
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.
Summary
upload --edit-bodyand--update-commentused to fully replace (PATCH) the PR/issue body or comment, destroying existing content. Real content was lost this way.--edit-body/--update-commentdo.--overwriteopts back into the old full-replace behavior; it's rejected when combined with--print-only/--new-comment, which don't touch existing content.uploadnow requires at least one file — with the new default write mode, zero files previously reached the GitHub write path and appended empty markdown to a real issue/PR body.--overwrite's flag-conflict validation now runs before any file/auth I/O.README.md,SKILL.md) updated for the new default and note that appending is a GET-then-PATCH, not an atomic merge — concurrent uploads to the same issue/PR/comment can still race.docs/hero.pnganddocs/logo.pngwith the new blue-accented design; the new logo is a wide lockup with the wordmark baked in, so it replaces the small icon + separate<h1>title in the README header.Breaking change: bare
uploadnow writes to GitHub (appends to the body) instead of only printing. Callers relying on the old print-only default must pass--print-onlyexplicitly.Review
Ran a 10-angle parallel code review against the diff; verified and fixed the two real correctness bugs it surfaced (empty-file-list mutation, validation-ordering) and tightened the "never overwrites" doc language to acknowledge the read-then-write race. A few cleanup/architecture suggestions (clap-native
--overwriteconflict declaration, de-duplicating the per-endpoint GET/append helpers) were considered and intentionally left as-is — they'd be a larger change than this PR's scope and match the file's existing per-endpoint-method convention.Test plan
cargo test— 63 passed, 2 ignored (hermetic; integration tests stay#[ignore])cargo clippy --all-targets— cleancargo fmt -- --check— cleancargo build --release--overwrite --print-onlyrejected before any file/auth I/OGH_TOKEN): confirm default append preserves existing PR body text,--overwritereplaces it,--print-onlywrites nothing