compass CLAUDE.md

A set of instructions for Compass, a Go service that builds knowledge graphs showing how information changes over time. It explains the PostgreSQL data store, API workflow and main parts of the codebase.

In plain words
What is it for?
Use it when changing Compass’s API, database repositories, knowledge-graph logic, middleware or AI-agent tool access.
Why use it?
It prevents edits to generated API files and directs changes through the source definitions and required regeneration process.

Instructions file

Install

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.

agentmods
npx agentmods add instructions/raystack/compass/claude-md
Clone the repo
git clone --depth 1 https://github.com/raystack/compass
Per session 620 This file is loaded in full into every session.
When invoked 620 The same file — it is already loaded in full.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5 $0.00620 $0.00620
Opus 5 $0.00310 $0.00310
Sonnet 5 $0.00124 $0.00124
Haiku 4.5 $0.00062 $0.00062

Measured 2d ago against content hash bbeb19a6985d, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

compass CLAUDE.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.

CLAUDE.md · 63 lines

How it starts

The opening of the file, as written. The whole thing — 63 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

Project Overview

Compass is a context engine that builds temporal knowledge graphs. Written in Go (1.25+), it uses PostgreSQL with pgvector, pg_trgm, and tsvector extensions. Single binary with no external dependencies beyond Postgres.

API Development Workflow

Proto definitions live in a separate repo: raystack/proton (at ../proton relative to compass). Never edit files in gen/ directly.

Workflow for API changes:

  1. Edit proto definitions in the proton repo first
  2. Regenerate: buf generate ../proton --template buf.gen.yaml --path raystack/compass
  3. Update compass handler/service code to match

Alternative: make proto fetches proton from GitHub using the PROTON_COMMIT pinned in the Makefile.

Generated code lands in gen/raystack/compass/v1beta1/. The API layer uses ConnectRPC (not plain gRPC) -- handlers implement the connect service interface.

Architecture

  • core/ -- Domain logic (entity, principal, document, embedding, namespace, pipeline)
  • store/ -- PostgreSQL repositories and migrations
  • handler/ -- ConnectRPC handlers
  • internal/mcp/ -- MCP server for AI agent tool access
  • internal/middleware/ -- Connect interceptors (namespace, principal, logging, recovery)
  • internal/server/ -- Server bootstrap and wiring
  • internal/config/ -- Configuration
  • cli/ -- CLI commands
  • gen/ -- Auto-generated protobuf/connect code (DO NOT EDIT)

Key Conventions

  • Identity model uses Principal (not User/Caller) -- supports types: user, agent, service
  • Multi-tenancy via Namespace with PostgreSQL Row-Level Security
  • Temporal data: entities and edges use valid_from/valid_to timestamps
  • Soft deletes: set valid_to = now() instead of DELETE
  • Database migrations in store/migrations/ -- sequential numbering (000001, 000002, etc.)
  • MCP server reads namespace and principal from context (injected by middleware)

Common Commands

make build          # Build binary
make test           # Run tests with coverage
make proto          # Regenerate proto from proton (GitHub, uses PROTON_COMMIT)
make lint           # Run golangci-lint
go vet ./...        # Run vet
go build ./...      # Check compilation

Read the full file on GitHub · 63 lines

Changes

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.

  1. 2d ago First seen · 63 lines · 620 tokens per session scan A bbeb19a6985d

Subscribe to this mod's changes

compass CLAUDE.md is an instructions file published in the GitHub repository raystack/compass (70 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 620 tokens to every session, about $0.0031 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.