Courses / Build a Claude Code Verification HarnessFreeLesson 1 of 75:11

Six Layers of a Software Factory

Boundary, context, skills, execution, verification and delivery: the six layers that turn a coding agent from a prompt you babysit into a process that ships.

Play Six Layers of a Software Factory

Transcript

Let's first understand what these six layers are and why it is important. Just consider yourself like you are prompting your coding agent, and the coding agent is able to you know provide an output. Now, if you didn't provide a clear boundary of what it can access or what it can call, what it can't call, or what kind of context it can use, or what kind of skills it can use, then it can pick whatever tool it wants, or it whatever environmental variables or anything it can read. Most of the harness is built not to do that, but still it is it is not a rule, it is just an ask. If you are just asking, then most probably it will violate at some point in time. It is not that it is designed to violate, but in a long-running agent, you can't predict the output of that AI that this is what's going to happen. So it can read environmental variables or it can print environmental variables and so on. So, how you can boundary, you can create the boundary, and then what context? For example, you might have a standard guide for your team that this is the way I want my code to be, this is how my PR needs to be, this is how the template for my PR needs to be, this is how my spec needs to be, this is how my plan needs to be. Every company have their own standard set of rules in terms of how engineering process has been designed for their company and how the output need to be. Now, if you are not providing that context, whatever context that LLM already has, it will able to produce based on that. A simple example is like you might be your team might be familiar with TypeScript and you wanted to create a new project or you wanted to update certain things and LLM will pick Rust, for example, and it started to code in Rust. Then how are you going to control that? Because at this point, you haven't said LLM that you want in TypeScript. So that context is very much important. This is the stack I'm going to operate with. This is what you can do. This is what you can't do. That enforcement is needed. And based on that, it will pick the tools and it will pick the versions and so on, and you can establish a factory out of it. Now, skills. Again, every company has their own domain knowledge. There are general available skills in terms of standard practices and how a typical thing is like most LLMs, especially Opus 5.5, or some of the frontier models are very good at coding, and it will be able to create very non-error prone code very easily. But now consider some packages like Godot or or games like phaser, where every version upgrade is going to be a very niche. people are the one who is using it. So automatically the LL might be trained with 2.3.0, and the newest version might be 2.5.3 with a lot of breaking changes. Now it needs to fetch that details and how you wanted to create those skills out of it, like how my object needs to be created with it, and all those things. You need to provide clear depth, like this is how it needs to create, then automatically it will start to create the same pattern. So that skills for your team. This is more or less a generic skill, what I mentioned, but there are actual domain specific knowledge like how our invoices need to be created, how our you know CRM related fields can be extended, or how the click house or MongoDB can be connected, and so on. You can able to provide your skills. And then Claude or your coding agent can act with the skill. Like I know what needs to be done for this specific task. I have the skill and I will operate based on the skill it provides. And then execution. In most cases, your laptop is fine enough to execute. But when it comes to execute AI like PR verifier or creating text test specs or holdout test for product managers, instead of creating in your or executing in your environment, you can always execute in CI environment or you can execute in a sandbox environment, which I touch in AI native build camp. And then verification layer, that is what we are going to see today. We will go through some examples of how you can build your verification layer and so on, and then delivery, delivery in the sense from ticket to pull request, how you can automate the process with deterministic output is what I will say.

This lesson is cut from the free Lightning session Build a Claude Code Verification Harness. The Live Labs build the same system with you, free, on Thursdays: see the Live Labs.