From e9d00a7e5953d90ed74b71ab05aa0e62a5108509 Mon Sep 17 00:00:00 2001 From: Paul Keen <125715+pftg@users.noreply.github.com> Date: Thu, 20 Aug 2026 22:34:55 +0200 Subject: [PATCH] fix(R8): twitter_description asserted a retirement the body refuses to claim Found by reading the codex report for #499 after the fact. Its DO NOT MERGE was never about the connection test - codex confirmed that fix by execution, matching my own harness (passes clean, fails when with_connection is restored, rollback intact, test_fixtures.rb:201-204 cited accurately). The blocker was a P1 I never checked: line 19 still read "a retired model took out five features at once", a definite claim, while the body at line 74 says "whether the model was being retired or quietly substituted, the effect was the same". The softening landed in the prose and not in the metadata, so the published page kept making the claim the softening existed to remove. Now: "a hosted model stopped answering the way it used to", which is the body's own wording and asserts only what we observed. description/og_description say models "can be retired" - a general risk the post supports rather than a claim about this incident - so they are left alone. Lesson for the merge gate: I verified the executable claim and the date collision, then merged without diffing frontmatter against the body it summarises. Metadata is published copy and needs the same claims check as prose. Noted while committing, not fixed here: content/blog/debugging-rubyllm-agents-rails matches a broad "debug" .gitignore rule. The tracked files edit fine, but a NEW file added to that bundle would be silently skipped. The negation pattern that fixes it is still uncommitted in another worktree. bin/hugo-build: 8/8 validators. --- content/blog/debugging-rubyllm-agents-rails/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/debugging-rubyllm-agents-rails/index.md b/content/blog/debugging-rubyllm-agents-rails/index.md index 9bcc1cce69..4234f01249 100644 --- a/content/blog/debugging-rubyllm-agents-rails/index.md +++ b/content/blog/debugging-rubyllm-agents-rails/index.md @@ -16,7 +16,7 @@ metatags: og_title: "Debugging RubyLLM Agents in Rails" og_description: "What a green Rails suite actually asserts when the thing under test is a hosted model: VCR matches on method and URI only, and the model can be retired." twitter_title: "Debugging RubyLLM Agents in Rails" - twitter_description: "VCR matches on method and URI only, a retired model took out five features at once, and the one connection observable a pinned test cannot flatten." + twitter_description: "VCR matches on method and URI only, a hosted model stopped answering the way it used to and took out five features at once, and the one connection observable a pinned test cannot flatten." --- Debugging RubyLLM agents in Rails keeps landing me on the same question: what is a green test suite actually asserting when the thing under test lives on someone else's server?