In Regulated Finance, Boundaries Are Controls
In most software, an architectural boundary is a matter of taste. You route billing through a service, or you do not. The cost of crossing it is engineering friction, paid later. In financial services, the same boundaries carry a second meaning that has nothing to do with taste. They are controls, and a control that is silently crossed is a finding waiting to be written up.
Segregation of duties exists so the person who initiates a transaction cannot also approve it. Data-handling boundaries exist because customer financial data sits under specific regulatory regimes. Controlled dependency lists exist because an unreviewed library in a payments path is a supply-chain exposure. Approval gates exist so that a change to a system of record is signed off before it ships. These are not stylistic conventions an engineer can renegotiate at 2 a.m. They are the encoded form of obligations a bank, insurer, or fintech has made to regulators and customers.
This is what makes architectural drift in a regulated industry a different category of problem. A locally correct change that crosses one of these boundaries is not a code-review nit. It is a control failure. The code can be clean, tested, and shipped, and still represent a break in a documented control — one that nobody flagged because, viewed in isolation, the change looked fine.
How AI Coding Agents Create Governance Debt
AI coding agents are very good at producing changes that look fine. That is precisely the property that makes them dangerous in a regulated codebase. An agent generates many changes quickly, each one locally plausible, each one passing the tests in front of it. None of them automatically carry the thing finance actually requires: the rationale and the approval that say this change is allowed, and here is why.
The result is governance debt. It accrues the same way financial debt does — quietly, in small increments, until the balance is large enough to matter. Every undocumented agent-made change that touches a controlled boundary is a small liability. A direct database write that should have gone through a service of record. A new outbound dependency added to a payments module. A reconciliation step quietly relaxed because it was failing a test. Individually, each is defensible. In aggregate, they form a codebase whose current behavior no longer matches its documented design, and whose history cannot explain how it got there.
This is the same dynamic that turns pull-request review into incident response: when the rate of change outpaces the rate of human scrutiny, review stops being a gate and becomes an after-the-fact investigation. In finance, the investigation is not run by your own engineers. It is run by an examiner.
The Audit Trail Problem
Here is the scenario that should keep a head of engineering risk awake. It is not a breach. It is a Tuesday, months from now, when a model-risk team or a regulatory examiner points at a specific line in a specific system and asks three questions.
- Who approved this change? Not who wrote it — who, with the authority to do so, signed off that it was allowed to ship.
- Which decision or requirement justified it? What documented control, ADR, or policy does this change implement or depend on?
- Why did it happen? What was the intent, and how does the current behavior trace back to an approved design?
A context window cannot answer any of these. The agent that made the change is stateless; its reasoning evaporated when the session closed. The commit message says “add subscription upgrade support.” The pull request was approved by whoever was on rotation. The architectural decision that the change quietly violated lives in a wiki page nobody linked. The answer to all three questions is the same shrug, and in a regulated environment a shrug is a deficiency.
The audit-trail problem is not a logging problem. You can have every commit, every diff, and every CI run on record and still be unable to answer why a change was allowed. Logs capture what happened. An audit trail has to capture what was permitted, and against which decision.
Only a durable decision record can answer those questions. The intent behind a boundary, the approval that authorized a change against it, and the link between the two have to outlive the session that produced the code. That is the difference between a system that can prove it was in control and one that merely hopes it was.
Borrow the Discipline of Model Risk Management
Financial services already has a mature playbook for exactly this problem, and it predates AI coding agents by more than a decade. When banks began relying on quantitative models for pricing, capital, and risk, regulators recognized that a model nobody could explain was itself a risk. The response was the Federal Reserve and OCC model risk management guidance, SR 11-7 (Supervisory Guidance on Model Risk Management), which made documentation, independent validation, ongoing governance, and a durable audit trail table stakes for any model in production.
The logic of SR 11-7 is portable, and it now has to be ported. A model and an AI coding agent are both systems that produce consequential output a human did not directly author. The guidance’s answer was never “trust the model.” It was: document the intent, validate it independently, govern it continuously, and keep a record that an examiner can follow. Strip the word “model” and that is a specification for governing AI-generated code in a bank.
The same discipline that finance demands of a pricing model now has to extend to the code an agent writes against the systems that run the business. Documentation of intent. Independent verification that the change conforms. Governance that does not depend on the person who happened to review the PR. And an audit trail that survives the people, the sessions, and the sprint in which the change was made.
Decision Memory for Regulated Engineering Teams
The way out is not to slow the agents down. Velocity is why teams adopted them; asking finance to give it up is a non-starter. The way out is to make every change carry its own justification. That requires a durable record of architectural decisions — not a wiki, but a structured, enforceable record of what the boundaries are and why they exist — coupled with enforcement that checks each change against it.
This is what lets a regulated team move fast and still prove control. When the architectural decisions are written as constraints rather than prose, an agent can retrieve them at generation time, and a verification layer can check a proposed change against them before it merges. The decision record carries the intent. The enforcement carries the approval logic. Together they produce the thing finance has always needed and AI velocity has been eroding: an explanation that survives the moment of authorship.
The mechanism that makes this auditable is enforcement provenance — every time a constraint is checked, the verdict is recorded as evidence. A change did not merely pass review; it passed a named decision, on a specific date, against a specific rule, with the result logged. That same enforcement reaches every agent and every workflow through governance propagation, so a control written once is applied everywhere code is generated, not just where a reviewer happened to be paying attention. For teams putting this into practice, the regulated-engineering use cases show what the workflow looks like end to end.
Where Mneme Fits
Mneme exists to make this concrete. It turns architectural decisions and ADRs into executable constraints that agents retrieve at generation time and that CI verifies deterministically. The boundaries that finance encodes as controls — segregation of duties, data handling, controlled dependencies, approval gates — become rules an agent reads before it writes and a pipeline checks before it merges. Every verdict is logged as evidence, which is what converts “we have governance” into “here is the record.”
This is the same architecture that makes autonomous remediation safe to run: an agent can be trusted to fix things at scale only when an enforcement layer is checking its work against decisions it cannot quietly override. Finance is simply the vertical where the absence of that layer is most expensive, because the entity asking “why was this allowed?” is not your own team. The discipline is not new. SR 11-7 wrote it down years ago. What is new is that the volume of consequential change now comes from agents, and the audit trail has to keep up.
The same problem recurs across regulated verticals with different vocabulary — the life-sciences version swaps examiners for validation and GxP, but the structure is identical: many fast, plausible changes, and a regulator who will eventually ask you to explain them. The teams that come through that conversation cleanly are the ones whose decisions were enforced, not just remembered.