Case studies
Long reads on production migrations: the plan, the challenges, how we solved them, and the numbers.
tether: AI coding agents on a short leash
Two Claude Code plugins: guards, approval gates, local telemetry and evals for any agent, plus Angular/Nx agents and skills built on 25 rules with stable ids.
Migrating a production Angular app to Nx in twelve days
18 domain folders and 28 NgModules became 42 tagged libraries behind an ESLint-enforced boundary, with feature work still merging.
Where does this file go? The folder structure of an Nx Angular workspace
Two tags per library, features sliced by screen, data-access kept by kind, an empty app, and the checks that hold the shape.
Folders should name the business, not the framework
Why components/ and utils/ belong only in libraries for developers, like a UI kit, and what our git history said about the rest.
Porting a React design system to Angular: 69 components in two days
Plain CSS tokens, Signal Forms, CDK overlays, a preview app for designers, accessibility as tests, and the day Figma disagreed.
The harness: running AI agents on a production Angular codebase
Rules, skills, eight agent roles, hooks, a verification script, token ledgers, and the audit that cut the harness’s own cost.
Working with agents
Notes on running AI agents safely, cheaply and with evidence.
One plugin per job: rules, workflow, guards
Splitting the harness into three plugins with one job each, what we borrowed from GitHub and under which licence, and five workflow changes read straight out of our own run reports.
Two memories and a guard rail
claude-mem with guardrails, tether hooks that finally fired, and a harness score out of 50 that moved from 38 to 45 in two days.
Telemetry and evals: how we know the harness works
One OpenTelemetry container on localhost, a seven-panel dashboard, two kinds of eval, and what the first full run taught about fixtures and the runner.
One agent, one worktree
Nine agents in one checkout gave us a red build most of the time. Why each agent needs its own git worktree.
Measure your AI reviewers
Per-task reviewers found about one code-changing issue per 100k tokens; one branch-wide review found about four.
Hooks over prose
Four small hooks replaced paragraphs of rules, and a deny list closed the doors they could not.
Context and decisions
What to keep in an agent’s context, what to write down, and where.
Your rules file is a changelog
5,362 words, 79 dates and 15 facts in up to 12 disagreeing places, cut to 2,170.
Stop at 80 % context
Auto-compaction lost agent IDs and a finished task was dispatched again. A ledger, a handover and one rule.
“Cost if wrong” on every ruling
One extra clause per decision made two architecture reversals a sentence instead of an argument.