{"slug": "a-tale-of-two-commit-messages", "title": "A Tale of Two Commit Messages", "summary": "A developer who switched from Anthropic's Claude Code to OpenAI's Codex (Terra/Sol/Astra) reported that Codex's Astra model generated a one-line git commit message — \"Fix YouTube resolver playback and isolate proxy traffic\" — for a change that added a YouTube resolver, scoped a Bright Data proxy, changed the playback path, added a fallback download and ffmpeg merge flow, and updated cron behavior, dependencies, and docs, while Claude produced a multi-paragraph message explaining a background-job ingest fix. The developer, Par Trivedi, said the terse Codex output contrasted with Claude's detailed style and described the switch as \"a nice breath of fresh air.", "body_md": "Ok so I recently switched from Claude Code to OpenAI Codex (Terra/Sol/Astra). First of all, I was surprised at how fast Astra Medium blew through my usage doing some pretty rote stuff. Learned my lesson and am using Terra more regularly now. Now I'm ok to admit I'm one of those people that has the AI do my git commit and pushes for me, and let it draft the messages and all. Today I had Astra 'commit and push' for me, and for shits and giggles I looked at the git log, expecting to see some kind of novella-esque message like what Claude would generate. But I was really surprised:\n\n```\ncommit 2a4f143949a8214b90da4850d6b5daa2ff211efb\nAuthor: Par Trivedi <par.****@gmail.com>\nDate:   Thu Sep 10 21:30:49 2026 -0400\n\n    Fix YouTube resolver playback and isolate proxy traffic\n```\n\nNow this was a pretty beefy task we did here, the change itself adds a new YouTube resolver, scopes a Bright Data proxy so it does not accidentally route unrelated requests through it, changes the playback path, adds a fallback download and ffmpeg merge flow, validates the output video, updates cron behavior, dependencies, and docs.\n\nNow look at a pretty standard commit message that Claude generated:\n\n```\ncommit d5767c4dd42426a9c8857f50d67dae741a7f8c1b\nAuthor: Par Trivedi <par.****@gmail.com>\nDate:   Sat Aug 15 10:38:00 2026 -0400\n\n    Run admin video ingest as a background job instead of in-request\n\n    The ingest (scrape/download + two ffmpeg passes + two S3 uploads) runs for\n    minutes, past nginx's 60s uwsgi_read_timeout, so the admin page 504'd. The work\n    was actually completing — there's no harakiri set, so the worker kept going\n    after nginx hung up — but the result was unreachable.\n\n    POST now enqueues a VideoIngestJob and returns immediately via POST-redirect-GET,\n    spawning a detached `process_video_ingest_jobs --job-id N`. The page polls\n    ingest-video-status for live stages (downloading -> transcoding -> thumbnail ->\n    s3 -> refreshing cache -> done) and renders the same preview on completion.\n    Closing the tab no longer matters.\n\n    Job claiming is a conditional UPDATE (pending -> running), so the spawned worker\n    and the cron safety net can't double-process. Cron runs every 5 min to pick up\n    jobs whose spawn failed and to requeue ones orphaned by a restart mid-run.\n\n    Also fixes the Instagram download itself: _download_direct sent no User-Agent, so\n    scontent-*.cdninstagram.com rejected it. The resolver path never hit this because\n    it hands the CDN URL to the app rather than fetching the bytes server-side. The\n    failure was also swallowed into a print, surfacing only as \"download failed\".\n\n    Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>\n```\n\nIn the words of gen z: \"dead ass\". Both commits are relatively similar in scope:\n\nIt really gives you a sense of the 'personality' behind the creators of these two models, and I gotta say, I did switch from Claude because I felt like it was getting too stuffy lately, and I think switching over has been a nice breath of fresh air. But I'll be honest, I didn't expect to see this!", "url": "https://wpnews.pro/news/a-tale-of-two-commit-messages", "canonical_source": "https://devcodehack.com/a-tale-of-two-commit-messages/", "published_at": "2026-09-11 02:22:09.832113+00:00", "updated_at": "2026-09-11 02:22:11.417805+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "large-language-models", "generative-ai"], "entities": ["OpenAI", "Codex", "Claude Code", "Anthropic", "Astra", "Terra", "Par Trivedi", "Bright Data"], "alternates": {"html": "https://wpnews.pro/news/a-tale-of-two-commit-messages", "markdown": "https://wpnews.pro/news/a-tale-of-two-commit-messages.md", "text": "https://wpnews.pro/news/a-tale-of-two-commit-messages.txt", "jsonld": "https://wpnews.pro/news/a-tale-of-two-commit-messages.jsonld"}}