Part 3: Seven Properties of an Aligned System

Alignment Engineering

Published:Apr 22, 2026·5 min readinEngineering
Author:
A
Aditya Bhatnagar
Part 3: Seven Properties of an Aligned System

By the end of this post, you will know the seven structural properties a system must have to produce the right thing by default, which one of those seven is the salient property that changes everything, and how each property maps to a specific capability in Software Factory. If you remember only one thing from this post, it should be the salient idea: traceability in both directions, implemented as a Knowledge Graph. The other six properties support it.

This is the third post in a four-part series on alignment engineering. In Part 1, we argued that coding agents have solved generation but left alignment untouched. In Part 2, we represented alignment as five layers subject to three decay forces.

The short version, for readers arriving here directly: alignment in software engineering is the convergence of customer intent, team interpretation, and software execution on the same target. It operates at five layers (ontological, teleological, behavioral, temporal, and reflexive), and it decays by default through lossy translation across handoffs, small errors that compound, and incentives that drift away from the customer. The seven properties below describe what a system must have to resist that decay and build the right thing.


If alignment is the goal, the question becomes: what structure maximizes it? Not as a process to follow, but as a set of properties the system must have. These properties can be derived from first principles. In our experience building enterprise software through Software Factory, a system missing any one of them will produce misalignment.

There are seven. One of them is the salient property, the one that makes the other six possible. I will flag it when we get there.

1. One Source of Truth, and It Must Be the Customer's Reality

Any system with two sources of truth will eventually contradict itself. The engineering system needs exactly one, and it must be the customer's actual problem, not the team's understanding of it, not the backlog, not the roadmap.

The source of truth is a map of the customer's state: what is their world like right now, what does it need to look like, what stands between those two states, what outcomes would be worse than doing nothing. Everything downstream, every requirement, every blueprint, every line of code, is a hypothesis about how to move the customer from the first state to the second. The hypothesis can be wrong. The customer's reality cannot be.

When the source of truth is a feature list or a backlog, the system becomes self-referential. People stop asking "will this change the customer's situation?" and start asking "is this in the spec?" Those are different questions. The first produces the right thing. The second produces what is on the list.

In Software Factory, the Requirements module captures this layer. The module does not start with features. It starts with business context, user needs, and the specific problem the customer is trying to solve. Product Overview Documents establish the strategic context. Feature Requirements define individual capabilities. Technical Requirements capture cross-cutting constraints. These documents describe different aspects of the same underlying truth: the customer's state and the transition they need. They are three representations of one source, not three sources.

2. Every Translation Must Know What It Lost

The chain from customer reality to delivered code passes through multiple translations. Customer Reality, Requirements, Blueprints, Work Orders, Code, Delivery. Each translation is unavoidably lossy. The right structure does not try to eliminate the loss. It makes the loss visible.

Every artifact should be able to answer three questions. What did I preserve from the layer above me? What did I compress or simplify? What did I assume that was not explicitly stated?

The third question is the most important. Implicit assumptions are the primary vehicle of misalignment. They are the place where one person's reasonable inference diverges from another's. Making assumptions explicit does not slow the process down. It prevents the far more expensive moment when the team discovers, after building, that a silent assumption was wrong.

This is the job of the Blueprints module, Software Factory's architectural intelligence layer. The module transforms requirements into blueprints and forces every assumption to the surface. Foundation blueprints capture project-wide architectural decisions. Feature Blueprints translate individual requirements into detailed technical plans. System Diagrams visualize how components interact. And the Blueprints agents continuously monitor for drift between what the requirements say and what the blueprints specify, surfacing discrepancies before they propagate.

In our healthcare project, this is where the second phase changed everything. A second engineer entered the project and worked inside the Blueprints module, where Feature Blueprints, Foundations, and System Diagrams are all visible and connected to the requirements in the Requirements module. That shared environment made scrutiny structural rather than conversational. The Blueprints Agent flagged inconsistencies across blueprints that neither engineer had noticed independently. When one engineer challenged an architectural assumption, the impact of that challenge was immediately visible across every artifact it touched. The result was not just catching errors. It was convergence on a simpler architecture. The second engineer supplied the perspective. The Blueprints module supplied the system that made the perspective actionable. Neither alone produces the right thing. Together they do.

3. Traceability Must Run in Both Directions

This is the salient property. The one that makes the other six possible.

Alignment requires that any element at any layer can be traced both upward to the customer need it serves and downward to the code that implements it.

Vertical traceability means every line of code connects to a work order, which connects to a blueprint, which connects to a requirement, which connects to a barrier on the customer state map. If the trace breaks anywhere, that element is orphaned. It exists, but nobody can explain why in terms of the customer's reality.

Vertical traceability alone is not enough. The system also needs horizontal coherence: at any single layer, all the artifacts must be consistent with each other. Two blueprints should not quietly contradict each other. Three work orders should not pull in different directions. This is not a chain problem. It is a graph problem. Alignment lives in the connections, and every connection must hold.

Software Factory calls this the Knowledge Graph. It is the connective tissue that links requirements to blueprints to work orders to code. Every artifact knows what came before it and what comes after it. When a requirement changes, the graph surfaces which blueprints are affected. When a blueprint is updated, the graph identifies which work orders need revision. When code drifts from the specification, the graph flags the divergence.

The knowledge graph

Why is this the salient property? Because without traceability in both directions, none of the other six properties can actually hold. A single source of truth (Property 1) is meaningless if you cannot trace downstream artifacts back to it. Making loss visible at each translation (Property 2) is meaningless if you cannot see where the loss propagated. The feedback speed, self-detection of drift, incentive design, and structural enforcement that follow all depend on being able to trace any artifact to any other artifact, in both directions, at any time. The Knowledge Graph is not a nice feature. It is the substrate that makes alignment engineerable. Everything else is built on top of it.

4. Feedback Speed Determines Maximum Possible Alignment

This property is analogous to a pattern in chaos theory. Between any two corrections, divergence grows. In complex systems, it grows exponentially. A small misunderstanding, uncorrected, becomes a medium one in a week, a significant one in a month, and a fundamental one in a quarter.

This means there is a theoretical ceiling on alignment for any given feedback frequency. If you only validate against the customer's reality once a quarter, three months of drift is the minimum misalignment your system can produce. No amount of upfront specification changes this. Specification reduces the initial error. Only feedback limits the growth of error over time.

The implication is direct. The system must make feedback loops as short as possible. Not just feedback on the code. Feedback on whether the work, at every layer, is still pointed at building the right thing. Daily loops catch daily drift. Weekly loops catch weekly drift. Quarterly loops discover that the hurricane has already formed.

Software Factory's forward and backward pass closes these loops continuously. When context changes in one stage, it propagates to all connected stages via the Knowledge Graph. A change in requirements flows forward through blueprints and work orders. A discovery during implementation flows backward to update the blueprint. The system does not wait for a review meeting or a sprint retrospective. Context flows across the pipeline in both directions, automatically.

5. The System Must Detect Its Own Drift

A system that depends on external audits to find misalignment will always lag behind reality. By the time someone from outside looks and says "this is not right," the cost of correction has multiplied.

The system needs built-in sensors. Not just metrics on output, but metrics on alignment health. Can every engineer describe the customer's current state without looking at a document? Can any task be traced to the customer state map in under a minute? Is the backlog growing, and if so, does that growth mean the team is uncertain about what matters?

If the system feels aligned but has no measurement proving it, the system is almost certainly drifting. Confidence without measurement is the most dangerous form of misalignment, because it feels fine right up until it is not.

This is what Software Factory's agent layer provides. The Requirements Agent reviews requirements for ambiguity, gaps, and conflicts. The Blueprints Agent monitors drift between requirements and blueprints. The Planner Agent flags when work orders are out of date relative to their blueprints. And Validator closes the outer loop by capturing real user feedback and turning it into structured development tasks. Each module has its own reflexive layer. Together, they form a system that can detect its own misalignment before it compounds.

In our healthcare project, this reflexive capacity caught contradictions early. As customer meetings introduced new information, that information was captured through Software Factory's artifacts module and fed into the Requirements module. The agents flagged where the new context conflicted with existing requirements. Without that detection, the contradictions would have propagated silently through blueprints and into code.

6. Aligned Behavior Must Be the Selfish Choice

This is the game theory core. Every person in the system is an agent with their own goals, their own pressures, their own rational calculations. They will work toward whatever the system actually rewards, not whatever the mission statement says.

If the system rewards shipping features, engineers will ship features, regardless of whether those features change the customer's reality. If the system rewards closing tickets, people will close tickets, even if the underlying problems remain. The incentive structure is the strongest force in the system. It will override intentions, culture, and everything except perhaps individual character. No system should depend on individual character at scale.

The structure must make alignment the Nash equilibrium: the state where no individual benefits from deviating. Measure customer state change, not feature counts. Celebrate the team that discovered they were building the wrong thing and pivoted, not the team that shipped forty features nobody needed. Reward the engineer who raised an alignment concern, not the one who stayed silent and hit the deadline.

7. Structure Must Enforce What Culture Cannot Sustain

Culture is how organizations usually try to maintain alignment. Shared values. Founding stories. "We are customer-obsessed." But culture is fragile in ways that structure is not. People leave. New people arrive without the shared history. Success makes people complacent. Growth dilutes the original intensity.

Alignment that depends on culture has an expiration date. The structure must enforce alignment mechanically: through required traceability, through mandatory feedback loops, through explicit tracking of alignment debt. Culture can reinforce structure. But structure must never depend on culture. When the culture fades, as it eventually will, the structure is what keeps the system from drifting silently into irrelevance.

Software Factory was built around this conviction. The Knowledge Graph does not rely on engineers choosing to document. It makes documentation the natural byproduct of doing the work. Traceability is not a practice the team adopts. It is a property of the system. Context does not live in someone's head or in a Slack thread or in a Confluence page that nobody updates. It lives in the platform, connected to the artifacts it informs, surviving employee turnover and onboarding cycles.

The Chain, End to End

So far we have established the seven properties. Now we turn briefly to how they shape each artifact in the chain.

Requirements encode the customer's state transition. Blueprints make every assumption explicit and carry invariants that bound the implementation. Work orders preserve traceability through decomposition. Code is where upstream intent becomes running behavior. And delivery tests the entire chain against the only reality that matters: did the customer's state change?

Planner handles the work order layer, bundling each task with its Knowledge Graph connections and implementation guidance. Through MCP integration, developers working in Cursor, VS Code, or Claude Code pull that context directly into their environment. The context is not just a task description. It carries the full alignment chain: the requirement the task traces to, the blueprint section it implements, the architectural principles from the Blueprints module, the acceptance criteria that define done. A coding agent working from a vague ticket will produce working code. A coding agent working from a fully traced work order will produce the right code, connected to business intent from the first line. Software Factory does not compete with coding agents. It provides the alignment context that makes their output the right thing, not just a thing. The better coding agents get at generating code, the more the bottleneck shifts to the quality of context they receive. Software Factory's value grows in direct proportion.

Seven properties. One salient idea: traceability in both directions, implemented as a Knowledge Graph. One purpose: keep the customer's reality at the center of every decision, every translation, every line of code, across all time.

Properties, mapped to Software Factory mechanism

What Comes Next

The properties are necessary but not sufficient. An aligned system also needs feedback loops that actually close, an honest accounting of where the framework breaks, and evidence that it compounds across projects rather than resetting with each new engagement. In Part 4, we walk through the feedback architecture, the failure modes we have hit, and what we have learned about alignment as a compounding asset across the healthcare client's three projects.


Previous: Part 2: What Alignment Actually Is

Next: Part 4: How Alignment Compounds

More from 8090