2 Home
github-actions[bot] edited this page 2026-04-15 02:46:54 +00:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

id title sidebar_label last_generated
cheatsheet Cheatsheet Cheatsheet 2026-04-14

Trigger Phrases

Skill Trigger Phrases
harness-orchestrator "start a new project", "spin up the harness", "bootstrap a project", "run the harness", "enhance this project", "refactor this codebase", "fix up this app", user provides a full-project prompt
harness-orchestrator (resume) "resume the harness", "continue the build"
harness-auditor called by orchestrator (existing projects); or "re-run the auditor"
harness-planner called by orchestrator; or "re-run the planner", "regenerate a spec"
harness-builder called by orchestrator; or "re-run QA on the current sprint"
harness-evaluator called by orchestrator; or "re-run QA on an existing build"
harness-brief standalone brief generation

Phase Flow

GREENFIELD                              EXISTING PROJECT
─────────────────────────────────────   ──────────────────────────────
Phase 0  Elicit brief                   Phase 0  Elicit brief
           → PROJECT_BRIEF.md                      → PROJECT_BRIEF.md
Phase 1  Init .harness/                 Phase 1A Auditor
           → config.yaml                           → CODEBASE_AUDIT.md
                                                   [GATE: review audit]
Phase 2  Planner                        Phase 2  Planner (delta mode)
           → PRODUCT_SPEC.md                       → PRODUCT_SPEC.md
           [GATE: approve spec]                    [GATE: approve spec]
                ↓ spec approved: touch .graduate, autopilot.enabled: true
Phase 3  Builder (per sprint)           Phase 3  Builder (Sprint 0: housekeeping)
           SPRINT_CONTRACT.md                      then feature sprints
           → code + evaluator                      → code + evaluator
           → QA_REPORT.md                          → QA_REPORT.md
           (fail? retry, max 2)                    (fail? retry, max 2)
Phase 4  Polish (up to 15 iterations)
           Builder refinements → Evaluator → POLISH_REPORT.md
           → append POLISH_HISTORY.md
           (plateau? pivot conditions)
           (all ≥ thresholds → Phase 5)
Phase 5  Final QA Gate → QA_REPORT.md
Phase 6  Completion → HANDOFF.md
           [GATE: user accepts or requests changes]
           (runner mode: write COMPLETE, exit)

config.yaml Keys

Key Type Default Description
harness_version int 1 Schema version
project_mode enum greenfield | enhance | refactor | rescue
eval_mode enum playwright | automated-tests | manual-gates | hybrid
stack string pending Filled by planner or auditor
max_sprint_retries int 2 Builder/evaluator loops per failed sprint
qa_pass_threshold.functionality int 7 Sprint pass floor
qa_pass_threshold.design_quality int 6 Sprint pass floor
qa_pass_threshold.code_quality int 6 Sprint pass floor
qa_pass_threshold.product_depth int 6 Sprint pass floor
unattended bool false Set by run-harness.sh; skips all manual gates
manual_gates.after_audit bool true Pause for user after audit (existing projects)
manual_gates.after_spec bool true Pause for user after spec
manual_gates.after_each_sprint bool false Pause for user after each sprint
manual_gates.after_final_qa bool true Pause for user after final QA
polish.enabled bool true Enable iterative polish phase
polish.max_iterations int 15 Maximum polish iterations
polish.plateau_window int 3 Iterations to average for plateau detection
polish.plateau_threshold float 0.5 Avg improvement/iter below this = plateau
polish.pivot_after_stagnant int 3 Stagnant iterations before pivot eligible
polish.context enum pending frontend | backend | fullstack — set by orchestrator
polish.base_thresholds.* int same as qa Starting thresholds for polish
polish.threshold_step int 1 Threshold increase per interval
polish.threshold_interval int 4 Iterations between threshold raises
polish.threshold_overrides map {} Per-criterion step override, e.g. {design_quality: 2}
autopilot.enabled bool false Set when .graduate is written; skips gates
autopilot.design_question_timeout int 1800 Seconds before auto-default is applied (30 min)
autopilot.interactive_step_limit int 4 Major steps before checkpointing
autopilot.graduation_trigger string spec_approved Event that writes .graduate

.harness/ Files

File Writer Reader Purpose
config.yaml Orchestrator + Planner + Auditor All Settings, thresholds, mode
PROJECT_BRIEF.md Orchestrator Auditor, Planner User intent, constraints
HANDOFF.md Orchestrator Orchestrator (resume) State: last done, next steps, polish state
PROGRESS.md Orchestrator (append) Orchestrator (reconcile) start/done trail for interrupted-step detection
CODEBASE_AUDIT.md Auditor Planner, Builder, Evaluator Existing codebase analysis
PRODUCT_SPEC.md Planner Builder, Evaluator What to build
CALIBRATION.md Planner / user Evaluator Project-specific score anchors
SPRINT_CONTRACT.md Builder Evaluator This sprint's criteria and builder notes
QA_REPORT.md Evaluator Builder (retry), Orchestrator Sprint scores and feedback
POLISH_REPORT.md Evaluator (polish) Builder (polish), Orchestrator Sub-criteria scores, pivot suggestion
POLISH_HISTORY.md Orchestrator (append) Evaluator (drift) Score history across polish iterations
DESIGN_QUESTION.md Orchestrator (autopilot) User, runner Product/taste decision with options + default
DESIGN_ANSWER.md User / runner (auto) Orchestrator Answer to design question
COMPLETE Orchestrator run-harness.sh Signals successful completion
STOP User run-harness.sh Stop runner after current session
.runner run-harness.sh Orchestrator Runner mode marker
runner.log Runner + orchestrator Developer Session activity log

run-harness.sh Flags

Flag Default Description
--max-iterations N 30 Max sessions before stopping
--verbose, -v off Stream Claude output to terminal
--watch, -w Colorized live tail of runner.log
--help, -h Show help

Exit codes: 0 = complete, 1 = max iterations hit, 2 = stopped by user, 3 = claude not found

Stop: touch .harness/STOP or Ctrl+C

Resume: re-run the same command — picks up from HANDOFF.md

Cost Reference

Phase Cost Duration
Auditor $15 515 min
Planner $0.502 310 min
Builder (per sprint) $2070 30120 min
Evaluator (per sprint) $35 510 min
Polish (per iteration) $1025 2045 min
5-sprint app, 1 retry $100200 816 h