Blame an entity
blameIdentify the most recent change to any semantic entity—database column, function, env var, or dependency—including who changed it, when, why, and its current status.
Instructions
Most recent change to an entity — what changed, when, who, why.
Like git blame but for semantic entities (DB columns, functions, env
vars, dependencies) and AI agents. Also carries the derived decision
state: status (active / reverted / reopened) and
superseded_by (id of a later supersede overriding this change, or
""). If no history exists for the entity, returns {"error": "..."}
with protocol-level isError: false.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| entity_path | Yes | Exact entity path (no prefix matching). Examples: 'users.email', 'src/auth.py::login', 'env/STRIPE_SECRET_KEY'. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| diff | Yes | ||
| agent | Yes | ||
| error | Yes | ||
| status | Yes | ||
| project | Yes | ||
| metadata | Yes | ||
| reasoning | Yes | ||
| timestamp | Yes | ||
| constraint | Yes | ||
| git_commit | Yes | ||
| session_id | Yes | ||
| stale_when | Yes | ||
| supersedes | Yes | ||
| change_type | Yes | ||
| entity_path | Yes | ||
| entity_type | Yes | ||
| changeset_id | Yes | ||
| expires_when | Yes | ||
| revisit_after | Yes | ||
| superseded_by | Yes |