Skip to content

Rescue page: stack-agnostic intake + restore the founder's actual words - #479

Merged
pftg merged 1 commit into
masterfrom
stack-agnostic-intake
Aug 20, 2026
Merged

pftg merged 1 commit into
masterfrom
stack-agnostic-intake

Conversation

@pftg

@pftg pftg commented Aug 20, 2026

Copy link
Copy Markdown
Member

Summary

Implements the CEO stack decision (2026-08-20, recorded in vault jt-business-os §Positioning): audit is stack-agnostic; delivery = salvage-their-stack or rebuild-on-Rails; marketing stays Rails-authority; no new stack pages.

Changes (2 surgical edits, one template)

  1. Step-1 audit section gains one sentence: the audit reads any stack (Lovable/Bolt/v0, React+Firebase, dev-shop leftovers) with the two-path verdict stated plainly. A non-technical founder with a Lovable build now sees their tool named and knows they qualify.
  2. Misquote fixed on the live page: the testimonial "a problem I couldn't fix" was fabricated — the founder wrote "a problem I'm still paying for" (verified at source in the add tags #29 re-audit, which fixed 5 docs files but missed this rendered template). The live landing page was quoting words a real founder never wrote.

Review + gates

  • Cold-eyes ICP/voice review: PASS, no changes
  • bin/hugo-build green; rendered output greps verified (misquote gone, new sentence present)
  • bin/qtest --changed: 34 runs / 0 failures / 53 screenshots clean

🤖 Generated with Claude Code

…under's actual words

Stack decision (recorded in vault jt-business-os §Positioning): the audit reads
any stack (Lovable/Bolt/v0/React/Firebase/dev-shop leftovers); delivery is
salvage-their-stack or rebuild-on-Rails; marketing authority stays Rails;
no new stack service pages. One sentence added to Step-1 stating it.

Quote fix: the page carried 'a problem I couldn't fix' - words the founder
never wrote (the #29 re-audit found the fabricated phrase had propagated
into 5 docs files AND this live template). Restored to his verified words:
'a problem I'm still paying for' (re-read at source, r/startups 1sgsq6o).

Gates: bin/hugo-build green, rendered greps verified, bin/qtest --changed
34 runs / 0 failures / 53 screenshots clean. Cold-eyes reviewer: PASS.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Aug 20, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: f1650a16-0fce-42bd-ae89-c27a4e873138


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@pftg
pftg merged commit 28736a8 into master Aug 20, 2026
6 checks passed
@pftg
pftg deleted the stack-agnostic-intake branch August 20, 2026 11:29
pftg added a commit that referenced this pull request Aug 20, 2026
… x Rails cluster (R1, R4, R5) (#488)

* test: catch up stale macos baselines after master copy purges

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>

* content(refresh): YJIT guide rewritten as Ruby 4.0 YJIT vs ZJIT, fabrications 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>

* content(ai-rails): RubyLLM getting-started + fibers-for-LLM-streaming 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>

* content(ai-rails): multi-agent RubyLLM pipeline post (20.09 §12 R5) + 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>

* okf(content): same-day-cluster voice tells + ruby_llm temperature-block 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>

* docs(plan): 20.09 §12 execution status - R1/R4/R5 shipped, R3 rescope verdict, R2 caution

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(plan): 20.09 §12 - add R7 (agent evals) and R8 (agent debugging) 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>

* docs(plan): groomed note - Ollama import needs a light banned-phrase refresh

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* content: re-anchor version framing to Rails 8 (Paul: don't lead with 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>

* docs(pipeline): add batch-mode prompt for N-post sprints

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>

* agents: blog-batch-orchestrator + blog-post-coordinator for N-post loops

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>

---------

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant