Skip to main content
← All Patterns

Pattern

Crystallization

Encode human judgment into configurable constraints. AI executes within those constraints. One expert's judgment scales through AI execution.

"Your judgment, crystallized."

— CREATE SOMETHING

Definition

Crystallization is the process of encoding human judgment—taste, philosophy, domain expertise—into configurable constraints that AI agents can execute. The expert doesn't disappear; they become infrastructure.

This is curated autonomy: the human decides the boundaries, the AI works within them. Unlike "autonomous organizations without humans in the loop," crystallization keeps human judgment central—it just doesn't require human presence for every decision.

A legal expert crystallizes contract review criteria. A finance expert crystallizes audit trail requirements. A designer crystallizes aesthetic principles. The AI executes these judgments at scale.

"The question is not 'can AI do this?' but 'what judgment should guide how AI does this?'"

Curated Autonomy vs. Full Autonomy

Curated Autonomy

Human judgment crystallized into constraints. AI executes within boundaries.

  • • Expert encodes quality criteria
  • • AI executes at scale
  • • Judgment persists across sessions
  • • One human serves many
  • • Constraints evolve with learning

Full Autonomy

"No humans in the loop." AI makes all decisions.

  • • No quality criteria encoding
  • • AI decides what "good" means
  • • No domain expertise transfer
  • • Humans are replaced, not scaled
  • • Black box decision-making

The difference: Crystallization answers "who decides what good looks like?" with "the human expert, once, forever." Full autonomy answers "the AI, every time, alone."

What Gets Crystallized

Model Routing

Which AI model handles which task. Cost optimization meets capability matching.

modelRouting:

patterns:

haiku: [rename, typo, format]

opus: [architect, design, refactor]

sonnet: [add, update, fix]

Quality Gates

What must pass before work is considered complete. Domain-specific criteria.

# Legal domain example

qualityGates:

custom:

- name: contract-validation

command: pnpm run validate:contracts

canBlock: true

Review Criteria

What reviewers look for. Security, architecture, quality—with custom prompts.

reviewers:

reviewers:

- id: compliance

type: custom

prompt: ./reviewers/compliance.md

canBlock: true

Label Taxonomy

How work is categorized. Reflects organizational structure and priorities.

labels:

scope: [agency, io, space, ltd]

type: [feature, bug, refactor, research]

Domain Examples

Legal

Contract review, compliance checking, redaction validation.

✓ contract-validation: Check clause requirements

✓ redaction-check: Verify PII removal

✓ compliance-review: Regulatory requirements

Finance

Audit trails, calculation verification, regulatory compliance.

✓ audit-trail: Ensure transaction logging

✓ calculation-verify: Validate financial math

✓ sox-compliance: SOX requirement checks

Manufacturing

Tolerance verification, BOM validation, quality control.

✓ tolerance-check: Verify specifications

✓ bom-validation: Bill of materials accuracy

✓ qc-inspection: Quality control criteria

Design

Canon compliance, accessibility, animation auditing.

✓ canon-audit: Design token compliance

✓ a11y-check: WCAG requirements

✓ motion-review: Animation purposefulness

Implementation

The Harness Config

Place harness.config.yaml in your project root. The harness auto-discovers and applies it.

version: "1.0"

modelRouting:
  default: sonnet
  complexity:
    trivial: haiku
    simple: sonnet
    standard: sonnet
    complex: opus
  patterns:
    haiku: [rename, typo, format]
    opus: [architect, design, refactor]

qualityGates:
  enabled: true
  builtIn:
    tests: true
    typecheck: true
    lint: true
  custom:
    - name: your-domain-check
      command: pnpm run validate
      canBlock: true

reviewers:
  enabled: true
  reviewers:
    - id: security
      type: security
      enabled: true
      canBlock: true
    - id: domain-expert
      type: custom
      prompt: ./reviewers/domain.md

Usage

# Auto-discovers config

harness work cs-xyz

# Explicit config

harness start spec.yaml --config custom.yaml

Philosophy

Crystallization is the Subtractive Triad applied to human judgment itself:

DRY (Implementation): Encode judgment once, execute many times. Don't repeat the same quality decision for every task.

Rams (Artifact): Only crystallize judgment that earns its existence. Not every preference needs to be a constraint.

Heidegger (System): Crystallized judgment should serve the whole. Constraints that don't serve users get removed.

The hermeneutic circle applies: the crystallized config informs AI execution, AI execution reveals what needs crystallizing, which refines the config. Understanding deepens through the cycle.

"The goal is not to remove humans from the loop, but to make human judgment scale without requiring human presence for every decision."

When to Apply

Apply When

  • • Expert judgment should scale
  • • Quality criteria are domain-specific
  • • AI is executing, not deciding strategy
  • • Consistency matters across executions
  • • You want to serve many without being present

Balance With

  • • Novel situations need fresh judgment
  • • Over-constraint kills exploration
  • • Some decisions should remain human
  • • Crystallized != frozen (evolve the config)