One of the principles in our next book Architecture as symbol It is the ability for architects to design automated governance checks for important architectural concerns, and create rapid feedback loops when things go wrong. This idea is not new; Neil and co-authors Rebecca Parsons and Patrick Cua took up the idea in 2017 in the first edition of Building evolutionary structuresMany of our clients have adopted these practices with great success. However, our most ambitious goals were largely thwarted by a common problem in modern architecture: Fragility. Fortunately, the advent of Model Context Protocol (MCP) and Agent AI has largely solved this problem for enterprise architects.
Fitness jobs
Building evolutionary structures It defines the concept of architectural fitness function: i.e. a mechanism that provides an objective check of the integrity of architectural properties. Architects can think of fitness functions like unit tests, but for architectural concerns.
While many fitness functions work like unit tests to test the architecture (using tools like ArchUnit, NetArchTest, PyTestArch, Go bracketetc.), architects can write fitness functions to validate all sorts of important checks… like tasks typically reserved for relational databases.
Fitness and integrity reference functions
Consider the architecture shown in Figure 1.
In Figure 1, the team decided to split the data into two databases to improve scalability and availability. However, a common drawback of this approach lies in the fact that the team can no longer rely on the database to enforce referential integrity. In this case all ticket She should have an interview client To model this workflow properly.
While many teams seem to think that referential integrity is only possible within a relational database, we separate the management activity (data integration) from the implementation (relational database) and realize that we can create our own check using the architectural fitness function, as shown in Figure 2.

In Figure 2, the architect has created a small fitness function that monitors the queue in between client and ticket. When the queue depth drops to zero (meaning the system is not processing any messages), the fitness function creates a set of Customer keys from client Service and group Client foreign keys from ticket The service confirms that all foreign keys for the ticket are within the customer’s key set.
Why not just query the databases directly from the fitness function? Abstracting them as collections allows for flexibility, as querying across databases on a consistent basis creates overhead that can have negative side effects. Stripping the fitness function examination from Mechanics How data is stored in an abstract data structure has at least two advantages. First, the use of clusters allows architects to temporarily store non-volatile data (such as client keys), avoiding constant database querying. There are several solutions to the write cache in the rare case that we add a client. Second, using key combinations strips us of the actual data elements. Data engineers prefer synthetic keys to use domain data; The same applies to architects. Although the database schema may change over time, the team will always need a relationship between them Clients and ticketswhich the fitness function is realized in an abstract way.
Who executes this code? Since this problem is typical in distributed architectures such as microservices, a common place to implement this governance code is within the service mesh of the microservices architecture. Service network A general pattern for handling operational concerns in microservices, such as logging, monitoring, naming, service discovery, and other non-domain concerns. In mature microservices ecosystems, the service mesh also serves as a Governance networkAnd implement fitness functions and other rules at runtime.
This is a common way application-level architects can verify data integrity, and we have implemented these types of fitness functions in hundreds of projects. However, privacy Implementation details make it difficult to scale these types of fitness functions to the enterprise architect level because they involve a lot of implementation details about how the project will work.
Fragility of descriptive domains
One of the key lessons learned from domain-driven design was the idea of keeping implementation details as tightly constrained as possible, using Anti-corruption layers To prevent integration points from understanding too many details. Architects have adopted this philosophy in architectures like microservices.
However, we see the same problem here at the hyperscale, where enterprise architects want broad control over concerns like data integrity, yet are hampered by the distance and privacy of governance requirements. distance Indicates the scope of activity. While application and integration engineers have a narrow scope of responsibility, enterprise architects by nature sit at the enterprise level. Therefore, for an enterprise architect to enforce governance such as referential integrity, he or she requires a lot of knowledge specific Details about how the team will implement the project.
One of our largest global customers has a role within their Enterprise Architecture group called Evolutionary engineerwhose mission is to define global governance concerns, and we have other clients who have tried to implement this level of global governance with their enterprise architects. However, brittleness frustrates these efforts: as soon as the team needs to change implementation details, the fitness function breaks. Although we often classify fitness functions as “architecture unit tests,” they actually crash much less frequently than unit tests. (How often do changes impact some fundamental architectural concern versus a change in domain?) However, by exposing implementation details outside the project to enterprise architects, these fitness functions are broken enough to limit their value.
We’ve tried a variety of anti-corruption layers for major interests, but Generative AI and MCP have provided the best solutions to date.
MCP and agency governance
The MCP defines a common integration layer for agents to query and consume capabilities within a given definition. For example, teams can set up an application-level MCP server or integration architecture to expose tools and data sources to AI agents. This provides an ideal anti-corruption layer for enterprise architects to identify intention Governance without relying on implementation details.
This allows teams to implement the type of governance that strategic-minded enterprise architects want but creates a level of indirection regarding the details. For example, see the updated referential integrity check shown in Figure 3.

In Figure 3, the enterprise engineer issues the global request to Verify referential integrity To the project’s MCP server. It, in turn, exposes fitness functions via tools (or data sources such as log files) to execute the request.
By creating an anti-corruption layer between the project details and the enterprise architect, we can use MCP to handle the implementation details so that when the project develops in the future, The rule is not broken due to fragilityas shown in Figure 4.

In Figure 4, the enterprise architect (Verify referential integrity) has not changed, but the project details have changed. The team added another service to Expertswho are working on the tickets, which means we now need to validate the integrity across three databases. The team changes the internal MCP tool that implements the fitness function, and the enterprise engineer’s request remains the same.
This allows enterprise architects to define governance effectively intention Without diving into implementation details, removing the fragility of long-term fitness functions and enabling more proactive, holistic governance by architects at all levels.
Defining intersections in architecture
in Architecture as symbol,We discuss nine different intersections with software architecture and other parts of the software development ecosystem (data being one of them), all expressed as architectural fitness functions (the “code” part of architecture as code). When defining the intersection between architecture and enterprise architect, we can use MCP and proxies to illustrate intention Holistically, with the actual details deferred to individual projects and ecosystems. This solves one of the annoying problems faced by enterprise engineers who want to create more automated feedback loops within their systems.
The MCP is almost ideally suited for this purpose, as it is designed to expose tools, data sources, and express libraries to external contexts outside the scope of a particular project. This allows enterprise architects to comprehensively define the overarching intent and leave it up to teams to implement (and evolve) their solutions.
X as a symbol (where X It can be a wide range of things) typically arises when a software development ecosystem reaches a certain level of maturity and automation. Teams tried for years to make infrastructure as code, but it wasn’t until tools like Puppet and Chef that could enable this capability came along. The same is true for other CRM initiatives (security, policy, etc.): the ecosystem needs to provide the tools and frameworks that allow it to work. Now, with the combination of powerful fitness function libraries for a wide range of platforms and ecosystem innovations like MCP and proxy AI, the architecture itself has enough support to join the “Crime” communities.
Learn more about how AI is reshaping enterprise architecture at the Software Architecture Superstream on December 9. Join host Neil Ford and a panel of experts including Anjali Jain and Philip O’Shaughnessy of Metro Bank, Dom Sipowicz of Vercel, Brian Rogers of Intel, Ron Abera of Microsoft, and Lewis Crawford of Equal Experts to hear hard-won insights on creating adaptable, AI-ready architectures that support continuous innovation, and ensure governance and governance. Security, and seamlessly aligned with business objectives.
O’Reilly members can register here. Not a member? Sign up for a free 10-day trial Before the event to attend – and explore all the other resources found on O’Reilly.







