Skip to content

History / ForkSafety

Revisions

  • docs: put back on_worker_boot — before_worker_boot crashes Puma 6 An independent audit refuted the previous commit and it was right on both counts, each re-verified here before this fix. * The swapped sample was NOT universally valid. puma 6.6.1's dsl.rb defines on_worker_boot and does not define before_worker_boot at all — no alias — so a Puma 6 reader copying the block gets a NoMethodError in config/puma.rb and a server that will not boot. Puma 8 keeps on_worker_boot as an alias and merely warns. The old spelling is valid on 6, 7 and 8; the new one is valid on 7 and 8. The block is a copy-pasteable recipe for the READER's app, and convert_sdk.gemspec pins no Puma, so Puma 6 readers are in scope by construction. The demo's >= 8.0.2 floor governs the demo, not them. * Declining to name the version was evasion, not caution. The previous commit treated two conflicting in-repo comments as the authority on a third-party gem's release history. Puma's own History.md settles it in one lookup: "Rename callback hooks" under 7.0.0, with the old-to-new table. So demo/rails/config/puma.rb is right and the Gemfile comment saying "Puma 8" is wrong. Naming 7.0.0 is also what makes the note actionable — "use whichever your Puma understands" is unusable advice if the page will not say which Puma understands which. The opening sentence goes back to naming on_worker_boot, matching the root README, which still carries the same sentence verbatim. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Aug 10, 2026
  • docs: Puma renamed the worker-boot hook, so stop naming the old one ForkSafety showed `on_worker_boot { CONVERT_SDK.postfork }` as the optional belt-and-braces re-arm, in the prose and in the puma.rb sample. Current Puma calls that hook `before_worker_boot`, which the bundled Rails demo moved to when it took the Puma 8 security floor. The sample now uses the current name and a note gives the old one, since a reader on either Puma needs to recognise both. It also states the part that makes the rename harmless here: the line is OPTIONAL on both versions, so an integration that followed the default advice and wrote no fork-handling code cannot be broken by it — which is exactly what the demo defines and the release-blocking fork smoke exercises. The version the rename landed in is deliberately not named: the repo's own comments disagree (demo/rails/Gemfile says Puma 8, puma.rb says Puma 7), and an unverified major is not a fact this page should carry. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Aug 10, 2026
  • docs: link same-wiki pages by name instead of by full GitHub URL Every same-wiki link was written as a full github.com URL. On GitHub the two forms are identical -- it resolves a bare page name against the wiki it is rendering -- but this wiki also ships inside the Convert Claude plugin as a read-only mirror, and there they are not identical at all: a skill routes an absolute URL to "external", so the page sitting on disk beside it never gets opened, and the answer is reconstructed instead of read. This repo is private, so the fetch that would rescue it returns 404. Cross-wiki links keep their absolute form -- a bare name would resolve inside this wiki and land on the wrong page. _Sidebar.md and _Footer.md are untouched: GitHub nav chrome, absolute by convention, on no skill routing path. Anchors are preserved. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Aug 7, 2026
  • docs: refresh Ruby-specific pages against ruby-sdk @ 732909c Verified against convertcom/ruby-sdk main (732909cf7038); previous review watermark 6202c7e84c10. Ruby-specific (SDK-owned) pages only — every shared full-stack page is left to the backend sync. - Configuration: add cache_level + debug_token, and a QA-options section (debug token forces low-cache, disables config caching both ways, is redacted, and never rides a tracking payload) - Initialization: config-fetch query-param order; a configured debug_token makes the fetch always-live and skips the cached-config fallback - CodeExamples: Context#set_preview and ConvertSdk.parse_preview_param, with the inert-input and zero-trace contracts - TrackingControl: preview-vs-tracking-switch matrix; correct the claim that the bucketing lifecycle event always fires (a preview silences it) - ReturnTypes: bucketing_allocation is nil for sticky and forced decisions - Testing: cross-SDK gate now also covers the 59 anchored-bucketing vectors; spec/staging + spec/support in the layout; fixture provenance - ForkSafety: debug_token is redacted alongside the sdk keys - Installation, Changelog: pin examples track the 2.x line - Home, AI_Index: nav rows for the five shared pages already in _Sidebar; set_preview + parse_preview_param on the public API surface

    @abbaseya abbaseya committed Jul 31, 2026
  • docs: bootstrap Convert Ruby SDK wiki Shared cross-SDK concept docs (copied from the sibling wiki, links rewritten to this wiki) + Ruby-specific pages (Quickstart, Installation, Initialization, Configuration, ReturnTypes & Sentinels, CodeExamples, ForkSafety & Runtime Recipes, TrackingControl, Testing, Changelog) + AI_Index routing table, Home, sidebar/footer, CLAUDE authoring rules, and sdk-docs-config readme.io mapping. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

    @abbaseya abbaseya committed Jun 8, 2026