EUWardenAI SDLC · tools
The process tooling workshop

What the agent uses

Two classes of tools, two different roles. Context tools give the agent cheap, accurate understanding of the code — without reading the repository file by file. Authoritative systems hold the truth and the evidence: stage, code, tests, design. And every system has three possible integration paths — chosen deliberately, case by case.

01Context tools

The ladder: structure → semantics → letters

The agent walks down the ladder from the cheapest accurate tool and stops at the first one that answers the question. Two cost filters run in parallel: rtk trims command output before it reaches the model, and caveman compresses the model's own communication.

QUESTION about code / system codegraph STRUCTURE — symbol graph, calls, blast radius semble SEMANTICS — search by meaning, code + docs rg (ripgrep) LETTERS — exact pattern, final verification ANSWER — stop at the first hit no hit no hit command output git · cargo · tests · CI rtk token filter MODEL −60–90% tokens SEPARATE TRACKS: context & communication cost model responses reports · handoffs · statuses caveman style compression HUMAN / AGENT −75% tokens
Order matters: the structure graph answers cheapest and most reliably, semantics catches unfamiliar naming, letters close the verification. rtk and caveman work crosswise — the first cuts the cost of every command, the second the cost of every response.

Code structurecodegraph

A local knowledge graph of the code: symbols, calls, flows. One query returns a function's source together with who calls it — from a precomputed index, not from reading files. Available to agents as MCP and as a CLI.

  • answers in milliseconds from a ready graph — big savings in tokens and round-trips
  • precise: it parses code, not guesses; it sees a change's blast radius
  • source + callers in a single call
  • requires indexing the repository; the index trails writes by ~1 s
  • coverage depends on language support
npm i -g @colbymchenry/codegraph github.com/colbymchenry/codegraph

Semanticssemble

Semantic search over code and documents: "where is the payment retry logic" — without knowing function or file names. The best first entry into an unfamiliar repository.

  • finds by meaning, not by letters — catches unusual naming
  • works on code and text (specifications, ADRs) at the same time
  • measures its own token savings (semble savings)
  • probabilistic results — a hit needs verification
  • an embedding index to build; slower than grep
uv tool install semble github.com/MinishLab/semble

Exact patternrg (ripgrep)

A blazing-fast next-generation grep: exact matches, regular expressions, final verification of hypotheses from the two previous rungs of the ladder.

  • fastest in its class; deterministic results
  • zero configuration and maintenance — the industry standard
  • ideal for "confirm that X occurs exactly here"
  • letters only — it understands neither structure nor meaning
  • "not found" does not mean "does not exist" — different naming slips through
brew install ripgrep github.com/BurntSushi/ripgrep

Context costrtk

A CLI proxy that filters the output of developer commands (git, builds, tests) before it reaches the model. A hook rewrites the calls transparently — the agent does not need to know about it.

  • 60–90% fewer tokens on typical dev operations
  • transparent to the agent; savings analytics (rtk gain)
  • Apache-2.0 license, distributed via Homebrew
  • the filter can cut off a relevant detail — raw mode for debugging (rtk proxy)
  • an extra intermediate layer in the command path
brew install rtk rtk-ai.app

Communication costcaveman

A plugin that enforces an ultra-compressed model speaking style — "talk like a smart caveman": no ornament, no pleasantries, full technical substance. Works on reports, statuses, and handoffs between agents; three compression levels (lite / full / ultra).

  • ~75% fewer tokens on responses with technical accuracy preserved
  • auto-disables where language precision is critical: security warnings, confirmations of irreversible actions; code, commits, and PRs always in normal language
  • complementary to rtk: rtk cuts the input (command output), caveman the output (the model's prose)
  • the style takes getting used to; sentence fragments can be risky in complex sequences
  • does not compress input context — no substitute for the ladder tools
/plugin marketplace add JuliusBrussee/caveman github.com/JuliusBrussee/caveman
02Process systems

Every truth has its system

These systems are not for "reading code" — they hold state and evidence. The agent's context may be ephemeral, but the truth about stage, code, tests, and design lives in authoritative systems and can be reconstructed after a restart. What binds is the role in the process, not the product name — below is our set; at a customer, their equivalents take these places.

Jira

truth about the process stage

Lifecycle statuses, gate entries (ANALYSIS GATE: PASS 8f3c21ab), decisions, and the full audit history of every issue.

access: REST API via script · MCP · skill with policy

GitHub + Actions

truth about code and CI

Pull requests, reviews, merges only through the gate. CI on a self-hosted runner pool builds the evidence: tests, lint, scans — pinned to a specific SHA.

access: gh CLI · git worktrees (isolation for parallel work)

QMetry

truth about tests

Test results from CI land in test cycles — coverage and regression history does not vanish in build logs; it has its own auditable register.

access: API called from a script in the pipeline

Playwright

E2E evidence for the UI

Browser tests: login flows, route smoke, screenshot comparisons. The artifacts become UI verification evidence at the gate.

access: tests in the repository, run in CI

Figma

source of the UX design

The agent reads and annotates designs directly: component specifications and design tokens feed Analysis and Architecture without manual transcription.

access: MCP (interactive work with the design file)

n8n

automations around the process

Self-hosted flow orchestration: approval gates, retries, integrations between systems — where automation does not require a full agent.

access: a dedicated role maintaining the workflow definitions

Security scanners

truth about vulnerabilities

Four categories: dependency scanning, static analysis, dynamic testing, container image scanning — for us cargo audit, clippy, OWASP ZAP and Trivy respectively. Results pinned to a specific SHA become security evidence at the verification gate.

access: a specialized security role + CI; the result lands as gate evidence
03Three integration paths

Script, MCP, or skill — chosen per case

Three roads with different properties lead to every system. A mature process does not pick a single "best" one — it matches the path to the character of the work: deterministic, interactive, or governed by policy.

AGENT process role SYSTEM e.g. Jira SCRIPT / CLI deterministic · headless · audit MCP interactive · tool schemas SKILL / WRAPPER policy: auth · error contract · claim
The same system, three access contracts. The script path carries the process gates, MCP carries interactive work, and the skill adds policy where access alone is not enough.
PathWhenStrengthsLimitations
Script / CLI delivery tracks: gates, status transitions, merges — everything that must be repeatable and accountable deterministic and fail-closed
cheap in tokens
runs headless and in cron
your own code to maintain
a rigid set of operations
MCP interactive work: exploring issues, working with the design file, sessions with a human full operation schemas without shell glue
rich, two-way interaction
per-session authentication — can vanish in headless runs
token overhead of the tool schemas
Skill / wrapper when access must carry policy: preflight auth, a uniform error contract, a double-work lock rules enforced in one place
consistent error messages across the whole role system
an extra layer and latency
one more artifact to maintain

The rule: the path is chosen per case, not per fashion. Delivery tracks run on scripts (determinism + audit), interactive work on MCP, and a skill steps in where policy is needed — not access alone. One thing is constant: evidence always lands in the authoritative system, never in the agent's memory.

04Agent runtimes

Who does the work: two runtimes and a model ladder

Process roles are definitions — an agent runtime executes them. We use two, deliberately different ones: an interactive runtime for orchestration and decisions, and a headless one for high-volume implementation. The third element is the model ladder: simple tasks go to the cheapest model that passes the gates.

Orchestration & decisionsClaude Code

Anthropic's interactive runtime (also runs headless). In our stack: the Director layer — delivery orchestration, decisions, operator collaboration — plus agent subtasks wherever the job needs a strong model.

  • strongest models for hard decisions and ambiguous tasks
  • rich ecosystem: MCP, subagents, hooks, persistent memory across sessions
  • the same runtime for human collaboration and automation (headless mode)
  • token cost on long sessions — demands context discipline
  • conversational strength tempts it to discuss instead of closing gates — the process must enforce that
npm i -g @anthropic-ai/claude-code claude.com/claude-code

Headless implementationCodex CLI

OpenAI's execution runtime. In our stack: the main implementation line — a Director sends a task package, the runtime executes it autonomously in a sandbox and returns a branch with evidence.

  • long, unattended autonomous runs — good for heavy jobs
  • sandbox with explicit permission control (file writes, network access)
  • good cost/effect ratio on well-defined packages
  • default sandbox blocks (e.g. network) must be configured deliberately
  • weaker interactively; the output still goes through the same gates — like everyone's
npm i -g @openai/codex github.com/openai/codex

Cheap rung of the ladderDeepSeek

Models with token costs orders of magnitude lower, OpenAI-API compatible. Role on the ladder: mechanical, well-defined tasks go to the cheap model; escalation to a stronger one happens only after a gate failure.

  • token cost orders of magnitude lower — simple changes nearly free
  • OpenAI-compatible API — plugs into existing lanes without rework
  • markedly weaker on reasoning-heavy tasks — the usage boundary must be hard
  • currently in reserve for us: simple tasks were taken over by cheaper subtasks of the interactive runtime
platform.deepseek.com api-docs.deepseek.com

Division of labour: decisions and orchestration — the interactive runtime; high-volume implementation — the headless runtime; mechanical changes — the cheapest model that passes the gates. Whatever the runtime, the same gates and the same evidence apply. On top of that, every PR revision is reviewed by an independent AI bot on GitHub — a voice from outside both ecosystems, treated as an opinion, not a gate verdict.

Let's talk about the tooling Process presentation → Results → Walkthrough demo → Adoption path → Process architecture → FAQ →