The consumer-usable cut from the fd87f45b-green tree (2b3fc55, PR #243) — the last lib/-shaped release line before the spin package conversion (PR #244, tep#234).
Why this release: released 0.11.6 was unusable as a spinel-compiled consumer dependency at July spinel masters (tep#245) — missing-key reads and out-of-range slices are nil now (CRuby-correct) where older spinel returned "", so every request died in a rescued NoMethodError with an empty reply.
- fix(request): nil-header guards (#236);
params[]/cookies[]/session[]keep their documented""-on-miss contracts viaTep.param/Tep.cookie/Session#get; auth chain + openai server guard possibly-absent reads (#243). - fix(pg): load-time type seeds no longer
async_execon a never-connected connection (boot crash, latent at the old pin too); Hash-conninfo kv-pack restored; the #1434 workarounds retired (#243). - SPINEL_PIN:
f6d5eef→fd87f45b(#196).
(The repo tree carries sig/*.rbs type roots, but the gemspec's file globs don't ship them — packaging follow-up: tep#248. No functional impact on consumers; toy's gates are green without them.)
Consumer-verified against the published gem: toy's serve passes both serve gates byte-for-byte at spinel f6a189e8, and the tep#245 hello repro answers 200. Validated tep-side by the full suite + PG trio + differential oracle at fd87f45b.
🤖 Generated with Claude Code