There's a word that keeps appearing in conversations about AI and the physical world: intent. We say things like "the AI understood my intent" or "I want the system to infer my intent from context." But when you actually sit down to build something — a smart home, a hospital room, a hotel — you quickly discover that most protocols don't have a concept of intent at all.
They have commands. And that difference, small as it sounds, is architectural. It changes everything about how you build systems that are supposed to work with AI.
The command model
Every smart home protocol in existence today was designed around one assumption: a human decides what to do, an app translates that decision into a specific instruction, and a device executes it.
Human → App → Command → Device
lock.unlock()
light.set_brightness(80)
thermostat.set_temperature(21)
This is the command model. It works beautifully when the human is in the loop. The problem starts when you remove the human.
What an AI agent actually produces
When an AI system observes the world — a camera detecting a fall, a sensor registering unusual temperature, a model inferring that nobody is home — it doesn't produce a command. It produces an understanding of a situation.
"There is an emergency." "The person who lives here has arrived." "Something is wrong with the refrigerator." These are not commands. They're semantic descriptions of a state of the world. To translate this into device commands, someone has to write that translation — manually, in advance, for every possible situation. Miss one edge case and the system does nothing. Add a new device and you rewrite the rules. This is the command gap.
Semantic intent: a different contract
A semantic intent is a structured expression of a goal — what needs to be achieved — without specifying how to achieve it.
// Command (existing protocols)
{
"device": "lock-frontdoor-01",
"command": "unlock",
"duration": 300
}
// Semantic Intent (DoSync)
{
"intent": "ensure_safety",
"urgency": "emergency",
"context": {
"trigger": "fall_detected",
"location": "bedroom"
}
}
The command says: unlock this specific lock for 5 minutes. The intent says: there is a safety emergency in the bedroom. The difference isn't just syntactic. It's about who holds the knowledge. In the command model, the knowledge of which devices to activate lives in the app or the rules engine — static, unable to adapt. In the intent model, that knowledge lives in the devices themselves, in their Capability Manifests.
How DoSync implements this
In DoSync, every device publishes a Capability Manifest when it joins the network:
{
"device_id": "lock-frontdoor-01",
"tags": ["door-lock", "entrance", "emergency"],
"actuators": [
{ "type": "unlock", "description": "Unlock for emergency access" },
{ "type": "lock" }
],
"emergency_capable": true
}
When an AI agent fires ensure_safety [emergency], the resolver reads every registered manifest and builds an action plan automatically — no rules written, no pre-configuration required. Add a new device tomorrow and it participates automatically in every relevant scenario.
The deeper shift
In the command model, the AI is a remote control. It breaks when a device changes, when a new device appears, or when a scenario wasn't anticipated. In the intent model, the AI is a coordinator. It expresses what needs to happen. The devices figure out their role. The system is resilient to change because the knowledge is distributed — each device owns its own context.
This is not a small difference. It's the difference between building a system that works today and building a system that can grow.