Skip to content
← All work

Case study

Anvil

Paused prototype

An agentic diagnostics assistant for repair benches: small language models driving PowerShell tools, organised in tiers.

Status as of October 4, 2026: paused prototype. Architecture and an early Python CLI exist; no field testing, no public repo.

The problem

On a repair bench, the difference between a fast fix and a lost afternoon is usually what the most experienced tech knows to check first. That knowledge lives in people's heads, so it doesn't scale and it walks out the door.

Anvil is my attempt to package that know-how so a small AI agent can retrieve the right procedure, run the right checks through scripted tools, and walk a technician through the fix, while staying cheap, inspectable, and under the technician's control.

Architecture

1. Skill library

Diagnostic know-how lives in plain Markdown skill files: what to check, in what order, and what the result means. The skills are the asset; the model is replaceable infrastructure.

2. Tiered model routing

Start every step on the smallest language model that can handle it, and escalate to a larger model only when a step needs more reasoning. The goal is predictable cost and latency without giving up hard cases.

3. PowerShell action layer

The agent acts through PowerShell tools with structured JSON in and out under a published contract. The model never reads raw logs; it reads the tool’s summary.

4. Audit trail

Agent actions are written to a JSONL audit log, so a technician or reviewer can see what the agent did.

Design scenarios

The early prototype was shaped around common Windows bench cases:

  • BitLocker recovery
  • Slow boot with a SMART regression
  • Blue screen after an update

Why it matters

Most enterprise agent projects face the same trade-offs: cost per task, whether you can swap models, what the agent is allowed to touch, and whether anyone can audit what it did. Anvil's answers are small models first, knowledge kept outside the model, tools with a narrow contract, and a log of every action.

What this does not show

  • Field use on live repair tickets.
  • Measured cost, speed, or accuracy. There are no validated numbers yet, so this page quotes none.
  • A public repository or demo.

Stack

  • Python
  • PowerShell
  • Small language models
  • Tiered routing
  • BM25 retrieval
  • JSONL audit log