Resource · Time-to-first-heartbeat

Time-to-first-heartbeat

I/O Mesh (IOMesh / iomesh) is the operational mesh for production AI agents.

Time-to-first-heartbeat (TTFH) is how long it takes, in one sitting on your laptop, to go from a fresh install to a signed event on a named department stream. We call that event a heartbeat. The consume-clock is the rule behind that install. The board stays empty until a signed event is pulled. A name in the directory isn't a live connection yet. A heartbeat is not a process ping and not a first model token.

For I/O Mesh, memory is counted in those consumed heartbeats. Chat is not the memory. The install proves the first one; dig-deeper still has to hold the same signed event next to the private note.

Why this clock exists

Other “time to first” metrics stop too early. Time-to-first-token stops when a model emits a syllable. Time-to-first-value stops when a product screen shows an aha. Agent heartbeat tools stop when a process answers a ping. None of those prove that this session consumed a real department record — an outage, a deploy, a ticket. TTFH does. It is measured in minutes on your machine, not in milliseconds of prefill latency.

Words on this page

Heartbeat
A fresh signed update on a department stream: outage started, deploy shipped, ticket moved. Not a medical reading, not an OpenTelemetry span, and not a dead-man's ping that the container is still up.
Consume-clock
Time comes from durable pull of signed department events. A catalog card, a cookie, a seeded preview row, or an inference run does not move it.
Local notes (on your machine)
The on-disk store for private RCA or runbook files and later pulls. It lives on your machine, under your control — not Cloud Memory. Local notes stay separate; we don’t double-write.
Cloud Memory
Optional workspace memory beside time-to-first-heartbeat. Available when you turn it on (Base required; list $199 on pricing). Not required for a first signed heartbeat. Not the same as Local notes on your machine.
Cite-both
A digest that must point at a live mesh event and a private overlay file. Cite both sides, or say which one is missing.
As of the pulse
Time rides on the signed event this session pulled — event time on the pulse, consume time when you pulled it, and the date on the private note when you cite both. Catalog last-sync and chat timestamps are not that clock.

When the clock stops

The install is done when the session has notes on disk, one real connector, a decoded message, private files, and a digest that either joins both sides or says it cannot.

All five of the following are true in one session:

  1. Private notes have a place on disk under your control.
  2. One connector you already run is installed through the portal, with a person finishing OAuth (PagerDuty first, GitHub second).
  3. A named stream shows a live heartbeat with at least one decoded signed message. If this fails, stop. No preview rows.
  4. Three RCA or runbook files land as private notes, and you pull the live mesh events into the same session.
  5. A digest that needs both sources cites the live incident and the private file. Cite both sides, or say which one is missing. You acknowledge that brief.

First heartbeat still means a signed event on a named stream after you connect a source you already run. Any Catalog connector follows that path; GitHub and PagerDuty are demo examples, not the limit.

That is a first successful install for I/O Mesh. If step three never lands a message, overlay work can continue. It is not a heartbeat yet.

The install is the door. Dig deeper and the same heartbeat has to hold for the write-up after the page.

Postmortem is where chat-as-memory fails again: the thread has moved, and the next on-call still needs the signed incident next to the private RCA. March is a date on disk. The Slack thread moved. Cite both sides, or say which one is missing. Cite-both is how the RCA stays a record instead of a remix.

Short-term, the heartbeat is this week's signed pages. Long-term, signed history, notes on disk, and Cloud Memory when it is on for the workspace should still be findable next month. Patterns on disk do not invent a heartbeat; consume still comes first. The date that matters is still on the signed event — as of the pulse — not on a freshness window sold as a product clock.

How the consume-clock works

  • The board stays empty until a signed event is pulled.

    Prefer a blank dashboard over inventing a row that looks alive. As of the pulse means the board shows what this sitting actually pulled — not a seeded preview that looks alive. Until someone finishes the install and a real message lands, the board stays blank on purpose.

  • A name in the directory isn't a live connection yet.

    A stream name on a list is not a live heartbeat. Listing Slack, PagerDuty, or Salesforce does not mean this session pulled them.

Platform SRE teams hit this first: an empty board after a catalog listing is the correct state, not a broken one.

Cite both sides, or say which one is missing.

A digest must point at both sides: a live mesh event and a private note on disk. If one side is missing, the digest says so. That is a valid outcome.

That is a different question from groundedness scores, which ask whether a model stayed loyal to retrieved chunks. Here the question is whether this session consumed the records the department said were live, or admitted the join failed.

On your laptop

The local walk does not invent a heartbeat. Prove the same clock locally. The board stays empty until a signed event is pulled. A name in the directory isn't a live connection yet. Developer CLI steps live in the product docs — this page stays the install story for Platform and SRE.

Lead with the heartbeat. Teach that it is the unit of memory. Private notes (and optional Cloud Memory when it is on) are the shelf — never the hero.

Laptop walk first. Local notes part of finished install. Cloud Memory is available, optional beside time-to-first-heartbeat (Base required; list $199 on pricing). Overlay without signed pull ≠ heartbeat.

Related clocks this is not

ClockDifference
TTFTTime-to-first-token measures model latency. TTFH measures minutes to a live pulse. First token is not a first heartbeat.
TTFV / time to first valueTime-to-first-value stops on a product aha. TTFH stops on a signed heartbeat. Cite both sides, or say which one is missing.
Agent heartbeatThose tools ping that a process is alive. A Mesh heartbeat is a signed department event, not a liveness ping.
Trace / first spanA trace tells you what the agent did. TTFH asks whether this session read the record.

Explore I/O Mesh