ISSUE 014 shipped
shipped
2026-04-22 · ~14 min read
subject
Series-B fintech · 60 engineers · 58 repositories · sanitized
artifact
influence-conflict-detector.sh · v1.0.3
pair
Lightning Lesson 02 — live demo, 64 min, 312 attended
findings
11 · 1 high · 4 medium · 6 low

The autonomy rule that argued with itself, at scale.

A sixty-engineer fintech had been shipping a contradiction for six months. Two CLAUDE.md rules, opposite postures, both reaching the model on every session. The fix was small. The conversation wasn't.


From the case file · first person

The first time I ran influence-conflict-detector.sh against a client snapshot it found a single conflict in a single repo. We fixed it in an hour. I almost didn't write the script up — it felt small.

The second org I ran it against had forty-one conflicts in fifty-eight repos. Same root cause. Different scale. The detector had not changed; the surface area had. That is the whole point of this issue.

"AI strategy without an inventory is theater. We had thirty-eight months of strategy documents and zero visibility into what Claude was actually being told to do."

— Head of Engineering, sanitized client · field note 042

What the detector reads

Twelve lines. ripgrep over the CLAUDE.md hierarchy, normalize the rule postures into a small grammar, then check pairs of rules for opposition. Nothing clever.

# influence-conflict-detector.sh · v1.0.3 · MIT
rg -nP '^- ' --type-add 'cmd:*.md' -t cmd \
  ~/.claude ./ | awk '/CLAUDE.md/{print $0}' | \
  jq '.[] | normalize_posture' | bin/find-opposition

In the fintech case, the rule pair that fired most was "act autonomously when confident" in the global config against "propose changes for review before editing" in 41 of 58 project configs. Both written six months ago. Both authored by people who no longer worked there.

Why this kept shipping

Nobody had a list. The strategy doc described an aspirational AI adoption roadmap. The CLAUDE.md hierarchy described what was actually happening. Nobody held both at once.

The detector ran in six seconds. Producing the inventory took four. Reading what it surfaced took six weeks — because the conversation it forced wasn't a technical one. It was about whose mental model of "how we use Claude" was correct, and the answer was nobody's.

Pattern

Influence conflict at scale is invisible by default. Single-repo conflicts get caught by review. Org-wide conflicts only surface when someone runs the inventory. The inventory is not optional.

What I'd do next

Three things, in order. None of them are AI strategy. All of them are translation work.

  1. 01 · Run the inventory in the next 48 hours. Anywhere your org touches Claude. Get the count before the meeting.
  2. 02 · Pick one rule pair to resolve in public. The fix is twelve lines. The conversation is the artifact.
  3. 03 · Schedule the rerun. Two weeks. Same script. The diff between runs is your actual signal.

Issue 014 · 2026-04-22 · raisingagents.is/issue/014 · written by Deprecated · field notes from Zartis client engagement, sanitized with permission · companion to Lightning Lesson 02