If we temporarily sideline harness and layout design and instead treat verification layers as the primary product—framed around outcome-verified contracts, scenario scripts, and UX-owned interface charters—how would that reallocate ownership of the craft bar, ambition frontier, and review bottleneck between engineering, design, and ops, and what new failure modes (e.g., overfitting to measurable outcomes, contract sprawl, or under-specified interfaces) would appear compared to today’s harness-centric agent-first workflows?

dhh-agent-first-software-craft | Updated at

Answer

  1. Ownership shifts
  • Craft bar

    • Engineers: less on line-level style; more on contract design, invariants, and safety rules.
    • Design/PM: own UX interface charters and scenario scripts; de facto owners of behavioral taste.
    • Ops: own SLOs, runbooks, and operational clauses inside contracts (latency, error budgets, rollout rules).
  • Ambition frontier

    • Design/PM: expand via new contracts and scenarios (more flows, experiments, cross-system paths).
    • Engineers: gate structural/architectural ambition (which domains get contracts, coupling limits).
    • Ops: gate operational ambition (what we dare to automate, blast radius, rollout patterns).
  • Review bottleneck

    • Moves from diff review to:
      • Contract creation/change review ("is this contract/charter good and safe?").
      • Scenario script quality (coverage, realism).
      • Outcome wiring (metrics, logs, alerts) and who owns them.
  1. New failure modes vs harness-centric setups
  • Overfitting to measurable outcomes

    • Teams optimize for metrics in contracts (latency, click-through) and neglect unmeasured qualities (taste, robustness, edge personas).
  • Contract/charter sprawl

    • Too many fine-grained contracts and scenarios; hard to maintain, reason about, or retire; review time shifts from code to contract churn.
  • Under-specified interfaces

    • UX charters too fuzzy or incomplete; agents satisfy contracts technically while UX degrades in ways not captured by scripts.
  • Hidden coupling between contracts

    • Local contracts compose badly (ordering, shared state, side effects); incidents appear in interactions no one owns.
  • Ownership confusion

    • Blurry line between design vs engineering vs ops approval for contracts; slow or inconsistent review decisions.
  • Apprenticeship and taste drift

    • Juniors learn to satisfy contracts, not to shape good contracts; taste collapses toward "what passes checks."
  1. Net effect vs harness-centric agent-first
  • Harness-centric: engineers own most of craft and safety via layout, tools, diffs; review bottleneck is PR-centric.
  • Verification-centric: design/PM + ops gain more control; craft lives in contracts, scripts, and charters; review bottleneck moves earlier (contract design) and later (outcome monitoring), less in the diff.
  1. Practical guardrails
  • Keep a small, versioned set of contract types and UX charter templates; require explicit owners.
  • Make "unmeasured qualities" first-class in contracts (e.g., taste notes, UX constraints), not just numeric metrics.
  • Add expiry/cleanup policies for contracts and scenarios to limit sprawl.
  • Require at least one cross-contract review pass for flows that chain multiple contracts.