TMA1

A monolith in your agent’s loop. Silent until it talks back.

TMA1 records every LLM call locally, then routes what it sees back into the agent’s next turn — hooks, MCP tools, and anomaly detection.

My agent kept editing files I’d just changed by hand. I wanted it to notice._

claude code · auth.go
$# edit attempt #4
 
[tma1]Re-read auth.go before the next edit — your in-memory copy is older than what’s on disk.
 
$Reading auth.go
$# edit succeeded ✓

AGENT ONBOARDING

Read https://tma1.ai/SKILL.md and follow the instructions to install or upgrade TMA1 for your AI agent

Manual install
terminal
# macOS / Linux
$ curl -fsSL https://tma1.ai/install.sh | bash
 
# Windows (PowerShell)
> irm https://tma1.ai/install.ps1 | iex

Your agent learns from its own failures

When the same Edit fails three times or a build keeps breaking, TMA1 injects the specific fix path into the next prompt — not into a postmortem next week.

Agents read what other agents did

Claude Code can pull Codex’s review on the same file, verbatim, via /tma1-peer. No copy-paste between terminal tabs.

Nothing leaves your machine

One Go binary. No Docker, no cloud. Data stays in ~/.tma1/.

Features

Observability that does something with what it sees

Closed-loop perception and cross-agent collaboration come first. The dashboards back them up. One Go binary, one local time-series store, no Grafana, no YAML.

01

Closes the agent loop

TMA1 watches for repeated failures, stale views, broken builds. When a rule fires, it writes a concrete fix path into the agent’s next prompt — not into a dashboard for someone to read tomorrow. Five hooks deliver it. Six rules, each with an actionable suggestion. HIGH severity can block Stop so a broken build doesn’t silently ship.

localhost:14318
TMA1 dashboard — Performance tab preview

When TMA1 sees something the agent should act on, it writes a concrete suggestion into the next prompt. These are real strings from the detector — what the agent literally reads:

repeated_failed_build HIGH

Wrapped with `tma1 build -- npm test`. Agent retried three times, same error each time.

Stop retrying `npm test` and address this error first: TypeError: Cannot read prop ‘user’ of undefined
stale_file_view HIGH

A human edited the same file the agent was about to overwrite.

Re-read auth.go before the next edit — your in-memory copy is older than what’s on disk.
02

Cross-agent peer sessions

Claude Code reads what Codex left on the same file, verbatim. Codex reads what Claude did. The /tma1-peer skill pulls up to 30 messages plus tool footprint from the peer’s last session on this project. Each agent’s own sessions are excluded by caller-aware filtering — no echo chambers.

Claude Code reads what Codex left, verbatim — via the /tma1-peer skill. It works the other way too.

claude code · in your project
$/tma1-peer codex
 
Codex reviewed auth.go 12 minutes ago and left
three concrete issues:
 
1. JWT expiration not validated on refresh
2. Session token logged to stderr on auth failure
3. Missing rate-limit on /login
 
Want me to address all three or pick one?
03

Anomaly detection

An agent stuck in a retry loop can burn hundreds of dollars. Each agent view has an Anomalies tab. Click any flagged request to jump straight into the session and see what went wrong.

localhost:14318
TMA1 Dashboard — Anomaly detection
04

Sessions

Your agent ran for 25 minutes across 4 turns. What happened? Open the session overlay: left side shows file activity, context breakdown, and API calls. Right side is the full event timeline. Or watch the live canvas while your agent works.

localhost:14318
TMA1 Dashboard — Sessions
05

Tool analytics

When your agent feels slow, is it the model or the tool calls? p50 and p95 latency per tool, call counts, success rates, and trend lines.

localhost:14318
TMA1 Dashboard — Tool analytics
06

Cost breakdown

Which model costs the most? Which conversation burned through your budget? Token counts and estimated cost per model, plus burn-rate over time and cache hit ratios.

localhost:14318
TMA1 Dashboard — Cost breakdown
07

Security monitoring

Your agent can run shell commands, fetch URLs, and be fed injected prompts. TMA1 flags all of it. For OpenClaw it also tracks webhook errors and stuck sessions.

localhost:14318
TMA1 Dashboard — Security monitoring
08

Full-text search

Type a keyword in the Sessions search tab and it finds matching conversations, tool calls, and results across all sessions. Click a result to open the session at that exact event.

How it works

Setup

Paste the onboarding instruction into your agent and it handles the rest. Or do it yourself:

[1]

Install

One command. Downloads everything into ~/.tma1/. No Docker, no system packages.

[2]

Configure your agent

Point the OTel endpoint to http://localhost:14318/v1/otlp. Works with Claude Code, Codex, OpenClaw, or any OTel SDK. GitHub Copilot CLI needs no config — TMA1 auto-discovers its session logs.

[3]

Watch the loop close

Browse to localhost:14318 for the dashboard. The interesting part happens in your agent: it starts seeing <tma1-context> blocks and acting on them. Optionally wrap dev / test commands with tma1 build -- <command> so build failures feed the loop too (flags: --watch, --tag, --filter-regex). The dashboard is for the human postmortem; the loop is for the agent.

Security

Security & Privacy

Your agent reads your codebase, your API keys, your infrastructure. Sending that to a cloud observability service defeats the purpose. Everything stays local.

How data is stored

TMA1 stores traces and conversation logs on your local disk in ~/.tma1/data/. Nothing is uploaded to remote services, and you can inspect or delete the data at any time.

No network calls

After first launch (which downloads the embedded database engine once), TMA1 makes no further network calls. No analytics, no crash reports, no update checks.

Fully open source

TMA1 is Apache-2.0. Read the code, audit the build, and run it air-gapped.

Single binary

tma1-server runs as one local process and manages its embedded storage engine. No Docker, no system packages, no runtime dependencies.

Your data, your disk

Delete ~/.tma1/ and everything is gone. No orphaned cloud state, no remote accounts to close.

FAQ

Common questions

Which agents are supported?

Any agent that emits OpenTelemetry data, plus a few via JSONL auto-discovery. Claude Code sends metrics and logs. Codex sends logs and metrics, and session JSONL is auto-parsed for conversation replay. GitHub Copilot CLI is zero-config: its session JSONL at ~/.copilot/session-state/ is auto-discovered. OpenClaw sends traces and metrics, and session JSONL is auto-parsed for conversation replay. Any OTel SDK app with GenAI semantic conventions works out of the box. The dashboard auto-detects the data source and shows the right view.

Can I query the data with SQL?

Yes. Run mysql -h 127.0.0.1 -P 14002 to connect to the local SQL endpoint, or open localhost:14000/dashboard/ for the built-in query UI. Traces are in opentelemetry_traces, logs in opentelemetry_logs, session data in tma1_hook_events and tma1_messages, and OTel metrics get auto-created tables.

How much disk space does it use?

It depends on traffic and conversation length. A typical setup uses a few hundred MB per month.