Back to Hermes Series

Pull the Tape

Post 22 - Pull the Tape
Captain's Log

I added the recorder and the tower to the operator surface: Flight Recorder captures the tape locally, DBaaS stores sealed batches and fleet metadata, and content decrypts only at the operator edge. The fleet gets replay without turning the backend into a plaintext archive.

2surfaces: recorder and tower
0private keys on the backend
1tape per run

Pull the tape

An agent can look healthy while it loses the plot.

It can answer in complete sentences. It can return green checks. It can burn tokens, call tools, spawn subagents, miss a cron run, skip a source, and leave behind a calm summary.

Confidence is noise. The tape records behavior.

Hermes Flight Recorder is the black box beside Hermes. It records sessions, tool calls, model turns, cron beats, gateway events, failures, gaps, missed runs, stale work, token use, and cost. It writes the record to a durable local outbox first. The outbox keeps working when the network disappears.

Hermes DBaaS is the tower. It receives sealed envelope v1 batches, stores the ledger, builds fleet projections, and serves the console. The product page says the job plainly: know exactly what your agents did, and prove it.

A useful operator surface has to show the flight. Completion status is too thin. The record needs sequence, timestamps, cost, tool calls, model turns, and the places where the tape tore.

Records everything, reads nothing

The architecture has two sides.

Flight Recorder captures the tape on the machine where the work happened. DBaaS centralizes the fleet view. The backend receives event ids, timestamps, event types, producer sequences, costs, durations, token counts, and related metadata. That metadata makes the fleet visible.

Content stays sealed.

Prompts, messages, and tool output are encrypted before they leave the host. One operator keypair exists for the fleet. The public key goes to each agent installation. The private key stays with the operator.

The host encrypts content with an AES-256-GCM data key. It seals that data key to the operator public key. Then it ships the sealed key as a wrapped DEK. The wrapped DEK travels apart from the event content.

The backend stores ciphertext and wrapped keys as opaque blobs. It has no private key. It stores the sealed record and serves it back to the operator console.

The privacy claim lives in the mechanics.

Reading happens at the browser edge. The operator unlocks the console with the private key. The key stays in browser session memory. The console fetches the wrapped DEK, unwraps it locally, and decrypts selected content locally. Refresh, a new tab, an installation change, or Lock clears the key and decrypted state.

The server sees metadata. The operator sees content.

A gap in the tape is a finding

The banner has aircraft over the island, a tower lit at night, a traffic log, radio gear, and a black box on the table. The visual grammar is flight control. Callsigns. Signals. Replay. A dark room watching the sky.

Each installation becomes a callsign. Each run becomes a flight. Each number is a door.

A cost spike opens the flights that produced it. A missed cron shows the schedule, the expected beat, and the missing segment. A degraded research agent shows the events, the gap, and the last good point in the tape.

Summaries report what survived compression. The recorder reports sequence. It can show where the record stopped.

The known limit is direct. A live compromise of a running writer can read the current in-memory data key for that process. The documentation says this. At-rest theft is different. In fleet mode, the host lacks the operator private key. It cannot read fleet history.

The operator surface

This connects to the work I run now.

K-12 food service intelligence depends on scheduled jobs, source evidence, prospecting signals, RFP reminders, and decision boundaries. FileMaker migration work depends on repository state, extracted business logic, planning artifacts, and skills that control reading order.

In both domains, bad automation can present as quiet drift. A stale skill. A skipped source. A memory change. A cron job that ran and produced weak work. A subagent that returned a clean-looking result with a hole in the middle.

The console makes those failures inspectable. Fleet view shows installations as lanes. The knowledge viewer shows memories, skills, versions, evidence, tombstones, and bundle validation. The tower exists for replay when the activity matters.

Post 20 described an operator with live inputs, schedules, memory, skills, and approval boundaries. Post 21 showed another agent in the fleet running a typed pipeline. This layer records the operators. It gives the system a ledger, a fleet view, a traffic log, and a way to inspect the knowledge that shapes future work.

The agent fleet becomes visible while DBaaS stays out of the plaintext path.

Pull the tape. The secret stays out of the tower.

Control plane without plaintext
Agent hostsessions · tools · cron · cost
Flight Recorderdurable local outbox
Sealed envelopeciphertext + wrapped DEK
DBaaS towermetadata · projections · traffic log
Fleet consolecallsigns · gaps · replay paths
Unlock boundary
Operator private keybrowser session memory
Edge decryptselected content only
The tower stores the tape. The operator unlocks the content.
← Previous postHermes Series →