Intent-Driven Computing

Alan McCann
intent-driven-computinggovernanceformal-verificationparadigm-shift

Coding is writing at the level where the computer thinks. What happens when you write at the level where you think?


The word “coding” comes from “encoding”: translating from one form to another. For sixty years, that is exactly what programming has been. You know what you want. You translate it into the machine’s language. Every bug, every security failure, every governance gap lives in that translation.

Every era of computing raised the level at which people work. Assembly freed you from counting registers. C freed you from chip-specific instructions. SQL freed you from specifying how to search data; you describe what data you want and the database figures out how to get it. HTML freed you from rendering pixels; you describe the document and the browser handles layout.

Each step closed a gap between what you mean and what you write. AI frameworks are the latest step. They freed you from raw model endpoints and prompt formatting. But they still require you to specify the mechanical how: API calls, error handling, retry logic, data wiring. You still encode your intent into the computer’s vocabulary.

mashin closes the last gap. mashinTalk isn’t natural language, but it’s close: a small, structured vocabulary that reads like a plan. You describe what the system should do in terms a human would use. The platform encodes the rest.

This post explains what that means and why it matters.


The Original Assumption

Traditional computing rests on a simple assumption: programs execute effects.

When you write requests.post(url) in Python, the HTTP request fires immediately. When you call fs.writeFile() in JavaScript, bytes hit the disk. When a shell script runs rm -rf /tmp/data, the files vanish. The program is the effect. There is no separation between what the system intends to do and what it does.

For sixty years, this was fine. Humans wrote the code. Humans reviewed it. Humans deployed it. The chain of accountability was clear: a person decided that this program should do this thing, and the program did it.

This assumption is so deeply embedded in our computing infrastructure that we barely notice it. Every major programming language, every runtime, every framework treats effect execution as the default mode of computation. Effects are ambient. They happen because the code says so.


The Assumption Breaks

AI systems break all four properties that made ambient effect execution acceptable.

Traditional programs are deterministic. AI systems reason probabilistically. Traditional programs do what humans wrote. AI systems generate behavior dynamically. Traditional programs operate under direct human control. AI systems act autonomously. Traditional programs have bounded scope. AI systems interact with real-world infrastructure in ways their creators did not fully anticipate.

When an AI agent decides to send an email, access a file, create a calendar event, update a CRM record, or approve a purchase order, the action originates from probabilistic reasoning, not from a human typing a function call. The chain of accountability fractures.

The industry response has been to wrap existing systems with governance layers: policy middleware, runtime filters, monitoring dashboards, post-hoc auditing, approval workflows. These approaches share a structural limitation: they operate after computation has already been expressed in effect-capable form. The program can still cause effects. The governance layer tries to intercept them.

This is the computational equivalent of building guardrails after the highway is already in use. It works sometimes. It fails unpredictably. It cannot offer structural guarantees.


The Abstraction Shift

There is another way.

Instead of programs that execute effects with governance bolted on afterward, consider programs that produce intents: structured semantic proposals describing what they want to happen. The runtime examines each intent, applies governance policies, records the decision, and only then realizes the effect.

This is intent-driven computing.

The distinction is precise. In traditional computing:

requests.post("https://api.example.com/send", json={"to": "[email protected]", "body": "..."})

The HTTP request is the computation. It fires. There is no mediation point.

In intent-driven computing:

ask send_email
  to: "[email protected]"
  subject: "Invoice #4821"
  body: context.draft

This produces an intent: a finite data structure representing a proposed action. The runtime decides whether to allow it, under which policy, with what authorization, and records every aspect of that decision before any effect occurs.

The difference is not syntactic. It is architectural. The program never touches the network, the filesystem, or any external system. It proposes. The runtime decides.


Why This Changes Everything

The consequences of this shift are surprisingly broad, because they are not features added to a system. They are properties that emerge from operating at a different abstraction layer.

The simplest way to see it: intent-driven computing creates a translation layer between what the program wants and what actually happens. Governance is a property of that translation layer. Traditional systems have no such layer. The program is the effect. There is nothing to govern. Once the translation layer exists, governance, auditability, replay, and verification all become natural properties of the system rather than features you build on top.

Governance becomes tractable. A well-known result in computability theory (Rice’s theorem) tells us that deciding arbitrary properties of arbitrary programs is, in general, impossible. This is why governing traditional programs is fundamentally hard: the program can do anything, and you cannot know what it will do without running it. But intents are not arbitrary programs. They are finite, structured data. Governance decisions over intents are decidable. This is not a workaround. It is a consequence of the abstraction layer.

Auditability becomes native. Every intent produces a decision record: what was proposed, what policy applied, whether it was authorized, denied, or escalated, and why. This is not a log. It is a complete causal chain. The difference matters because logs are observational (they record what happened to be logged), while intent streams are structurally complete (every proposed action, by construction, passes through the governance boundary).

Replay becomes possible. Because the intent stream is complete and structured, you can replay historical intents against new policies. “What would have happened last week if we had added this rule?” That question is answerable in an intent-driven system. It is unanswerable in systems where actions happen directly and logs are observational.

Verification becomes feasible. When every governance decision is recorded in a tamper-evident hash chain, independent verification becomes possible. An auditor does not need to trust the platform. They can verify the decision trail offline, using the intent stream and the policy set.

Human comprehensibility improves. Intents are semantic. They describe what is proposed in terms that humans can read, review, and reason about. A compliance officer can look at “send email to client with subject Invoice #4821” and understand what the system is trying to do. They cannot do the same with requests.post("https://api.example.com/...", headers={...}, json={...}).

Localization becomes structurally feasible. Because the abstraction layer is semantic intent rather than syntax manipulation, the computational model does not depend on English-centric symbolic conventions. Intents can be expressed in any human language because the underlying model is semantic, not syntactic. Most programming languages are only superficially localizable because the true abstraction layer remains tied to English.


Governance Intent, Not Governance Ceremony

Most governance systems today add friction. Wrappers, decorators, policy files, middleware, RBAC configuration, YAML overlays, approval pipelines, security instrumentation. This is governance ceremony: the overhead required to make governance work when the underlying system was not designed for it.

Intent-driven computing dissolves governance ceremony. The developer expresses what should happen. The runtime handles authorization, recording, and mediation. There is no separate governance layer to configure because governance is a property of the execution model itself.

This leads to a counterintuitive result: structural governance may actually increase development velocity. Developers operate at the intent layer instead of the implementation-control layer. They specify objectives and constraints directly. The runtime manages governed execution. The cognitive load shifts from “how do I implement this effect safely” to “what do I want to happen.”

The fear that governance reduces velocity assumes that governance is external to computation. When governance is structural, the opposite holds: systems can safely become more autonomous precisely because actions are governable.


Historical Context

Major computing transitions happen when the abstraction level changes:

EraYou write likeWhat it freed you from
Assemblythe hardwareCounting registers and memory addresses
Cthe machineChip-specific instruction sets
Operating systemsthe platformManaging hardware directly
SQLthe questionSpecifying how to search and sort data
HTMLthe documentRendering pixels, font metrics, layout math
CSSthe appearancePositioning, painting, responsive calculations
Web frameworksthe applicationSocket management, HTTP parsing, session handling
Microservicesthe service boundaryMonolithic deployment, shared state
AI frameworksthe APIRaw model endpoints, prompt formatting
Intent-driven computingthe human intentEverything below, including composition

Each transition follows the same pattern: the system moves from specifying how to specifying what, and a runtime handles the realization. The three most successful declarative languages in history, SQL, HTML, and CSS, each won their domain because non-specialists could read and write them. Each has an engine underneath that handles the hard part. Each is still dominant decades later.

Intent-driven computing follows this pattern for autonomous intelligent systems. Instead of specifying effect execution, programs specify operational intent. A governed runtime handles realization. And properties that were difficult or impossible at the effect layer, including structural governance, replay, audit, and verification, emerge naturally.


The Convergence

Several threads in computing have been independently converging on intent-like abstractions for years.

Event sourcing stores state changes as a sequence of events rather than mutable records. Capability-based security restricts programs to explicitly granted capabilities rather than ambient authority. Effect systems in programming language theory separate the description of effects from their execution. Desired-state systems like Kubernetes and Terraform declare intended outcomes rather than imperative procedures.

These are not identical concepts. But they share a family resemblance: the separation of operational intent from effect realization, and the governance properties that emerge from that separation.

Intent-driven computing synthesizes these ideas into a coherent execution model for autonomous systems. It is not one option among many. The constraints that force this architecture are mathematical (Rice’s theorem limits what you can decide about arbitrary effectful programs) and cognitive (humans supervise autonomous systems at the semantic level, not the implementation level). Architectures that satisfy expressive AI computation, enforceable governance, and complete auditability appear to converge on the same structural properties: separate computation from effects, represent effects as structured data, mediate those intents, and record the decision trail.


What This Is Not

Intent-driven computing is not “no-code.” The intent layer is a higher abstraction, not the absence of technical depth. Complex systems still require engineering. The difference is where that engineering happens: at the level of operational semantics rather than implementation mechanics.

It is not “AI safety.” Safety is a larger problem encompassing model alignment, training data quality, value specification, and societal impact. Intent-driven computing addresses one specific and important piece: structural governance of actions. It proves that effects are mediated, decisions are recorded, and authorization is enforceable. It does not prove that the system’s goals are wise.

It is not merely “better logging.” The intent stream is not an improved log. It is a complete operational record that exists by construction, not by instrumentation. The distinction is structural, not quantitative.


Looking Forward

The AI era changes what computation is for. Traditional programming abstractions evolved for deterministic machines, direct human authorship, trusted execution, and bounded automation. Autonomous systems invalidate those assumptions.

The response should not be to wrap old abstractions with new monitoring. The response should be to operate at a higher abstraction layer where governance, auditability, and human comprehensibility are structural properties rather than afterthoughts.

Intent-driven computing is one expression of that transition. Programs produce intents. Runtimes mediate effects. Governance becomes tractable. Audit becomes native. Replay becomes possible. Human understanding improves.

These are not separate features. They are emergent consequences of choosing intent rather than effect as the fundamental computational primitive.

The question for any system that governs autonomous computation is simple: where is the intent boundary in your architecture? If there is no boundary, if computation and effect are fused, then governance will always be approximate, audit will always be incomplete, and replay will always be reconstructive rather than native.

Intent-driven computing draws that boundary.