A field that cannot separate "absent" from "zero" is not one field. It is two facts sharing a slot.
👋 Hi, I'm Anton - a software engineer working mostly in PHP/Symfony and Go, currently carving a live PHP monolith into Go services. This series is about one write path that left the monolith and what it took to accept it as working. This part is about the contract: a value that exists, is stored and is correct and still cannot be shown - and a rule the system obeyed for a year and a half that nobody had ever written down. Running notes live on my GitHub: github.com/brilliant-almazov .
This is how I do it right now, with the price attached - maybe you already do it better, maybe you'd do it another way.
The path in one paragraph
A user saves a set of matching rules; every domain under that account gets marked by them.…