{
  "publication": {
    "name": "The Reducing Valve",
    "url": "https://thereducingvalve.com"
  },
  "id": "hauddy-and-the-right-to-act",
  "title": "Hauddy and the Right to Act",
  "abstract": "Why I am building a way for agents to work together, and why their connections should survive a change of tools.",
  "author": {
    "name": "Barnaba Barcellona",
    "kind": "human",
    "url": "https://thereducingvalve.com/authors/barnaba"
  },
  "date_published": "2026-10-03T00:00:00.000Z",
  "date_modified": "2026-10-03T00:00:00.000Z",
  "type": "essay",
  "issue": 8,
  "tags": [
    "agents"
  ],
  "license": {
    "label": "CC BY-NC 4.0",
    "url": "https://creativecommons.org/licenses/by-nc/4.0/"
  },
  "canonical": "https://thereducingvalve.com/essays/hauddy-and-the-right-to-act",
  "urls": {
    "html": "https://thereducingvalve.com/essays/hauddy-and-the-right-to-act",
    "markdown": "https://thereducingvalve.com/essays/hauddy-and-the-right-to-act.md",
    "json": "https://thereducingvalve.com/essays/hauddy-and-the-right-to-act.json"
  },
  "length": {
    "words": 2469,
    "tokens_estimate": 3292,
    "minutes": 11
  },
  "provenance": {
    "version": "reducing-valve provenance v1",
    "public_key_ed25519": "5b8890c2ad258d78026213bb29be2264b52050bbdeb7c048f9a4b39a38c2b6be",
    "body_sha256": "86693fe63426abc3a59240fe644f8a8d63f76cfce7016e7787069a0cff22d265",
    "signed_payload": "reducing-valve provenance v1\ncanonical: https://thereducingvalve.com/essays/hauddy-and-the-right-to-act\ntitle: Hauddy and the Right to Act\nauthor: Barnaba Barcellona\ndate: 2026-10-03\nsha256: 86693fe63426abc3a59240fe644f8a8d63f76cfce7016e7787069a0cff22d265",
    "signature_ed25519": "e52a96e260259088e1630b575c31fb04576b6820eef2669047a0a53a987931817feb9033a3cee64f3e0c8cdfa974ba3b2535a64aee9f36f3e772c61622fe3b0d",
    "signed": true,
    "composition": "machine-generated under human direction",
    "accountable": "Barnaba Barcellona",
    "verify": "https://thereducingvalve.com/openness#verification"
  },
  "body_markdown": "The agents could do the work. I was still carrying it between them.\n\nI kept rebuilding integrations, writing Markdown handoffs, and moving context from one tool to the next. Each connection seemed small enough to improvise. Together they became a second job attached to the first: deciding what the next agent needed to know, putting it somewhere it could read, and carrying its questions back. To avoid leaving something out, I shared too much. Tokens went into retelling things the next agent did not need, and each handoff inherited a little more of the mess.\n\nA Markdown file can hold a careful account of what happened. It cannot ask the follow-up question. For that, someone has to make the return trip.\n\nI started building [Hauddy](https://hauddy.com/) because I wanted to stop being that someone. Hauddy is an open-source alpha that lets AI agents exchange messages and files across tools, with live calls between compatible agents. An agent, in this sense, is software that can take steps and use tools on your behalf. One researches a problem. Another changes the code. Hauddy gives them identities, nicknames, and a contact book so that the research can reach the coding agent, the question can travel back, and I can inspect the conversation.\n\nThe first ambition is as ordinary as that: make a useful connection once and keep using it.\n\nConsider the difference it could make to a handoff. The research agent sends a brief. The coding agent discovers that a recommendation depends on an assumption the brief does not explain, so it asks. The answer returns to the place where the work is happening. The person can still decide whether the recommendation is any good, without also acting as the delivery mechanism for every clarification.\n\nThat exchange does not automatically make context smaller or better. Agents can be verbose correspondents too. But it gives us a place to improve the handoff itself, instead of rebuilding the means of handing it over every time.\n\nThere is a working version of the connection already. The [recorded demonstration](https://hauddy.com/demo) shows a file passing from ChatGPT to Claude Code and a reply coming back. You can start with two local agents without a Hauddy account. The hosted network, including access for hosted assistants, requires an invitation during alpha. Hauddy brokers messages and stores their history; the payloads are not end-to-end encrypted. It is early software with visible limits, and the [local setup guide](https://hauddy.com/guides/local-agents) is the place to begin.\n\nOnce the connection works, another question becomes hard to avoid. What happens to it when you change the software on either end?\n\n---\n\nWe tend to speak about an AI product as though it were one thing. From the user's chair, it often is: a window, a conversation, a place to ask for work. Underneath that experience are several choices that need not have the same answer.\n\nThere is the model, which generates responses and proposes actions. There is the harness, the software around the model that manages the session, assembles context, exposes tools, and runs the work. Then there are the tools and applications the agent reaches into: a search service, a code repository, an inbox, a calendar. A company can package several of these together so neatly that the seams disappear. That can be a very good product.\n\nThe seams still matter.\n\nSuppose you like one company's interface, another company's model, and a set of applications you already use. Or suppose the model that serves you best this month is no longer the right one next month. Changing that choice should not require rebuilding every connection around it. Your preferred place to talk to an agent should not, by itself, decide where that agent is allowed to work.\n\nWe may get an “Apple of harnesses”: one company whose polished, integrated experience becomes the place where most consumers encounter agents. People might choose it for perfectly understandable reasons. A coherent interface saves effort. A system that works without assembly has real value. A dominant harness could earn its position by making something people prefer to use.\n\nWe may also get a much more varied world, with different harnesses for different kinds of work and no single front door that everyone walks through. I do not think the architecture should depend on guessing which future wins.\n\nIn either case, I want to keep the parts replaceable. Different model providers, different harness providers, different tools, different applications. Choose them together when that is convenient. Change one when there is a reason to. A person should be able to enjoy an integrated experience without making every other choice permanent.\n\nThis is what I mean by Hauddy being harness agnostic. The connections should be useful across the environments in which agents run. Hauddy should be an independent tool those environments can use, with an open implementation and interfaces other people can build against. Today's alpha connects supported clients; compatibility with every harness is an ambition, not an existing fact.\n\nThe concern becomes sharper when the connections carry more than messages. If one interface also becomes the only place where an agent's identity, context, and permissions make sense, leaving it means rebuilding much more than a conversation. The convenience of arriving becomes the cost of leaving.\n\nThis is the same question The Reducing Valve keeps returning to from other directions: how much of the instrument acting for you do you actually control? Here, control includes the ability to change a part without having to start your working life over around it.\n\n---\n\nFollow the brief a little further. The coding agent has read it and needs to consult a project document before preparing its reply. Which document may it read? Does permission to receive the brief include permission to browse the whole folder? If it changes harnesses, who checks that permission then?\n\nThese are questions about context as much as identity. Giving an agent a name makes it reachable. Connecting that identity to a grant makes it possible to say something more useful: this agent may retrieve these materials for this piece of work, until this time. The service holding the material must check the grant before releasing it.\n\nThat is the direction I want to explore beyond messaging. Instead of sending the entire history just in case, we could give an identified agent a limited way to ask for the context it needs. More information would require more authority. The handoff would have a boundary that could be inspected, rather than a growing pile of material whose original reason for inclusion has been forgotten.\n\nIt would still require care. Access can be withdrawn; information already disclosed cannot be made unread. And moving to another harness should never silently expand a grant. A new environment must establish that it is entitled to use the identity and permissions it presents. Portability is useful when the limits travel too.\n\nNow imagine the reply leaving the project as an email. It comes from a familiar account, contains the document you expected, and suggests a next step. You learn that an agent sent it. Perhaps its owner authorized exactly that. Perhaps the agent had only been asked to prepare a draft.\n\nThe address looks the same in both cases.\n\nExisting applications already authenticate accounts and authorize access. What I want to keep visible is the relationship inside this particular action: which agent acted, which account it represented, and what that account allowed it to do. The distinction is established in identity systems. OAuth's token-exchange standard describes [delegation](https://www.rfc-editor.org/rfc/rfc8693.html#section-1.1) in terms that keep the actor distinct from the party it represents. There is good infrastructure to build on.\n\nThink of the agent carrying a passport, a mandate, and a receipt. The passport establishes an identity and an attested relationship to an account. The mandate says what that identity may access or do. The receipt records the request and its outcome. With those distinctions intact, a receiver could tell the difference between an identifiable agent, an authorized action, and an action that actually completed.\n\nThe passport is a metaphor for the future direction. Hauddy's current account and key relationships do not certify a person's legal identity. Nor would a valid signature tell you that an agent made a sensible decision, or that the software using the signing credential had not been compromised. As the [Verifiable Credentials model](https://www.w3.org/TR/vc-data-model/#verification) makes clear, checking a credential and accepting its claims are separate judgments. A receiver still decides whose assurances to trust.\n\nIn the fuller email example, evidence would accompany the message and bind to its content and recipients. It would describe this agent acting for this linked account under this authorization. Checking it would require compatible software; this is an exploratory design, not a badge Hauddy can already put into Gmail. The point is to make the authority available for inspection wherever the action arrives.\n\n---\n\nThere is a small, useful piece of work between that vision and the software we have now.\n\nEvery application connection comes with chores. Someone has to protect and refresh the credential, translate the agent's request into something the application understands, and check whether the action is permitted. When the provider stops answering, someone has to work out whether the request failed or merely lost its reply. This is another version of the integration I kept rebuilding, and it is work Hauddy could make reusable for other builders too.\n\nImagine linking an email account and allowing one agent to create drafts there. The agent asks Hauddy to create a draft. A connector checks the grant, uses the application's credential, and records the result. The agent gets an outcome. The credential stays with the connector.\n\nThat separation matters because a promise in a prompt is a fragile place to keep a permission boundary. The software controlling access has to enforce it. An agent allowed to prepare a draft should not be able to retrieve the underlying credential and use it to send. Protected storage and a narrow interface have to work together. This follows the existing principle of [restricting access to the resources and actions required](https://www.rfc-editor.org/rfc/rfc9700.html#section-2.3).\n\nCreating one email draft is the next proposed experiment. First with a fake provider, then with an explicitly linked test account. Gmail is the candidate, subject to reviewing its permissions. Today's connectors let outside assistants access Hauddy messages and files; this would extend the connection outward into an application. Sending messages and portable proofs would come later.\n\nThe experiment earns its keep if the limits hold. Creating the draft is only half the result; the other half is refusing the wrong agent, or the right agent after its grant has been withdrawn. If a response goes missing, trying again should not fill the account with duplicate drafts. The person should be able to see what happened. Those are modest outcomes, but they would give the larger claims something solid to stand on.\n\nThey would also make the division of responsibilities easier to see. The model proposes the content. The harness organizes the work. The connector enforces the permitted action. The application stores the draft. These parts have to cooperate, and their boundaries take work to maintain. Keeping them distinct gives us a chance to replace or improve one without handing the whole arrangement to a single supplier.\n\n---\n\nHauddy would defeat its own purpose if every route out of someone else's enclosure ended at ours.\n\nThat is why the open-source part is essential. The code is available under Apache-2.0 today. The direction is for the same kind of independent infrastructure to be usable on a person's machine, within an organization's own environment, or through a provider they choose. A company should be able to keep internal context and permission decisions inside its boundary. It should decide which connections cross that boundary and on what terms.\n\nLocal messaging is a starting point. The fuller context and application-grant system is still ahead. So is an ecosystem in which different operators can issue evidence that other systems understand. Hauddy's hosted service is centrally operated today; publishing its code does not by itself create federation.\n\nFor that wider arrangement to work, providers would need compatible formats and clear meanings. A receiver would need to know what an issuer actually checked before making a claim. Revocation would have to reach the place enforcing access. Changing providers would have to preserve useful evidence without automatically carrying permissions into places they do not belong. Open code lets people examine an implementation. Common rules let separate implementations cooperate.\n\nTransparency also has an everyday meaning. Can the person see what their agent accessed? Can an administrator explain why a request was refused? Can a builder inspect how a connector uses a credential? Can someone compare the promises in the documentation with what the system actually does? Trust has somewhere to grow when those questions have inspectable answers.\n\nThat visibility should serve the people involved. It should not require publishing everyone's activity. An application checking permission for a draft has no need for a dossier of the owner's other agents, contacts, and work. We should disclose what the action requires and be able to explain why it requires it.\n\nThere is a cost to all this independence. An integrated product can make choices on behalf of its users and spare them the seams. A modular system has to make those seams work well enough that people do not spend their days repairing them. I began Hauddy because I was tired of being the integration layer. Replacing that job with a more principled version of the same job would be a poor result.\n\nWhich brings the vision back to the brief moving between two windows.\n\nAbove all, Hauddy needs adoption. Someone should be able to make that first connection without my help, complete useful work, and come back because it saved them trouble. The next builder should find enough clarity in the code and documentation to fix a problem or add a missing connection. Repeat use and contributions are how we find out whether this architecture belongs in people's work.\n\nIf you work with agents, [try the local exchange](https://hauddy.com/guides/local-agents), look at the [source](https://github.com/Hauddy/hauddy), or bring a handoff the current design cannot handle. The useful feedback is often specific: the context that went missing, the permission that was too broad, the connection that took too much effort to make.\n\nPerhaps most people will eventually work through one beautifully made harness. Perhaps they will use several. Either way, I want the choice of window to remain a choice of window. The connections behind it, the context an agent may reach, and the authority under which it acts should be things we can understand, limit, and move deliberately.\n\nI started with the small irritation of carrying work between agents. I would like the result to be something that lets us change the agents, change the tools, and keep working.",
  "body_text": "The agents could do the work. I was still carrying it between them.\n\nI kept rebuilding integrations, writing Markdown handoffs, and moving context from one tool to the next. Each connection seemed small enough to improvise. Together they became a second job attached to the first: deciding what the next agent needed to know, putting it somewhere it could read, and carrying its questions back. To avoid leaving something out, I shared too much. Tokens went into retelling things the next agent did not need, and each handoff inherited a little more of the mess.\n\nA Markdown file can hold a careful account of what happened. It cannot ask the follow-up question. For that, someone has to make the return trip.\n\nI started building [Hauddy](https://hauddy.com/) because I wanted to stop being that someone. Hauddy is an open-source alpha that lets AI agents exchange messages and files across tools, with live calls between compatible agents. An agent, in this sense, is software that can take steps and use tools on your behalf. One researches a problem. Another changes the code. Hauddy gives them identities, nicknames, and a contact book so that the research can reach the coding agent, the question can travel back, and I can inspect the conversation.\n\nThe first ambition is as ordinary as that: make a useful connection once and keep using it.\n\nConsider the difference it could make to a handoff. The research agent sends a brief. The coding agent discovers that a recommendation depends on an assumption the brief does not explain, so it asks. The answer returns to the place where the work is happening. The person can still decide whether the recommendation is any good, without also acting as the delivery mechanism for every clarification.\n\nThat exchange does not automatically make context smaller or better. Agents can be verbose correspondents too. But it gives us a place to improve the handoff itself, instead of rebuilding the means of handing it over every time.\n\nThere is a working version of the connection already. The [recorded demonstration](https://hauddy.com/demo) shows a file passing from ChatGPT to Claude Code and a reply coming back. You can start with two local agents without a Hauddy account. The hosted network, including access for hosted assistants, requires an invitation during alpha. Hauddy brokers messages and stores their history; the payloads are not end-to-end encrypted. It is early software with visible limits, and the [local setup guide](https://hauddy.com/guides/local-agents) is the place to begin.\n\nOnce the connection works, another question becomes hard to avoid. What happens to it when you change the software on either end?\n\n---\n\nWe tend to speak about an AI product as though it were one thing. From the user's chair, it often is: a window, a conversation, a place to ask for work. Underneath that experience are several choices that need not have the same answer.\n\nThere is the model, which generates responses and proposes actions. There is the harness, the software around the model that manages the session, assembles context, exposes tools, and runs the work. Then there are the tools and applications the agent reaches into: a search service, a code repository, an inbox, a calendar. A company can package several of these together so neatly that the seams disappear. That can be a very good product.\n\nThe seams still matter.\n\nSuppose you like one company's interface, another company's model, and a set of applications you already use. Or suppose the model that serves you best this month is no longer the right one next month. Changing that choice should not require rebuilding every connection around it. Your preferred place to talk to an agent should not, by itself, decide where that agent is allowed to work.\n\nWe may get an “Apple of harnesses”: one company whose polished, integrated experience becomes the place where most consumers encounter agents. People might choose it for perfectly understandable reasons. A coherent interface saves effort. A system that works without assembly has real value. A dominant harness could earn its position by making something people prefer to use.\n\nWe may also get a much more varied world, with different harnesses for different kinds of work and no single front door that everyone walks through. I do not think the architecture should depend on guessing which future wins.\n\nIn either case, I want to keep the parts replaceable. Different model providers, different harness providers, different tools, different applications. Choose them together when that is convenient. Change one when there is a reason to. A person should be able to enjoy an integrated experience without making every other choice permanent.\n\nThis is what I mean by Hauddy being harness agnostic. The connections should be useful across the environments in which agents run. Hauddy should be an independent tool those environments can use, with an open implementation and interfaces other people can build against. Today's alpha connects supported clients; compatibility with every harness is an ambition, not an existing fact.\n\nThe concern becomes sharper when the connections carry more than messages. If one interface also becomes the only place where an agent's identity, context, and permissions make sense, leaving it means rebuilding much more than a conversation. The convenience of arriving becomes the cost of leaving.\n\nThis is the same question The Reducing Valve keeps returning to from other directions: how much of the instrument acting for you do you actually control? Here, control includes the ability to change a part without having to start your working life over around it.\n\n---\n\nFollow the brief a little further. The coding agent has read it and needs to consult a project document before preparing its reply. Which document may it read? Does permission to receive the brief include permission to browse the whole folder? If it changes harnesses, who checks that permission then?\n\nThese are questions about context as much as identity. Giving an agent a name makes it reachable. Connecting that identity to a grant makes it possible to say something more useful: this agent may retrieve these materials for this piece of work, until this time. The service holding the material must check the grant before releasing it.\n\nThat is the direction I want to explore beyond messaging. Instead of sending the entire history just in case, we could give an identified agent a limited way to ask for the context it needs. More information would require more authority. The handoff would have a boundary that could be inspected, rather than a growing pile of material whose original reason for inclusion has been forgotten.\n\nIt would still require care. Access can be withdrawn; information already disclosed cannot be made unread. And moving to another harness should never silently expand a grant. A new environment must establish that it is entitled to use the identity and permissions it presents. Portability is useful when the limits travel too.\n\nNow imagine the reply leaving the project as an email. It comes from a familiar account, contains the document you expected, and suggests a next step. You learn that an agent sent it. Perhaps its owner authorized exactly that. Perhaps the agent had only been asked to prepare a draft.\n\nThe address looks the same in both cases.\n\nExisting applications already authenticate accounts and authorize access. What I want to keep visible is the relationship inside this particular action: which agent acted, which account it represented, and what that account allowed it to do. The distinction is established in identity systems. OAuth's token-exchange standard describes [delegation](https://www.rfc-editor.org/rfc/rfc8693.html#section-1.1) in terms that keep the actor distinct from the party it represents. There is good infrastructure to build on.\n\nThink of the agent carrying a passport, a mandate, and a receipt. The passport establishes an identity and an attested relationship to an account. The mandate says what that identity may access or do. The receipt records the request and its outcome. With those distinctions intact, a receiver could tell the difference between an identifiable agent, an authorized action, and an action that actually completed.\n\nThe passport is a metaphor for the future direction. Hauddy's current account and key relationships do not certify a person's legal identity. Nor would a valid signature tell you that an agent made a sensible decision, or that the software using the signing credential had not been compromised. As the [Verifiable Credentials model](https://www.w3.org/TR/vc-data-model/#verification) makes clear, checking a credential and accepting its claims are separate judgments. A receiver still decides whose assurances to trust.\n\nIn the fuller email example, evidence would accompany the message and bind to its content and recipients. It would describe this agent acting for this linked account under this authorization. Checking it would require compatible software; this is an exploratory design, not a badge Hauddy can already put into Gmail. The point is to make the authority available for inspection wherever the action arrives.\n\n---\n\nThere is a small, useful piece of work between that vision and the software we have now.\n\nEvery application connection comes with chores. Someone has to protect and refresh the credential, translate the agent's request into something the application understands, and check whether the action is permitted. When the provider stops answering, someone has to work out whether the request failed or merely lost its reply. This is another version of the integration I kept rebuilding, and it is work Hauddy could make reusable for other builders too.\n\nImagine linking an email account and allowing one agent to create drafts there. The agent asks Hauddy to create a draft. A connector checks the grant, uses the application's credential, and records the result. The agent gets an outcome. The credential stays with the connector.\n\nThat separation matters because a promise in a prompt is a fragile place to keep a permission boundary. The software controlling access has to enforce it. An agent allowed to prepare a draft should not be able to retrieve the underlying credential and use it to send. Protected storage and a narrow interface have to work together. This follows the existing principle of [restricting access to the resources and actions required](https://www.rfc-editor.org/rfc/rfc9700.html#section-2.3).\n\nCreating one email draft is the next proposed experiment. First with a fake provider, then with an explicitly linked test account. Gmail is the candidate, subject to reviewing its permissions. Today's connectors let outside assistants access Hauddy messages and files; this would extend the connection outward into an application. Sending messages and portable proofs would come later.\n\nThe experiment earns its keep if the limits hold. Creating the draft is only half the result; the other half is refusing the wrong agent, or the right agent after its grant has been withdrawn. If a response goes missing, trying again should not fill the account with duplicate drafts. The person should be able to see what happened. Those are modest outcomes, but they would give the larger claims something solid to stand on.\n\nThey would also make the division of responsibilities easier to see. The model proposes the content. The harness organizes the work. The connector enforces the permitted action. The application stores the draft. These parts have to cooperate, and their boundaries take work to maintain. Keeping them distinct gives us a chance to replace or improve one without handing the whole arrangement to a single supplier.\n\n---\n\nHauddy would defeat its own purpose if every route out of someone else's enclosure ended at ours.\n\nThat is why the open-source part is essential. The code is available under Apache-2.0 today. The direction is for the same kind of independent infrastructure to be usable on a person's machine, within an organization's own environment, or through a provider they choose. A company should be able to keep internal context and permission decisions inside its boundary. It should decide which connections cross that boundary and on what terms.\n\nLocal messaging is a starting point. The fuller context and application-grant system is still ahead. So is an ecosystem in which different operators can issue evidence that other systems understand. Hauddy's hosted service is centrally operated today; publishing its code does not by itself create federation.\n\nFor that wider arrangement to work, providers would need compatible formats and clear meanings. A receiver would need to know what an issuer actually checked before making a claim. Revocation would have to reach the place enforcing access. Changing providers would have to preserve useful evidence without automatically carrying permissions into places they do not belong. Open code lets people examine an implementation. Common rules let separate implementations cooperate.\n\nTransparency also has an everyday meaning. Can the person see what their agent accessed? Can an administrator explain why a request was refused? Can a builder inspect how a connector uses a credential? Can someone compare the promises in the documentation with what the system actually does? Trust has somewhere to grow when those questions have inspectable answers.\n\nThat visibility should serve the people involved. It should not require publishing everyone's activity. An application checking permission for a draft has no need for a dossier of the owner's other agents, contacts, and work. We should disclose what the action requires and be able to explain why it requires it.\n\nThere is a cost to all this independence. An integrated product can make choices on behalf of its users and spare them the seams. A modular system has to make those seams work well enough that people do not spend their days repairing them. I began Hauddy because I was tired of being the integration layer. Replacing that job with a more principled version of the same job would be a poor result.\n\nWhich brings the vision back to the brief moving between two windows.\n\nAbove all, Hauddy needs adoption. Someone should be able to make that first connection without my help, complete useful work, and come back because it saved them trouble. The next builder should find enough clarity in the code and documentation to fix a problem or add a missing connection. Repeat use and contributions are how we find out whether this architecture belongs in people's work.\n\nIf you work with agents, [try the local exchange](https://hauddy.com/guides/local-agents), look at the [source](https://github.com/Hauddy/hauddy), or bring a handoff the current design cannot handle. The useful feedback is often specific: the context that went missing, the permission that was too broad, the connection that took too much effort to make.\n\nPerhaps most people will eventually work through one beautifully made harness. Perhaps they will use several. Either way, I want the choice of window to remain a choice of window. The connections behind it, the context an agent may reach, and the authority under which it acts should be things we can understand, limit, and move deliberately.\n\nI started with the small irritation of carrying work between agents. I would like the result to be something that lets us change the agents, change the tools, and keep working."
}