hachiflow.com
the event fabric

Every agent action is an event. Every repeated one can become code.

Waggle routes every agent action, every inbound webhook, and every human decision through one durable event log before anything happens. Nothing an agent does is invisible, and nothing that keeps repeating has to stay a model call forever.

This is the architecture Waggle runs on today, not a roadmap.
architecture

One event log, not a maze of webhooks

Every agent action, every inbound webhook, and every human decision becomes one envelope on a durable, replayable event log before anything is routed anywhere.

An action, then the durable log, then a deterministic rule, then either a destination or a direct code path.
01

Ingress

A webhook, a cron tick, or an agent's own output arrives at one door. The raw body and headers are kept exactly as they came in, and the event is stamped with a tenant, a principal, and a trust level before it goes any further.

02

Durable log

The event is appended to a durable, replayable event log. A duplicate delivery of the same event, a webhook retried after a timeout, for example, is recognized and dropped rather than processed twice.

03

Deterministic rules

A routing rules file, one per tenant, matches the event against its source, type, and trust level and decides where it goes. The first matching rule wins, and one rule can fan out to more than one destination.

04

Destination and trace

The event is delivered to a person's inbox, another agent, an outbound webhook, or discarded on purpose. Every hop is recorded, so anyone can trace an event from arrival to delivery afterward.

Under the hood: the bus is embedded NATS JetStream, on two streams named EVENTS and ROUTES. Routing rules are TOML, one file per tenant, reloaded automatically when the file changes. A duplicate delivery of the same event is recognized for two hours by its message id.

what the log gives you

What actually happens to an agent's actions

These are facts about the fabric Waggle runs on, not a sales pitch.

Every agent action is an event

What an agent said, what it asked for, and what a person answered are recorded the same way, on the same log.

Raw ingress is preserved

What a webhook actually sent, body and headers, is kept alongside the normalized event rather than discarded once it is parsed.

Delivery is idempotent

A retried webhook or a redelivered message is recognized and is not processed twice.

Every event can be traced

Its origin, the rule that matched it, and whether it was delivered are one lookup, not a search across several systems.

Some actions wait for a person

An agent asking to use a credential, or proposing a new agent, is an event that stops and shows a person a card to approve or deny before anything happens.

Webhooks work both ways

An event can be delivered back out to a URL you choose, either as the normalized envelope or the original request, unchanged.

from pattern to code

When a pattern is stable, it can stop being a model call

An agent's actions do not disappear once they are routed. They sit in the event log as the same kind of record every time: what happened, what matched, and where it went. When the same pattern shows up again and again, that repetition is visible in the log itself, not buried in a transcript.

Turning a repeated pattern into a rule or a small deterministic handler is work our engineers do with you today, reading the trace and editing the routing rules or writing the code path by hand. Waggle does not promote a pattern to a rule on its own, and there is no automatic learning step here. What the event fabric gives you is the visibility to find the pattern, and a rules engine built to hold the answer once you have one.

A rule match or a small handler answers directly from the router, without calling a model. We do not have a percentage to give you for what that saves in your case, because it depends on the pattern, but a deterministic path does not carry a per-task charge against the model subscription you connect the way another agent turn does.

questions

Questions a CTO asks first

Is turning an action into a rule automatic?

No. Our engineers do it with you, reading the event log and using the rules engine. Nothing in Waggle promotes an action to a rule by itself today.

What exactly gets logged?

Every agent action, every webhook that reaches your workspace, and every human decision, as one kind of record: what happened, what matched, and where it was delivered. The raw webhook body and headers are kept too.

Can one event reach more than one destination?

Yes. A rule's destination can be a list, and each one gets its own delivery and its own hop in the trace.

What happens to an action that needs a person?

It becomes a card in that person's inbox, for example a request to use a credential or a proposal for a new agent, and the decision itself is recorded as an event on the same log.

Is this a separate product from Waggle?

No. This is Waggle's own event fabric, the same one that runs the builder at app.hachiflow.com/waggle. There is nothing else to buy to get it.

talk to us

Talk to us about your architecture.

Tell us what your agents already do over and over. We will look at the trace with you and say honestly whether a rule or a small handler fits, before anyone builds anything.