adrian_lab
Contact
THE A-TEAM · From my workshop

MiddleBrain

This is a faithful English translation of the original Polish course.

In this chapter

MiddleBrain combines two products: brAIn — knowledge from a domain and middleware — a model of application behaviour and a way to make it available to agents. I describe each separately because they answer different questions. We connected them to know what an application should do and how that relates to its code.

The two products we connected

ProductWhat it containsWhich question it helps answer
brAInDomain knowledge: source materials, concepts, rules, rationales, and exceptionsWhat must this feature take into account to make sense in its domain?
MiddlewareA model of application behaviour extracted from code and access to it for agentsHow does the system work now, and what does the changed slice connect to?

brAIn — domain knowledge and our uses

Middleware — a model of code behaviour

What does connecting knowledge with code give us?

For a new feature, we want to know what data, rules, and checks it needs and which application parts it can use. Domain knowledge helps define requirements; the code model shows what exists and where the change belongs.

For a reported defect, we compare expected behaviour from domain knowledge with what the application actually does. We do not treat code alone as proof that the result is correct. We return to source material and consult the conclusion with an expert.

I want knowledge to enter feature behaviour, not remain only in an agent’s answer. A person using the application should not have to reconstruct the expert’s whole practice to perform an action. A person developing the product also gets a concrete basis for work even if they do not yet know the domain.

What works for me today?

Middleware already works in one of our products and we are introducing it gradually to another. In the second, brAIn gives us the most today: recorded domain knowledge helps analyse features and reports. For known topics, we no longer start every expert conversation with the same questions. When checking a reported defect, we consult the conclusion with that expert.

This is still a developing solution. I am describing our experience; new cases, conflicting sources, and ambiguity need explanation from a person who knows the domain.