Rigorous Reasoning

Changelog

What we've shipped, when.

The short version: we keep cutting scope that isn't about reasoning, and adding depth on what is. This page is hand-curated; tiny bug fixes and internal refactors aren't listed.

April 21, 2026

Account self-service, observability, and a dark-mode contrast pass

Added

  • Account settings at /account/settings: change display name, change password, change email (with confirmation link).
  • Delete-account flow with password + email confirmation — covers GDPR-style erasure.
  • Instructor onboarding tour (six role-specific steps on first visit to /instructor).
  • Stripe billing portal reachable directly from account settings for paid users.
  • Public /api/health endpoint reporting database, Resend, and Stripe connectivity.
  • Composite database indexes for hot-path student and instructor queries.
  • Sentry integration for swallowed-catch errors across Stripe webhook, registration, email flows.
  • Instructor gradebook CSV now includes a UTF-8 BOM so Excel opens it cleanly.

Improved

  • Dark-mode contrast across status badges, error text, danger buttons, and the footer.
  • Mobile navigation drawer uses a solid background so menu items read clearly over scrolled content.
  • Stripe webhook is resilient to out-of-order events and accounts deleted between checkout and webhook arrival.
  • Onboarding now persists your answers and blocks Next on required selections.

Security

  • Email change confirmation uses HMAC-signed, time-limited tokens (no DB state).
  • APP_SECRET is now required at startup in production.

April 20, 2026

Performance, voice, and color correctness

Improved

  • Anonymous lesson and unit content is cached for 10 minutes with tag-based invalidation.
  • Pricing page is statically renderable for faster cold starts.
  • Voice pass across catalog, instructor pages, dashboards, and transactional emails — precise, no jargon, friendly.
  • Brand color tokens now use color-mix so tints stay accurate in dark mode.
  • Defensive server-side paywall enforcement with visible lock badges on unit pages.

Fixed

  • Save-status banner now handles 403 (paywall) and 429 (rate limit) with actionable copy.
  • Dashboard queries parallelized to cut time to interactive.

April 19, 2026

Dark mode, lesson-level paywall, SEO, and landing polish

Added

  • System-aware dark mode via prefers-color-scheme.
  • Self-hosted Fraunces and Inter via next/font for consistent typography.
  • /demo page with the Venn motif, proof tree, truth table, and tier ladder illustrations.
  • Keyboard shortcuts help overlay.
  • Vercel Web Analytics wired in.
  • Trust signals, FAQ schema, breadcrumb schema, Course JSON-LD.
  • Sitemap, robots.txt, Open Graph and Twitter card metadata.

Improved

  • Lesson-level paywall: free tier = foundations + first lesson of each other unit.
  • Instructor dashboard scoped to only the courses you teach (FERPA).
  • Home hero and auth page tuned for cold traffic.
  • Error recovery UX on error.tsx and global-error.tsx.
  • 404 page copy and layout.

April 18, 2026

Initial public release

Added

  • Eight reasoning domains live: foundations, propositional logic, categorical logic, fallacies, inductive, abductive, Bayesian, predicate logic, problem-solving.
  • Evaluation engine with deterministic rubric scoring, optional AI rewriting of strengths/weaknesses.
  • Diagnostic, spaced-repetition review queue, adaptive recommendations.
  • Instructor track with courses, assignments, rosters, and gradebook CSV export.
  • Stripe-backed Pro and Team plans.