Edition 15 · July 1, 2026
The Bookstore Opens
Commerce, sustainability, and the path to V1. Every paid Edition is now purchasable end-to-end: real Stripe products, a working Buy button on each product page, an Edition/Bundle buy redirect, and a real thank-you page that retrieves the Stripe Checkout Session and branches on fulfillment (digital download vs. shipped paperback). The Shop is rebuilt as a bookstore — three browse doors (Situation · Collection · Format), a Featured Editions row with real covers and one-tap Buy, Editor's Picks and New This Month shelves, six editorial Bundles, and five Audience doors for librarians, teachers, reporters, churches, and neighborhood groups. The Institutions hub gains a one-page Quote intake covering bulk pricing, purchase orders, Net-30, tax-exempt orders, and W-9 requests. Donations are reframed into four purposes — Mission · Publishing · Community · Preservation — sharing the same checkout surface. A new SupportRibbon mounts above the footer on every content page (and inline on About / Contact) and is suppressed on Shop, Edition, Bundle, Support, print, and admin routes so it never competes with a real Buy button or shows on a receipt. Every paid product carries a lifecycle chip (Available / Coming Soon / Updated / Revised / Superseded / Archived) and an opt-in 'Give One' toggle that adds a $5 line item funding a free copy for a neighbor. New /support/legacy and /support/grants pages declare grant readiness with the editorial-independence clause. A Commerce Maturity Ladder pins the V1 scope at Stage 2 with Stage 3 doors visible. Fifteen new Pass 21 bylaws codify the bookstore-not-catalog identity, the no-popups posture, and the editorial firewall.
Added
- Live Stripe products and prices wired for all three Editions (Preparedness Kit Digital $14.95 · Hearing Pack $9 · Library Edition $29.95). The Buy button is no longer 'Coming soon.'
- Edition + Bundle buy redirect routes (/editions/$slug/buy, /bundles/$slug/buy) that open Stripe Checkout in one tap. Server-side allowlist validates the price id — never trusts the client.
- Real thank-you page at /support/thank-you — retrieves the Checkout Session and branches on fulfillment: digital download vs. shipping address echo vs. donation purpose. Receipt page /support/receipt/$orderId uses the same lookup.
- Bookstore rebuild at /shop — three browse doors (Situation · Collection · Format), Featured Editions row with real covers, Editor's Picks / New This Month shelves, six editorial Bundles, five Audience doors, and the search bar demoted into a disclosure.
- Six editorial Bundles at /bundles — Neighborhood Starter · Public Hearing · Public Records · Organizer · Reporter · Library Collection. Each is a real product page with hand-picked contents, lifecycle chip, Give-One toggle, and Buy button.
- Five Institution doors — Libraries · Schools & Teachers · Churches · Reporters · Neighborhood Groups — each with audience-specific framing. New /institutions/quote intake for bulk pricing, PO, Net-30, tax-exempt, W-9, and complimentary review copies.
- Four Donation Purposes (Mission · Publishing · Community · Preservation) on /support with default amount ladders. Same checkout surface; the thank-you page honors the purpose.
- SupportRibbon mounted in __root.tsx above the SiteFooter on every content page; inline variant on About and Contact. Suppressed on /shop, /editions/*, /bundles/*, /support/*, print routes, and admin routes.
- Primary nav: a 'Support' link sits next to 'Shop' so a donate path exists from every page in one tap.
- LifecycleChip rendered on every product card and product page (Available default is silent; Coming Soon / Updated / Revised / Superseded / Archived each carry a chip).
- Give One — opt-in $5 line item on every paid product. Never pre-checked. Receipt explicitly thanks the buyer for funding a neighbor copy.
- AlsoOnThisShelf — editorial cross-sell ('the librarian recommends…') hand-picked from src/lib/commerce/companion-map.ts. No algorithm, no 'customers also bought.'
- Two long-horizon pages: /support/legacy (estate · memorial · named fund · endowment) and /support/grants (foundation · government · historical preservation · civic education · library · journalism) — each with the editorial-independence clause.
- Commerce Maturity Ladder pinned in docs/commerce-maturity-ladder.md. V1 ships at Stage 2 (Professional Bookstore) with Stage 3 (Institutional Publisher) doors visible.
- Institutional pricing bands documented in docs/institutional-pricing.md — Library $19/copy @ 5+ · Classroom $15/copy @ 10+ · Net-30 on request · Tax-exempt supported.
- Pass 21 — Commerce, Sustainability & Public Launch bylaws (mem/preferences/pass-21-revenue-bylaws.md): Shop is a bookstore · every paid page has a working Buy button or no Buy button · only persistent donate affordance is the SupportRibbon + nav link · Stripe loads only on checkout / buy / thank-you · no cart, no accounts, no subscriptions in V1 · print fulfillment manual through V1 · every Buy/Support button states what happens next · editorial firewall · institutional discounts never apply to individuals · Give One always opt-in · no stock or AI photography · cross-sells are editorial · lifecycle visible on every product · mission metrics alongside revenue · donation purposes honored.
Improved
- Refund policy now explicitly covers Editions, Bundles, digital and print. A 'Refund within 30 days · Stripe-hosted · No account' line sits under every Buy button.
- Edition bumped to 15.0 — 'The Bookstore Opens.' The Public Beta chip stays on until the Launch Readiness Gate passes.