architecture

  • The stylesheet that finally got a second maintainer

    2,100 lines that one person could change, and the year spent fixing that. Every stylesheet change routed through one person for four years.

  • Writing a PHPUnit extension

    turkerdev/phpunit-json-coverage-report, and a coverage report a machine can read. Coverage as a percentage in a log, and no way to ask which paths changed.

  • An include parameter that reached three levels

    A documented depth limit of two, and a consumer requesting three. A depth limit that produces a request for depth three is a signal that a field is…

  • A webhook we stopped sending

    An outbound webhook with two subscribers, both of whom had stopped consuming it and neither of whom had said so. Delivering successfully to somebody who discards it is…

  • A cache key registered with what regenerates it

    A registry of cache keys, maintained by review, one year after the incident that produced it. The registry has drifted twice in a year and both times the…

  • The second host, and the failover we finally built

    Seven years on one host, and a business requirement that finally arrived. A recovery time that assumes the host comes back.

  • Decommissioning a supplier: the list

    An integration removed, and the eleven things that had to go with it. Eleven items and the code is one of them, which is the point — decommissioning…

  • Alerting on absence, for every integration

    An alert per integration that fires when it stops doing anything, which is the category nobody adds. Every alert we had was for a value being too high…

  • The decision record that was cited against its author

    A proposal to split a service, met with a record written by the proposer in 2024 explaining why not to. Being argued with by your own record from…

  • A dead letter queue that stayed at zero

    A queue that reached zero in 2025, and twelve months of staying there. An empty dead letter queue is not the goal and is a signal — a…