Ultrawork Loop
The evidence-first work discipline behind LazyCodex.
ultrawork는 LazyCodex가 긴 작업을 다룰 때 쓰는 규율입니다. 프롬프트에 ultrawork 또는 ulw가 들어가거나 $ulw-loop를 실행하면, 에이전트는 “끝난 것 같다”가 아니라 실행한 증거를 기준으로 완료를 판단합니다.
"계획하고, 실행하고, 검증하고, 증거를 함께 남긴다."
원칙은 단순합니다. 에이전트가 끝났다고 말한다고 해서 작업이 끝난 것이 아닙니다. 관측 가능한 증거가 검증될 때 비로소 끝난 것입니다.
What Ultrawork Enforces
ultrawork가 활성화되면, 하니스는 희망 섞인 "끝난 것 같다"로 만족하지 않습니다.
- 엄격한 TDD: RED → GREEN → SURFACE → CLEAN
- 작업 위험도에 맞춘 현실적인 QA 시나리오
- 실제 수동 QA 채널(HTTP 호출, tmux, 브라우저, computer use, CLI stdout, 데이터 diff)
- 작업이 진짜로 끝날 때까지 도는 구속력 있는 검증 게이트
Relationship to $ulw-loop
$ulw-loop는 ultrawork 규율을 Commands 형태로 꺼내 쓰는 방식입니다. 최신 흐름은 .omo/ulw-loop 아래에 요청, 목표, 성공 기준, 증거 원장을 남기면서 진행됩니다.
| 파일 | 역할 |
|---|---|
.omo/ulw-loop/brief.md | 원래 요청과 지속 제약 |
.omo/ulw-loop/goals.json | 목표와 성공 기준 |
.omo/ulw-loop/ledger.jsonl | pass, fail, block, steering, checkpoint 기록 |
작업이 끝났다는 말만으로는 부족합니다. 각 성공 기준마다 실제 표면에서 확인한 증거가 필요하고, 그 증거가 통과해야 루프가 멈춥니다.
정확한 문법과 플래그는 $ulw-loop 커맨드 문서에만 둡니다.
Failure Limits
루프는 영원히 돌지 않도록 제한됩니다. 최신 $ulw-loop 워크플로우는 아래 한도를 사용합니다.
| 기준 | 한도 |
|---|---|
| 한 goal에서 전체 통과 없이 반복 | 5사이클 |
| 같은 criterion의 같은 실패 | 3회 |
Evidence Over Hope
루프는 "코드를 좀 썼다"에서 멈추지 않습니다. 에이전트가 기대하는 상태 보고가 아니라 증거 — 어떤 검사가 돌았고 무엇을 보여줬는지 — 로 결과가 확인될 때 멈춥니다.
Position Among Commands
$ulw-loop는 Commands 중 하나이며, 각각 다른 형태의 작업을 위한 것입니다.
일반적인 흐름은 간단합니다. $ulw-plan이 의사결정 완료 계획을 만들고, $start-work가 체크박스 단위로 실행하며, $ulw-loop가 열린 작업을 검증자가 승인할 때까지 계속 돌립니다. 각 커맨드의 상세 문법은 Commands에 모아 둡니다.