May 22, 2026
RELEASE v3.5.2
Fix Performance
- TTFB fixed — nginx proxy cache deployed: nginx now caches public HTML responses for 5 minutes and serves stale content during Node.js restarts — eliminating cold-start 19-second TTFB. /js/ and site-global assets now served directly from disk with immutable/7-day cache, bypassing Node.js entirely.
- H1 visibility fixed on /proof, /security, /changelog: site-global.css
body { color: #1a1a1a !important }was overriding hero H1 white color. Added!importantto.hero h1andsection.herocolor rules on all three pages — now correctly renders white on dark navy. - BHPH hamburger entity bug fixed: Hamburger button used
this.textContent='☰'— HTML entities in textContent render as literal text. Changed to Unicode characters (☰/✕) so the button shows correctly after any click state. - Module count war resolved: All remaining "95-module" and "88-module" references updated to 150-module across data-room, quote, founder, asset-sale-deck, demo, demo/index, pitch-deck, and blog pages.
- /connect brand colors fixed: All 16 off-brand teal (#059669) elements replaced with brand gold (#8b6a2a) — result card border, unlocked list, privacy notice bar, footer status bar. Status indicator dots (live/credentials-required/coming-soon) retain semantic green/yellow/red.
- Sim stats updated: 1.75M+ training examples in demo/index.html updated to 2.6M+ calibration runs — consistent with acquire.html and proof.html.
- data-export.js async catch fixed: ALTER TABLE migrations used synchronous try-catch on async exec() — Promise rejections logged as unhandledRejection noise on every startup. Changed to .catch() to silently absorb "duplicate column" errors.