Problem records
Each record follows the same structure: what was seen, why it happened, what was tried, what fixed it, and how the fix was checked.
The first npm release and trusted publishing
npm trusted publishing can only be configured for a package that exists, so the first version had to be published by hand, which would then make the release workflow fail.
ResolvedPandaPayLens
Documentation links that were only broken from CI
The first scheduled link check reported 14 broken Razorpay links. They load from Europe but answer 404 to GitHub-hosted runners.
MitigatedPandaPayLens
A shared id prefix made Checkout.com a false alternative
A record whose only Checkout.com trait was a pay_ id scored higher than a loosely matching record with documented fields, so every Razorpay payment listed Checkout.com as an alternative.
ResolvedPandaPayLens
A refund delivered twice looked like two refunds
Providers that send notifications without a delivery id defeated duplicate detection, so a repeated refund notification could be read as refunds exceeding the payment.
ResolvedPandaPayLens
The timeline showed late payment steps first
Events without a timestamp were sorted after every timed event, so a Paystack flow appeared with the webhook and verification before the PIN and OTP steps.
ResolvedPandaPayLens
Redaction regexes that ran in quadratic time on long text
Two patterns used to hide email-like values in provider text backtracked from every position on long input without whitespace. Both were replaced with bounded, linear-time alternatives.
ResolvedPandaPayLens