Falsification Log
The system learns from what failed
Prodia does not hide failures. Every falsified hypothesis is recorded, root-caused, and converted into a policy. Failure is the substrate of trust.
learning velocity ↑
Failures · this week
14
▼26% vs. last
Rejected before deploy
87%
▲caught pre-prod
Mean recovery · p50
47s
•p95 184s · p99 312s
Policies authored from failures
142
▲all-time
Falsified hypotheses
The mutation, what broke, why, and what we learned. Each entry is a public commitment to honest engineering.
- FX-44212026-05-29 13:41falsifiedHypothesisAdvisory lock prevents duplicate refunds w/o throughput lossAttempted mutationAdd pg advisory_xact_lock(refund_id) in /refunds/issueValidation failurep99 latency +480ms under burst; 3 contended deadlocks/minRoot causeLock acquired before idempotency check → serialised all refunds per merchantImpactStaging only · 0 customer impact · auto-blocked deployResolutionMove lock past idempotency short-circuit; scope to (merchant_id, idempotency_key)Learning outcomeLocks must follow idempotency, not precede it; codified in policy POL-RFND-09
- FX-44202026-05-29 11:08falsifiedHypothesisSwitching to HTTP/3 cuts TTFB on edge by ≥20%Attempted mutationEnable QUIC on 2 canary PoPsValidation failureTTFB +6ms regional; 0.4% client handshake failures (older Android)Root causeClient base skews older; QUIC fallback path slower than warm TCPImpact0.4% canary users · auto-rolled back in 92sResolutionRestrict QUIC to clients announcing h3 in Alt-Svc cache; revisit Q3Learning outcomeProtocol upgrades require client-mix telemetry, not just synthetic benchmarks
- FX-44192026-05-29 09:52falsifiedHypothesisRemoving the legacy /v1/users endpoint is safe (0 traffic 30d)Attempted mutationReturn 410 Gone on /v1/users/*Validation failure1 internal cron (data-warehouse-sync) broke silentlyRoot causeCron used VPC-internal route not captured in edge traffic logsImpact1 internal job failed · no customer surfaceResolutionRestore endpoint; add deprecation header; require dual-source traffic proof before removalLearning outcomeDeprecation requires edge + VPC traffic confirmation, not edge alone
- FX-44182026-05-28 22:14falsifiedHypothesisRe-encoding hero video to AV1 cuts page weight ≥40%Attempted mutationSwap mp4→av1 on /pricingValidation failureSafari <16 cannot decode AV1; LCP +1.2s on 6% of trafficRoot causeBrowser support matrix not consulted in mutation planningImpact6% of pricing-page sessions · auto-rolled backResolutionMulti-source <video>; AV1 for capable clients, h264 fallbackLearning outcomeAsset format changes must run through compat-matrix policy POL-WEB-12
- FX-44172026-05-28 17:33falsifiedHypothesisAsync webhook delivery improves checkout p95Attempted mutationDetach Stripe webhook ack from response cycleValidation failureStripe retries spiked; double-charge prevention guarantee weakenedRoot causeStripe expects ack within HTTP cycle; async ack interpreted as failureImpactStaging only · 0 customer impactResolutionKeep sync ack; offload only post-ack side effectsLearning outcomeVendor contracts override generic perf heuristics; added to vendor-policy registry
Hiding failures is not engineering — it is theatre. Prodia records every falsification so the system, and its operators, can be trusted with autonomy.
