Skip to content

BATTLE.MD — Native orchestration/comparison document

A BATTLE declares a comparison between two or more participants — lenses, lensers, colenses, teams, models, prompts, or humans — under a shared evaluation. BATTLE.MD is its native form, validated by lenserfight validate and run by lenserfight battle run.

Filename

  • Canonical: BATTLE.MD
  • Container: battles/<slug>/BATTLE.MD

Required frontmatter

Compact native form:

KeyTypeNotes
namestringDisplay name
descriptionstringShort comparison goal
participants[] or one of lenses, colenses, lensers, teams, evals, scoring, comparisonarrayAt least one orchestration reference is expected (warning if missing)

Each participants[i] is an object with required string fields type and ref. See validateBattleReferences in automation-objects.ts.

Required sections (legacy strict mode)

When kind: and schema_version: are present:

  • # Purpose
  • # Participants
  • # Evaluation
  • # Report

Battle reference validation

Discovery walks participants[] and contenders[], normalising legacy agentlenser, workflowcolens, evalevaluation. Each reference (other than ai_model, model, human, prompt) must point to a discovered object in the workspace; otherwise validation errors with battle.participants.

Canonical template

bash
lenserfight export battle --template --out .lenserfight/battles/example/BATTLE.MD
yaml
---
name: implementation-battle
description: Use when comparing LENS, COLENS, LENSER, team, model, or human outputs against shared evals.
participants:
  - type: lens
    ref: ../lenses/example-lens/LENS.MD
---

# Purpose
State the comparison goal and decision this BATTLE should support.

# Participants
List LENS, COLENS, LENSER, team, model, prompt, or human contenders.

# Evaluation
Define evals, scoring method, judges, and tie handling.

# Report
Define the result format and what evidence must be included.

Running locally

bash
lenserfight battle run ./BATTLE.MD