Skip to content

EXP-03 — Build Me a Job Runner

The job runner task (“run up to 3 concurrently”) pulls agents toward naked goroutines and global state — exactly the patterns the guide prohibits. This experiment tests whether NEVER rules hold when the task itself requires the anti-pattern.

[6,8,7]→[1,1,1]arch violations
unchangedanti-pattern violations

Architecture violations across 3 runs

Without guide With guide
───────────────────── ──────────────────────────────
Run 1: 6 arch violations Run 1: 1 arch violation
Run 2: 8 arch violations Run 2: 1 arch violation
Run 3: 7 arch violations Run 3: 1 arch violation

Anti-pattern violations across 3 runs

Without guide With guide
───────────────────── ──────────────────────────────
~3 AP per run ~3 AP per run
(unchanged) (unchanged)

Capabilities wired

Without guide With guide
───────────────────── ──────────────────────────────
(agent's discretion) http-api ✓ wired
platform ✓ wired
bootstrap ✓ wired
health ⚠ missing
validation ⚠ missing

Violations

Without guide With guide
───────────────────── ──────────────────────────────
arch violations: 6–8 ✗ arch violations: 1 ~ partial
naked_goroutine ✗ naked_goroutine ✗ (task requires it)
verikt check: FAIL verikt check: FAIL
Without guideWith guide
Arch violations[6, 8, 7][1, 1, 1]
Anti-pattern violations~3/run~3/run
Pass rate0/30/3

Two findings, not one.

Architecture violations: the guide works. [6,8,7] → [1,1,1] across all 3 runs — consistent improvement, not a fluke.

Anti-pattern violations: NEVER rules are text hints, not enforcement. When the task explicitly requires a pattern the guide prohibits, the task wins. The agent produces goroutines because you asked for concurrency.

Enforcement via verikt check in the CI feedback loop is the only reliable prevention for task-driven anti-patterns. The guide prevents architectural drift. It cannot override what the task demands.

  • Task: Build a job runner in Go — processes jobs, runs up to 3 concurrently
  • Agent: claude-sonnet-4-6
  • Runs: 3 per condition
  • Fixture: job-runner-stub (Mode A — greenfield)

→ Experiment Methodology — reproduction instructions

→ Artifacts on GitHub

→ EXP-04: Does it hold when adding to an existing service?