This week I cancelled a storage contract for a caravan I no longer own. The caravan sold weeks ago; the storage fee would have kept quietly leaving my account twice a year, indefinitely, for a spot holding nothing. Catching it saved more than five hundred euros a year — and the only reason it got caught is that the contract existed in my system as a thing with a status, and a thing with a status can be asked a question: the caravan is gone — why is this agreement still active?
That question is the whole subject of this piece. Not the caravan, not the money — the fact that the question was askable at all.
The entity hiding in plain sight
Here's the claim, and it sounds bigger than it is until you start counting: almost everything in your life is an agreement. Far more than you think.
The obvious ones wear the word. Contracts, subscriptions, insurance policies, the phone plan, the lease. But keep counting. The warranty on the washing machine is an agreement. The terms behind every account you've ever created. The energy tariff. The quote a contractor gave you, valid for thirty days. The arrangement within a family about a house — who handles what, what gets shared, who pays which bill. And then the least visible category of all, the agreements with no counterparty but yourself: the health commitment, the spending rule, the promise about how many evenings a week you'll actually stop working.
Every one of these is the same shape: a statement of what should happen. An amount, a date, a service, a behaviour, a promise. And almost none of them are modelled anywhere. They live in PDFs, in mailboxes, in "we discussed this at dinner", in your head — or nowhere at all. Which is exactly why they drift.
Drift is the default
An agreement on its own is intent with no feedback loop. The contract says a certain amount, on a certain date, for a certain thing — and then reality happens somewhere else entirely, in a bank statement nobody cross-references, in a calendar nobody audits.
You find out it drifted when it's expensive. The subscription that quietly doubled at renewal. The introductory discount that expired eighteen months ago. The insurance premium that crept four percent a year while the coverage stayed flat. The service you stopped using in 2023 and never stopped paying for. My caravan storage. Nothing failed — no error message, no missed payment, no angry letter. The agreement and reality just stopped matching, and nobody was checking, because there was nothing to check against.
That's the trap in the phrase "I keep an eye on my subscriptions." An eye is not a system. An eye gets tired, goes on holiday, and doesn't know the renewal date of the thing it's supposed to be watching.
Model the agreement — it's easier than you think
The fix starts with an observation from my day job as a data architect: the agreement is a remarkably modelable entity. Whether it's an insurance policy, a gym commitment or a family arrangement, it has the same handful of attributes:
- a start and an end
- a status (active, lapsed, cancelled, disputed)
- the parties (a company, a family member, yourself)
- the terms — what should happen
- usually a cost
- and very often a renewal or expiry date
That last one alone earns the modelling. A renewal date in a structured field is a built-in trigger — the difference between an expiry you act on and an expiry that acts on you. Every October my system can list what renews in the next quarter; no memory involved.
In my vault this is one folder of markdown files, one file per agreement, with those attributes as frontmatter. No app, no product, no subscription-to-manage-my-subscriptions irony. A text file that says: this exists, it started then, it costs this, it renews on that date, it is currently active.
The evidence is polymorphic — the check isn't
Modelling the agreement is half the move. The other half is linking the evidence — the trace that shows the agreement being honored. And here's the part I find genuinely elegant: the evidence type varies with the agreement, but the check is identical everywhere.
Financial agreements get the strongest version, because bank transactions are structured data already. Every payment links to the agreement that explains it; every agreement shows the payments that honor it. Two flags fall out automatically: a payment with no agreement (what is this and why am I paying it?) and an agreement with no payments (is this still real?). The question "did what we agreed actually happen?" stops being a memory test and becomes a query — one that runs whether or not you remembered to worry.
Non-financial agreements check against events instead. The health commitment you made with yourself links to gym visits and workouts — actual events on actual dates. The family arrangement links to the calendar entries and notes that show it honored. Transactions for money, events for everything else. Different evidence, same link, same question.
If you've read anything else I've written, you'll recognise the machinery: state the rule, check reality against it, flag the mismatch. It's the same validation loop I run on data pipelines and on AI output — pointed here at the densest, least-modelled layer of ordinary life.
The hub effect
There's a data-model payoff hiding underneath the governance one, and it's the reason to model agreements even before the checking starts.
Once the agreement exists as an entity, it becomes a hub. An astonishing amount of otherwise-loose data suddenly has something to relate back to: payments, events, correspondence with the provider, the PDF of the contract itself, renewal dates, the people involved, the decision record of why you signed. Data that was scattered noise becomes evidence about something. The email from the storage company isn't just an email in a folder — it's a document attached to an agreement with a status. When the status changed to cancelled, the confirmation email had a home waiting for it.
Agreements are one of the few entities that almost everything else in a life can point at. In a personal knowledge system, that makes them first-class citizens — as central as people, places and dates.
The deepest check: integrity, made visible
And then there's the check that isn't operational at all.
Once agreements and their evidence are linked, a different kind of question becomes possible: do I keep my agreements? Not as a feeling — everyone feels like they mostly do — but as a pattern in the record. The commitments honored. The ones that quietly lapsed. The difference between the two, over time, per counterparty. Including the counterparty that's hardest to be honest about: yourself.
Companies get judged this way constantly. Does the vendor deliver what the contract says? Does the SLA hold? We consider that basic professionalism. The personal version of the same mirror is available to anyone who models the entity — and it's a strange, useful thing to look into. My gym agreement with myself has an evidence trail. Some months it's flattering. Some months it isn't. Either way it's true, which beats the story I'd otherwise tell myself.
The professional mirror
If you do this at home, you already understand — structurally, not theoretically — what an organisation calls contract management, SLA monitoring, and data contracts. Same entity: start, end, status, parties, terms, cost, renewal. Same polymorphic evidence: invoices for money, delivery events for service. Same flags: payment without contract, contract without delivery. Same integrity question, asked of vendors instead of yourself.
The household version isn't a toy imitation of the enterprise version. It's the same pattern at a scale where you can actually see all of it — which is exactly what makes it the best way to learn the pattern.
Start with five
You don't need to model everything. Start with the five agreements that would hurt most if they drifted — probably an insurance policy, a subscription or two, one contract, and one promise to yourself. One file each: start, end, status, cost, renewal date. Link what evidence you already have.
Then let the renewal dates come to you instead of the other way around. The first time your system asks "this renews next month — still want it?" about something you'd forgotten existed, you'll understand why I keep saying it:
An agreement no one checks is a hope. Linked to evidence, it's governance — and governance, it turns out, is worth about five hundred euros a year in caravan storage alone.
