architecture

  • A retry policy copied from a tutorial in 2019

    Three attempts, one second apart, applied to every consumer regardless of what it does. One retry policy across four consumers means three of them are wrong, and the…

  • The dependency we vendored

    A 200-line package with 41 transitive dependencies, doing one thing, and an advisory in something four levels down that we had never heard of.

  • Reproducing a build from six months ago

    A security question about a release from July, and no way to rebuild it. The same commit produces a different image, and neither of them is wrong.

  • A decision record that recorded a reversal

    A record superseding one from 2021, written by the same person, saying the opposite. The section naming what the superseded record got right is the one that makes…

  • A module that got its own database and gave it back

    Splitting the billing schema onto its own instance in 2021, and rejoining it three years later because every report crossed the boundary. The reason given in 2021 was…

  • Block hooks, and the plugin that inserts itself

    6.4 in November, and a plugin that can insert a block without editing a template. Install instructions that said “now edit your footer”.

  • An anti-corruption layer for a supplier that renames fields

    A supplier who renamed four response fields in a patch release, twice in two years, with the second one costing an afternoon instead of a week. The null-coalescing…

  • Typed class constants, and the interface that had been lying

    8.3 on 23 November, and a constant can finally declare a type. An interface constant documented as a string, implemented as an int in one class.

  • An idempotency key on a POST, documented

    A client that retried a timed-out payment request and created two, and no way for them to have avoided it. The conflict case is the part that has…

  • A module boundary that is a directory and a test

    A boundary everybody agrees on and nothing checks is a boundary that will be crossed within a fortnight. A directory is a convention and a test is a…