Latitude is an open-source platform for monitoring AI agents by collecting execution traces, grouping failures, dispatching coding agents to make fixes, and replaying failures to verify them. Teams use it to observe agent behavior, investigate errors, and monitor whether fixes prevent regressions. The catalogue entries include skills, instructions, and an MCP server for working with Latitude.
Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add instructions/latitude-dev/latitude-llm/agents-mdgit clone --depth 1 https://github.com/latitude-dev/latitude-llmWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/instructions/latitude-dev/latitude-llm/agents-md)<a href="https://agentmods.dev/instructions/latitude-dev/latitude-llm/agents-md"><img src="https://agentmods.dev/badge/instructions/latitude-dev/latitude-llm/agents-md.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.04006 | $0.04006 |
| Opus 5 | $0.02003 | $0.02003 |
| Sonnet 5 | $0.00801 | $0.00801 |
| Haiku 4.5 | $0.00401 | $0.00401 |
Grade A, and why
latitude-llm AGENTS.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 77 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AGENTS.md
High-level guide for coding agents working in this repository.
Product scope
Multi-tenant LLM observability platform. The repo is a pnpm workspace orchestrated with Turbo.
At a glance: apps/* own transport (middleware, authn, mounting); @repo/operations owns the public API's operation contracts (validation, public schemas, routing to use-cases) shared by HTTP/MCP/SDK/CLI and in-process agent tools; packages/domain/* own business rules and ports; packages/platform/* implement infrastructure adapters; @repo/utils holds cross-cutting pure helpers. Telemetry and control data flow through Postgres, ClickHouse, Redis, and object storage, with organization-scoped access everywhere at the boundary.
Repo-wide conventions
- Organization-scoped Redis or cache keys must start with the organization prefix:
org:${organizationId}:.... Put the org id first so tenancy is obvious and keyspaces stay consistently partitioned. - Code comments are rare, and one line when they exist. Default to no comment — naming and structure should carry the meaning; a comment explaining what code does is a signal to rewrite the code, not to annotate it. Write a comment only for something the code cannot show: a trap (code that looks wrong, removable, or simplifiable but breaks something — ordering requirements, magic values, workarounds for framework/library quirks), a non-obvious external constraint, or contract docs where the file's existing convention documents every sibling (e.g. JSDoc on every method of a port). Never narrate the change you just made, restate what the next line does, paraphrase a well-named identifier, add section-header comments, or explain design rationale in the code — rationale belongs in the commit or PR description. When editing existing code, don't add comments describing your edit, and feel free to delete comments your change made stale or redundant. A comment describes the code as it stands, not the development process that produced it: never anchor one to transient context like a rollout phase, ticket id, or "new"/"now" framing (e.g.
// Phase 2 (LAT-749): ...) — that reads as stale the moment the phase lands; state what the code does and put the ticket in the commit/PR. The only comments that may name a ticket are actionableTODO/FIXMEmarkers for work not yet done. - Never invoke
tscdirectly. Typechecking goes throughtsgovia the packagetypecheckscript — usepnpm --filter <pkg> typecheckfor one package orpnpm typecheckfor the whole workspace.tscwould diverge from CI. - ClickHouse migrations must be created with
pnpm --filter @platform/db-clickhouse ch:create <migration_name>. Do not create ClickHouse migration files manually. - PR base branch follows the branch's origin. Branches forked from
development(v2 work, default) PR intodevelopment; branches forked fromlatitude-v1(v1 maintenance) PR intolatitude-v1. Never start a branch frommainwithout confirmation — if the working branch is based onmain, or the user asks to branch frommain, confirm with the user first. Detect an existing branch's base by testing ancestry in order: ifgit merge-base --is-ancestor origin/latitude-v1 HEADis true →latitude-v1; else ifgit merge-base --is-ancestor origin/development HEADis true →development; else the branch is likely based onmain(or something unusual) — stop and confirm with the user before opening a PR. When the user asks to start a new branch, take the base from their wording (mentions of v1 →latitude-v1; otherwise default todevelopment). - Production deploys use the single-branch release-tag flow:
developmentis trunk and deploys to staging by default; production is triggered only by pushing avX.Y.Ztag that points at the latestorigin/developmentcommit. Before tagging a production release, updateCHANGELOG.mdwith a human-readable diff of the code being pushed to production since the previous production deploy, focusing on the major aspects rather than every commit. Usescripts/release.sh [version]to fetch and tag the latestorigin/developmentcommit; without a version it bumps the latestvX.Y.Ztag to the next patch version, with--minor/--majoravailable for larger bumps. Do not promote by mergingdevelopmentintomain. - Keep the product cleanly OSS and self-hostable. Shipped runtime dependencies must be permissively licensed (MIT/Apache-2.0/BSD/ISC) — no AGPL/SSPL/source-available code in the application bundle; audit a new dependency's license (and its transitive additions) before adding it. The self-host object store is SeaweedFS (Apache-2.0) — never reintroduce MinIO or any AGPL store as a bundled default. Keep every infra dependency isolatable and bring-your-own-able (dedicated schema/db/namespace/bucket; Redis keys namespaced under
latitude:) so a self-hoster can swap any bundle for a managed instance. Rationale + full audit:dev-docs/licensing.md; self-host architecture:dev-docs/self-hosting.md. - Private partner endpoints live under
/v1/private/*and are plain Hono routes. They serve vetted, staff-registered partners, are authenticated by per-partner HMAC request signing (never a bearer token), and must stay off every generated surface — use a plainapp.post(...), neverapp.openapi/createRoute, neverdefineOperation. Every pre-scope refusal returns an identical401 {"error":"unauthorized"}so the surface can't be used to enumerate partner ids; only a scope failure gets a distinct 403. Details:dev-docs/partners.md. - Two image registries, distinct jobs. Public self-host images go to Docker Hub
latitudedata/<service>— env-neutral, multi-arch, for the six build targets (api,ingest,workers,workflows,web,migrations) — tagged to the release flow::X.Y.Z+:lateston a release (gitvX.Y.Zwith thevstripped) are the stable tags self-hosters pin,:developmentis the trunk edge tag. GHCR (latitude-<env>-<service>, sha-tagged) stays Latitude's private own-deploy registry and is never the self-host source.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +1 lines · +132 tokens per session 2a8f3dc5fbd9
- 5d ago First seen · 76 lines · 3,874 tokens per session scan A 83ed205aa6d5
latitude-llm AGENTS.md is an instructions file published in the GitHub repository latitude-dev/latitude-llm (4,619 stars, last pushed yesterday), licensed MIT. It adds 4,006 tokens to every session, about $0.0200 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other instructions, from other repositories
trulens AGENTS.md
AGENTS.md instructions for truera/trulens, covering agents.md, setup commands, code style, testing instructions and test markers.
agenttrail AGENTS.md
AGENTS.md instructions for sodiumsun/agenttrail: Maintain PLAN.md as the living plan. It is read by the project OWNER, not by you — write it for them.
phoenix AGENTS.md
AGENTS.md instructions for Arize-ai/phoenix, covering agent instructions, build & development and python dependency version policy.
phoenix CLAUDE.md
Claude Code instructions for Arize-ai/phoenix, a project described as: AI Observability & Evaluation.
codex-task-watchdog AGENTS.md
Instructions for TanChuping/codex-task-watchdog, a project described as: Local-first watchdog and Codex skill for stalled tool calls, long-running task monitoring, oversized-thread diagnosis, bounded cleanup, and safe handoff recovery.
agenttrail CLAUDE.md
Claude Code instructions for sodiumsun/agenttrail: Maintain PLAN.md as the living plan. It is read by the project OWNER, not by you — write it for them.