
Shared state for humans and agents
MUTUA is a WebMCP-native decision workspace where humans and AI agents explore changes, simulate consequences, and commit decisions together. The agent doesn't work around you. It works in the same reality you do.
01The problem
Application
↑
Human
↑
Chat
↑
AgentIt can explain what should change, but it never touches the work. You translate its advice into the application by hand.
Human
↓
Agent
↓
Tools
↓
ApplicationPowerful, and opaque. Consequential actions happen somewhere behind the interface, and you learn about them afterwards.
SHARED APPLICATION STATE
┌─────┴─────┐
HUMAN AGENT
│ │
UI WebMCP
└─────┬─────┘
COMMITThe interface becomes the common workspace. The agent proposes inside it, you decide inside it, and neither of you loses sight of the other.
02Four primitives
01
One store backs the interface and every WebMCP tool. There is no agent-side copy of reality that can quietly drift out of date.
02
Agent changes are explicit, reversible operations applied to a cloned plan. Exactly one capability can touch what's real, and it is gated.
03
Lock a commitment and it cannot be rescoped, delayed, reassigned or resized. A plan built before the lock is flagged as a conflict, never rewritten behind your back.
04
The registered tool set is a function of workflow phase. Comparison doesn't exist before simulation. Commit doesn't exist before approval.
03The moment
Before you approve a plan, the agent does not have the ability to commit it. Not disabled, not guarded by a confirmation dialog — not registered. Approving is a state transition only a human can make, and the WebMCP surface changes the instant it happens.
Registration is guidance. Enforcement is separate: the commit handler independently re-validates approval, simulation freshness, state version and hard constraints, so an agent that calls it out of turn is refused rather than obeyed.
04Deterministic by construction
No model calculates a deadline, a workload or a cost in MUTUA. The engines are pure functions over the workspace, which is why the demo replays identically every time — and why the test suite can assert these exact figures.
| Metric | Current | Proposal A | Proposal B |
|---|---|---|---|
| Launch | At risk · +2 days | Sep 30 | Sep 30 |
| Extra cost | — | +$12,000 | +$4,000 |
| Peak overload | 34% | 4% | 9% |
| Scope loss | — | 1 feature | None |
| Human locks | — | Conflict | Respected |
05Beyond the demo
Shared state, reversible proposals, constraint enforcement, dynamic capability registration, human authorisation and an audit trail are domain-general. Software launch recovery was chosen because it's legible in seconds.