Your swarm proves what it said. We prove what the world was.
Ruflo's audit trail proves, to the federation's own members, what your agents said to each other. It cannot, by construction, be neutral evidence to a party outside the room. Dynamic Feed adds a Ground-Truth Receipt: an independently signed, timestamped record of the external fact a decision relied on, checkable by anyone, including against Dynamic Feed itself.
Neutrality cannot be self-hosted.
Ruflo already ships a serious internal trust fabric: mTLS plus ed25519 between agents, two-sided audit trails, behavioral trust scoring. That fabric proves, to the participants, what the agents said. When a regulator, an insurer, or a court disputes a federated decision, an audit trail operated by the disputing parties is the interested parties vouching for themselves. When agents act on an external fact, a price, an FX rate, a sensor value, a model output, Dynamic Feed witnesses that fact as a neutral third party that is never a federation member, never the decision, and never the money path.
| Layer | Proves | Operated by |
|---|---|---|
| Ruflo federation audit | What the agents said to each other | the federation (interested) |
| Dynamic Feed Ground-Truth Receipt | What the external world actually was | a neutral witness (no side) |
One line to connect. One call to bind.
Path 1 gives every agent signed ground truth with zero friction. Path 2 binds a witnessed fact to a specific ruflo_decision_id, so the federation decision and the external fact it relied on travel as one verifiable object.
▸ Add the neutral witness to your swarm
Dynamic Feed is a keyless remote MCP server. Ruflo runs on Claude Code and accepts any MCP endpoint, so you add Dynamic Feed the same way you add any MCP server, no signup, no credentials. Every agent can then pull independently signed external facts mid-task.
# Ruflo runs on Claude Code and accepts any MCP endpoint. Add the keyless DF server: claude mcp add --transport http dynamicfeed https://dynamicfeed.ai/mcp # or in the Ruflo web app (flo.ruv.io): the MCP pill in the chat input -> Add Server -> paste # https://dynamicfeed.ai/mcp # agents in the swarm can now pull signed ground truth mid-task
That alone gives every agent signed ground truth. Each response is an Ed25519-signed envelope with provenance (source, licence, timestamp) and, when you ask for corroboration, a concordance verdict across independent sources.
▸ Bind a fact to a ruflo_decision_id
Wrap a signed receipt as a GroundTruthReceipt Verifiable Credential and bind it to the federation decision with POST /v1/vc. The decision id lands in credentialSubject.bindsTo, so an outsider can tie the decision to the exact external fact it relied on.
# 1) Witness the external reference as one signed, canonical fact (keyless).
RECEIPT=$(curl -s -X POST https://dynamicfeed.ai/v1/answer \
-H 'Content-Type: application/json' \
-d '{"question":"AUDUSD reference rate at 2026-06-28T06:30:00Z?","corroborate":true}')
# 2) Bind that signed receipt to the Ruflo federation decision id.
curl -s -X POST https://dynamicfeed.ai/v1/vc \
-H 'Content-Type: application/json' \
-d "{\"receipt\":$RECEIPT,
\"binds_to\":{\"ruflo_decision_id\":\"fed-2026-06-28-000173\"}}"
# -> { "type":["VerifiableCredential","GroundTruthReceipt"],
# "issuer":"https://dynamicfeed.ai",
# "credentialSubject":{"bindsTo":{"ruflo_decision_id":"fed-2026-06-28-000173"}, ...},
# "signature":{...} } # independently verifiable later, offline
Anyone, including a non-member, verifies it later with only the VC and the published keys at /.well-known/keys: recompute the canonical bytes, check the Ed25519 signature, validate the RFC 3161 timestamp token, and read the concordance verdict. No call to Dynamic Feed, and no federation membership, is required.
The MCP path (path 1) works today, and so does the binding path (path 2, POST /v1/vc). The ruflo-groundtruth plugin that packages both, a manifest, an offline verifier, and the worked fraud-signal example, is a reference implementation: its Ruflo plugin apiVersion should be conformance-checked against the current Ruflo plugin API before release. The endpoints it points at are the live Dynamic Feed ones.
The extension it speaks, ground-truth-for-authorization, is published at /a2a/ext/ground-truth/v1. Authorization proves what was intended; ground truth proves what was real.
A witness, never a party.
Dynamic Feed witnesses the external datapoint a federated decision relied on. It does not replace Ruflo's federation security, does not make the decision, and never touches the money path. Signing and timestamping prove a record existed unchanged at a time; they do not prove an upstream value is objectively true. This is advisory evidence, not a certification, and it is tamper-evident, not tamper-proof. Divergence between sources is disclosed, never silently resolved.
Give your swarm a neutral witness.
Add the keyless MCP server in one line, or bind a witnessed fact to your next federation decision.