Skip to main content

Harness Profiles and Evaluation System

UPDATED 2026-07-15 3 min read EDIT ON GITHUB ↗

Applying the same depth of verification to every change wastes tokens, and flattening verification to a uniformly shallow level lets quality leak. MoAI-ADK’s answer is adaptive verification — automatically adjusting verification depth to the complexity of the SPEC, and entrusting evaluation to an independent evaluator rather than the party that built the change.

Overview

The MoAI-ADK harness is a 3-level adaptive quality verification system. It automatically adjusts verification depth according to SPEC complexity, and the sync-auditor agent performs an independent, skeptical quality assessment with 4-dimension scoring. Completion is judged by scores and evidence, not by “it seems done.”

The 3 Harness Levels

LevelDescriptionWhen appliedsync-auditor
minimalFast validationSimple changes (typos, config edits)Can be skipped
standardDefault quality checksMost workOptional
thoroughFull verification + TRUST 5Complex SPECs, large-scale changesRequired

The harness level is determined automatically by the Complexity Estimator based on SPEC scope. Not running thorough verification on a typo fix — that in itself is tokenomics.

4-Dimension Scoring

The sync-auditor scores four dimensions.

DimensionDescriptionMust-Pass by default
FunctionalityFunctional completeness — does it achieve the intended purposeYes
SecuritySecurity — OWASP, authentication, authorization, input validationYes
CraftCode quality — readability, structure, test coverageNo
ConsistencyConsistency — adherence to project rules and code styleNo

Score Range

Each dimension receives a score from 0.0 to 1.0.

Rubric Anchors

So that scores do not sway with the evaluator’s mood, every evaluation criterion has 4-level rubric anchors.

ScoreLevelMeaning
0.25Below barBasic requirements not met
0.50PartialPartially met, improvement needed
0.75MetMostly met, minor improvements
1.00ExcellentAll criteria fully met

Evaluation Profiles

Four profiles are provided in .moai/config/evaluator-profiles/. You can change the strictness of the evaluation criteria to match the nature of the work.

ProfileDescriptionBest suited for
default.mdBalanced default profileMost work
strict.mdStrict criteriaSecurity-critical work
lenient.mdLenient criteriaPrototyping
frontend.mdFrontend-specializedUI/UX work

Evaluator Bias Prevention (5 Mechanisms)

Left unattended, LLM evaluators tend to drift toward leniency. Five mechanisms work together to structurally suppress this.

#MechanismDescription
1Rubric anchoringEvery score requires a rubric justification
2Regression baselineDetects excessive score inflation relative to prior projects
3Must-Pass firewallMandatory criteria cannot be compensated by scores in other areas
4Independent re-evaluationIndependent re-evaluation every 5th run (recalibration when deviation > 0.10)
5Anti-pattern cross-checkWhen a known anti-pattern is found, the affected dimension is capped at 0.50

Evaluator Memory Scope

The evaluator’s judgment memory is transient per iteration. In each iteration of the GAN Loop, the sync-auditor restarts with a fresh context, and the judgment rationale from the previous iteration is not included in the new prompt. Only the Sprint Contract state persists across iterations. This design prevents the evaluator from anchoring on its own prior judgments and scoring by inertia.

Configuration

Configured in .moai/config/sections/harness.yaml.

yaml
harness:
  default_profile: "default"        # default for SPECs without an evaluator_profile
  evaluator:
    memory_scope: per_iteration     # FROZEN — do not change
  mode_defaults:
    solo: auto                      # sub-agent mode: auto-detect
    team: auto                      # team mode: auto-detect
    cg: thorough                    # CG mode: always thorough
  auto_detection:
    enabled: true
    rules:
      minimal:
        conditions:
          - "file_count <= 3 AND single_domain"
      thorough:
        conditions:
          - "security_keywords OR payment_keywords present"
  escalation:
    enabled: true
    max_escalations: 2
  effort_mapping:
    minimal:  "low"
    standard: "medium"
    thorough: "high"
  levels:
    thorough:
      evaluator: true
  • Harness Engineering — harness concept overview
  • TRUST 5 Quality — the five quality criteria
  • Constitution System — FROZEN/Evolvable rules
  • GAN Loop — iterative design-quality verification (the GAN Loop is an adversarial evaluator-discriminator loop, an iterative verification pattern for quality improvement)