Content sprint 2026-08-20: YJIT/ZJIT de-fabrication refresh + RubyLLM x Rails cluster (R1, R4, R5) - #488
Merged
Merged
Conversation
careers/_overview, nav/use_cases, and mobile/about_us baselines still showed pre-purge copy (World-Class Training, the 32-clients ratings line, old mission text) from before the de-cliche/testimonial PRs (#477/#479/#481). Current renders match master's intentional content; diffs inspected image-by-image before accepting. Linux legs were updated by those PRs' CI runs - only the host-only macos set was stale. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ications purged August refresh slot (20.09 §5). Premise audit redirected the slot: the plan's named candidate (Kamal/Traefik SSL post) had decayed to 4 impressions/pos 20, while ruby-3-4-yjit-performance-guide holds 6,310 impressions at pos 9.5 AND carried fabricated claims - invented Shopify internal metrics ($2.4M savings), fabricated GitHub results, two fake JetThoughts client case studies, and a fictional Ruby 3.5/3.6/4.0 roadmap. Full in-place rewrite: every claim now cites a primary source (ruby-lang 4.0 notes, railsatscale ZJIT launch, speed.ruby-lang.org, Rails 7.2 announcement, official YJIT docs). Review loop: 3-critic panel + cold-eyes gate. critic-tech verdict NEEDS-FIXES -> fixed: the initializer claim was mechanically false (initializers run for rake tasks too - rewritten as the explicit trap), ISEQs not methods, 4.1 goal is surpass-not-parity, hedged the prebuilt- binary claim. critic-slop: PASS 8/10, SEO clean (title 40, desc 152, 5 internal links verified, 6 citations). critic-editor: minor edits, all applied; diagram redrawn around the CPU-vs-I/O decision. cold-eyes: PUBLISH-READY after fixing desc flag-count and a fabricated reader quote. Moved flat file content/blog/2025/*.md into a page bundle (slug unchanged, URL stable) for local cover + pre-rendered mermaid (18px labels = 12.7px at 390w, clears the 9px floor). New stitch cover. check-post-visuals FLOOR ratcheted 78->72 per the script's own report. Gates: hugo-build green, qtest green, zero console errors/404s. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… posts (20.09 §12 R1, R4) Two new Rails-technical posts from the RubyLLM x Rails queue Paul directed today. R1 owns 'rubyllm rails' (chat/persistence/tools/ streaming with the real 1.16.0 API, every claim verified against rubyllm.com + gem source). R4 owns the fibers-vs-threads arithmetic for LLM streaming (Puma 3-thread default vs 30-60s SSE streams, Falcon/ async, semaphore rate limiting, honest ActionController::Live thread caveat) and bridges the falcon cluster. Review loop per post: 3-critic panel + cold-eyes. critic-tech caught 2 majors, both fixed: an unsourced author-stance attribution in R1 (contradicted by the project's own README tagline) and R4's overreach that Live streams cost only a fiber under Falcon (Live spawns its pool thread unconditionally - now stated honestly). critic-slop: PASS 8/10 both; cross-post exhibit dedup applied (job snippet lives in R1, R4 links it). critic-editor: minor edits, applied. cold-eyes: PUBLISH- READY both (one universal-claim fix in R1). Covers from the 6-slot template; mermaid pre-rendered (R1 272px, R4 675px wide - labels clear the 9px mobile floor); scroll gate walked desktop+mobile; hugo-build green; check-post-visuals at floor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… cluster polish
R5 is the practitioner centerpiece of today's cluster: our production
talent-matching pipeline - eight agents on a 21-line RubyLLM::Agent
base class, a 16-line reduce Workflow, reflector-driven stop loop,
bounded-integer scoring summed in Ruby, and the commit-documented
Aug 16 outage (with_connection held across multi-second LLM calls under
fiber fan-out starved a pool of 10 against 15 fibers). All architecture
facts sourced from the real codebase; gem API cross-checked against
ruby_llm 1.16.
Review loop: critic-tech caught a real BLOCKER - temperature {} blocks
are a silent no-op in ruby_llm 1.16 (only model accepts a block); the
published sketch now declares temperature statically. (Side finding:
the production app's own temperature block is likely a no-op too -
flagged to Paul.) Also fixed: the 'gem rejects out-of-range integers'
claim (no client-side validation exists; the fetch/clamp is the real
enforcement). critic-slop: PASS 8.5/10, the strongest of the four.
critic-editor: minor edits, applied. cold-eyes: PUBLISH-READY after one
universal-claim trim. Cluster-wide polish across all four of today's
posts: 'genuinely' intensifier sweep, 'earns' metaphor thinned,
verbatim phrase dedup, cover alt fixed to describe the actual cover.
Gates: hugo-build green, visuals ratchet at floor, scroll gate walked.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ck gotcha
Four posts in one batch exposed cluster-level fingerprints per-post
review can't see (shared intensifier, shared metaphor family, verbatim
phrase reuse, meta-narration templates, cloned CTA tails) - added the
cross-batch sweep to voice-rules. Logged the ruby_llm 1.16 finding that
only model accepts a block (temperature {} is a silent no-op).
Validated: okf:validate --strict conformant.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
… verdict, R2 caution Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… from Paul's directive Both grounded in first-hand production material surfaced today (agent_logs audit trail, VCR matching trap, invariant-test pattern). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…refresh Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
… append conflict, both entries kept) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…Rails 7)
YJIT post now opens its default-check section with 'Every Rails 8 app
has YJIT on out of the box' (7.2 kept only as the cited change-point);
fibers post opens the thread arithmetic with the Rails 8.1 default
('3 threads per worker'), verified against the current rails/rails puma
template (threads ENV.fetch RAILS_MAX_THREADS, 3). R1/R5 were already
version-neutral.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…s kept) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Encodes the three practices the 2026-08-20 4-post batch validated on top of the per-post pipeline: live-GSC premise audit before topic pick, real-code mining for first-hand material (with sanitization rule), and the same-day-cluster sweep after the last post. Paste-ready prompt so future sprints don't reconstruct the orchestration from memory. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Outer loop (orchestrator): groomed-queue picks with live-GSC premise
audit, WIP=1 dispatch of one coordinator per post, cluster sweep with
its own 4-eyes pass, plan/OKF sync, one PR, CI watch with flake-rerun.
Inner loop (coordinator): writer packet -> resumable 3-critic panel ->
cold-eyes 9-check gate -> ship gates -> commit, bounded at 2 fix rounds
per gate with SHIPPED/RESCOPE/BLOCKED reporting. blog-pipeline.md batch
section now names the agent form ('Spawn blog-batch-orchestrator, N=4')
with the paste prompt as the registry-free fallback.
4-eyes: agent-def reviewer verdict FIX-FIRST -> all 5 findings applied
(worktree-or-nothing for any second committing coordinator, critic pass
on the sweep diff before the polish commit, dev-server port added to
the dispatch contract, founder-persona note, bounded-iteration cap).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Member
Author
|
Merging on Paul's authorization ("you merge and make decision", 2026-08-20). Decision disposition on the two flagged items:
Unit Tests 'failure' on the final head was the known actions/checkout timeout flake (job cancelled in checkout, never reached tests); re-run green across all five checks. |
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.
What shipped (4 posts, one day)
/blog/ruby-3-4-yjit-performance-guide//blog/rubyllm-rails-getting-started//blog/fibers-async-ruby-llm-streaming-rails//blog/multi-agent-llm-rails-rubyllm/Per-commit
temperature {}blocks are a silent no-op in ruby_llm 1.16 (onlymodeltakes a block) - sketch corrected. Cluster-wide tell sweep (shared intensifier, metaphor family, verbatim phrases).Gates
bin/hugo-buildgreen on every commit (all validators + banned-strings ratchet)bin/qtest --changedgreen after the baseline catch-upruby bin/check-post-visualsat floor (72), tightened from 78Notes for Paul
app/agents/agent_base.rbusestemperature { ... }- per ruby_llm 1.16 source that block is silently ignored, soCandidateScorer's 0.0 likely never reaches the provider. Worth a 5-minute check + fix in that repo.🤖 Generated with Claude Code