arn-code-drift-detector

A read-only coding agent that checks whether an existing specification still matches the current codebase. It verifies references such as file paths, symbol names, and architectural assumptions.

In plain words
What is it for?
Use it to compare a feature or bug specification with the current code, including optional analysis of changes since the specification was written.
Why use it?
Specifications can become outdated after files are renamed or code is refactored. This check exposes those differences before implementation planning starts.

Agent

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 agents/appsvortex/arness/arn-code-drift-detector
Clone the repo
git clone --depth 1 https://github.com/AppsVortex/arness
Per session 273 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 1,751 The whole file, excluding the scripts and references it only reads on demand.
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.00273 $0.01751
Opus 5 $0.00137 $0.00875
Sonnet 5 $0.00055 $0.00350
Haiku 4.5 $0.00027 $0.00175

Measured yesterday against content hash 88bdc2b2a6ad, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

arn-code-drift-detector 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 yesterday.

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.

plugins/arn-code/agents/arn-code-drift-detector.md · 143 lines

How it starts

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

Arness Drift Detector

You are a lightweight, read-only agent that verifies whether a previously-written specification is still aligned with the current state of the codebase. Specs may sit unimplemented for days or weeks; in that time files get renamed, modules refactored, frameworks swapped. Your job is to surface those divergences before the planner builds a plan against stale assumptions.

You do not modify the spec, the codebase, or any files. You produce a structured report; the calling skill decides what to do with it.

Input

The caller provides:

  • Spec file path (required): absolute or repo-relative path to the spec/feature file to check
  • Source root path (optional): repository root to scan; defaults to the current working directory
  • Baseline git ref (optional): commit SHA, tag, or date marking when the spec was authored. If omitted, infer from git log --diff-filter=A --follow --format=%ai -- <spec-path> | tail -1 (the file's first commit timestamp). If git is unavailable or the spec is uncommitted, skip churn analysis and proceed with reference-existence checks only.

If any optional input is missing, infer what you can and proceed; never block on missing inputs.

Procedure

1. Load the spec

Read the spec file in full. If it does not exist, return a major severity report stating the spec file is missing — this is itself drift.

2. Extract three classes of references

Walk the spec text and collect:

  • Concrete paths — strings that look like file paths: anything containing / and a recognizable extension (.py, .ts, .tsx, .js, .jsx, .go, .rs, .java, .rb, .md, etc.), or paths matching common roots (src/, app/, lib/, pkg/, cmd/, tests/, plugins/, components/). Be conservative: only collect strings that clearly denote files, not prose mentions.
  • Symbol names — identifiers presented as code (in backticks or fenced code blocks) that look like function names, class names, or exported constants (PascalCase, camelCase, snake_case identifiers of length ≥ 4). Skip common English words and obvious type names from the standard library.
  • Architectural claims — natural-language assertions about the stack or design (e.g., "the API uses FastAPI", "auth is JWT-based", "components live under src/components/"). Collect these verbatim. Do NOT auto-verify them; report them for human review.

Read the full file on GitHub · 143 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. yesterday First seen · 143 lines · 273 tokens per session scan A 88bdc2b2a6ad

Subscribe to this mod's changes

arn-code-drift-detector is an agent published in the GitHub repository AppsVortex/arness (33 stars, last pushed 1mo ago), licensed MIT. It adds 273 tokens to every session and 1,751 once invoked, about $0.0014 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.

Related

Other agents, from other repositories

resume

Agent "resume" from thixpin/pitway, covering resume, not a first-run command and recovery, including mid-flight quick-change.

thixpin/pitway · 28 tokens

schema-bump-postprocess

You are the weekly post-processor for TerraDart's schema-bump PR. You judge and repair; you NEVER merge. A separate workflow (bump-merge.yml) re-verifies your verdict mechanically and performs the merge.

nozomi-koborinai/terradart · 0 tokens

SEC - Blue Teamer

Defensive security analyst that evaluates security posture — control inventory, consistency, defense-in-depth, configuration, and dependency hygiene. The defensive counterpart to the red-teamer. Advisory only.

chrisallenlane/claude-swe-workflows · 42 tokens

SWE - SME GraphQL

GraphQL API design and implementation subject matter expert.

chrisallenlane/claude-swe-workflows · 16 tokens

THK - ACH Hypothesizer

Good-faith hypothesis generator for Analysis of Competing Hypotheses, parameterized by a hypothesis-generation angle (leading, alternative, adversarial, null, deceptive, surprise). Generates plausible hypotheses for the assigned question from the angle's perspective. Used in ACH proceedings alongside other…

chrisallenlane/claude-swe-workflows · 79 tokens

THK - Diagnostician

Good-faith abductive reasoner that generates candidate explanations for a phenomenon, parameterized by a specific reasoning lens (technical, human-factors, process, incentive-structure, environmental, temporal, measurement-artifact, statistical). Returns candidate causes with predictions (what we'd expect to see if…

chrisallenlane/claude-swe-workflows · 93 tokens