Summary
- Seed Spec:
docs/seed-spec-cocode.mdv3.0.2 (Status: DRAFT) - Evaluation Date: 2026-08-26 (8차 평가)
- Final Verdict: FAIL — Specification Gate 미통과
- 판정 근거: 모호성 점수 0.3125 (통과 기준 ≤ 0.2), Seed spec 미잠금(DRAFT)
- 개정 중단. 사유는 아래 "개정을 멈춘 이유" 참조
이 보고서는 게이트를 통과시키기 위한 문서가 아니라, 통과하지 못한 사실과 그 이유를 기록하기 위한 문서다. 여덟 차례의 독립 검증에서 확인된 것을 그대로 옮긴다.
Stage 1: Mechanical Verification — FAIL (8/10)
| ID | 항목 | 결과 | 비고 |
|---|---|---|---|
| M-01 | Seed spec 파일 존재 | ✅ PASS | docs/seed-spec-cocode.md |
| M-02 | Status LOCKED | ❌ FAIL | DRAFT 상태 — 잠금 조건(M-09 통과)이 충족되지 않아 잠글 수 없음 |
| M-03 | 핵심 문제 비어있지 않음 | ✅ PASS | §1 |
| M-04 | 불변 제약 1개 이상 | ✅ PASS | C-01~C-05 (5개) |
| M-05 | 도메인 엔티티 1개 이상 | ✅ PASS | Workspace, DelegatedTask, EditSnapshot (3개, 각각 속성·관계·불변식 보유) |
| M-06 | 인수 경계 Must 1개 이상 | ✅ PASS | 18개 (v2.0.0에서 NFR-NN 병용을 폐지하고 AC-NN으로 통일) |
| M-07 | 인수 경계 Must-Not 1개 이상 | ✅ PASS | AC-04, AC-05 |
| M-08 | 노출된 가정 3개 이상 | ✅ PASS | A-01~A-07 (7개) |
| M-09 | 모호성 점수 기록 | ❌ FAIL | 0.3125로 기록되어 있으나 통과 기준 0.2를 초과 |
| M-10 | 버전 SemVer 형식 | ✅ PASS | v3.0.2 |
M-02와 M-09는 서로 연결되어 있다 — 모호성 기준을 통과하지 못해 잠글 수 없고, 잠기지 않아 M-02가 실패한다. 나머지 8개 항목은 8차 감사에서 전부 통과 확인됐다(5개 제약, 완전 명세된 엔티티 3개, AC-NN 식별자와 유효한 PENDING 상태를 가진 Must 18 + Must-Not 2, 가정 7개, 유효한 SemVer).
Stage 2: Semantic Verification — FAIL
2a. 모호성 점수 — FAIL
| 버전 | 어휘 | 지시 | 완전성 | 일관성 | 검증가능성 | 종합 | 판정 |
|---|---|---|---|---|---|---|---|
| v1.0.0 | 0.75 | 0.75 | 0.75 | 0.50 | 0.25 | 0.625 | UNCLEAR |
| v1.1.0 | 0.75 | 0.75 | 0.75 | 0.25 | 0.25 | 0.4125 | AMBIGUOUS |
| v1.2.0 | 0.40 | 0.45 | 0.40 | 0.55 | 0.60 | 0.47 | AMBIGUOUS |
| v2.0.0 | 0.40 | 0.30 | 0.40 | 0.50 | 0.45 | 0.4075 | AMBIGUOUS |
| v2.1.0 | 0.50 | 0.55 | 0.45 | 0.60 | 0.35 | 0.4975 | AMBIGUOUS |
| v3.0.0 | 0.45 | 0.35 | 0.45 | 0.55 | 0.35 | 0.435 | AMBIGUOUS |
| v3.0.1 | 0.45 | 0.30 | 0.40 | 0.45 | 0.50 | 0.4175 | AMBIGUOUS |
| v3.0.2 | 0.35 | 0.30 | 0.25 | 0.35 | 0.30 | 0.3125 | AMBIGUOUS |
통과 기준은 0.2 이하다. 여덟 버전 모두 미달이다. 다만 마지막 라운드는 전체 이력에서 가장 큰 단일 개선이었고(0.4175 → 0.3125), 처음으로 0.4 아래로 내려갔으며, 다섯 개 차원이 동시에 개선된 유일한 경우다.
도달 가능한 천장에 대한 감사 판정 (7차): 7차 감사에 "0.2가 이 문서 유형에서 도달 가능한가"를 직접 물었고, 답은 다음과 같다.
- 문서 유형이 깐 바닥은 0.0775 — Testability ~0.25(측정 조건을 Planning으로 의도적으로 이관했으므로 재현성 만점 불가), Completeness ~0.20(성능 기준을 내보낸 문서는 0.0 대역을 만족할 수 없음)
- 나머지(가중치 0.65)는 전부 책상에서 고칠 수 있음 — "측정도 코드도 한 줄 필요 없다"
- 전량 수정 시 예상: 0.155~0.165 (CLEAR)
즉 0.2 미달의 원인은 문서 유형이 아니라 문서 위생이다. 8차(v3.0.2)는 이 목록을 실행해 0.4175 → 0.3125 로 개선했으나 예상치에는 도달하지 못했다.
2b. Contrarian 검토 — 조건부 통과
- 총 반론 36건 (Critical 등급 식별자 15개, Major 16, Minor 5)
- 해소 14 / 위험 인수 1 (CH-009) — 상세:
docs/contrarian-review-cocode.md - 미해소 Critical 0건이나, CH-009는 "해소"가 아니라 "위험 인수"임을 명시적으로 기록했다(의사결정 일지 D-011)
Contrarian 판정은 세 차례 적대적 감사를 거쳤고, 그 과정에서 작성자의 해소 주장 3건이 기각되었다(CH-009·CH-011·CH-030). 기각 사유와 정정 내용은 Contrarian 보고서 말미 "적대적 감사 이력"에 기록되어 있다.
2c. Simplifier 검토 — 통과(제안 반영 완료), 복잡도는 여전히 Excessive
| 버전 | 복잡도 | 판정 |
|---|---|---|
| v1.0.0 | 29.5 | Caution |
| v1.1.0 | 34.5 | Excessive |
| v1.2.0 | 42.5 | Excessive |
| v3.0.0 | 42.0 | Excessive |
| v3.0.1 | (미측정) | — |
| v3.0.2 | 46.0 | Excessive (역대 최고) |
제안 3건(S-001·S-002·S-003) 전량 수용 완료(의사결정 일지 D-009).
복잡도가 역대 최고인 이유: v3.0.0의 계층 축소(§4를 범위 경계로 환원)가 검증 표면을 줄였으나, v3.0.1·v3.0.2에서 커버리지 공백을 메우려 AC 4개(AC-17~20)와 엔티티 속성·불변식을 추가하면서 그 이상으로 되돌려놨다. 8차 감사 표현: "v3.0.0의 계층 축소가 줄이려던 검증 표면을 v3.0.1/v3.0.2의 추가가 더 크게 되돌려놨다."
Stage 3: Consensus Verification — 미실시
Stage 1·2를 통과하지 못했으므로 실시하지 않았다. 평가 프로토콜은 단계를 순차 실행하며, 앞 단계 미통과 시 다음 단계로 진행하지 않는다.
개정 이력 전체 (8라운드)
cc-spec 평가 프로토콜의 수정·재평가 루프(L-spec.evaluate-outer-fix-reevaluate)는 bound: 2, Seed spec 진화는 max_evolution_per_cycle: 3으로 제한된다. 실제 소진은 그 두 배를 훨씬 넘겼다.
| 라운드 | 산출 | 모호성 | 결과 |
|---|---|---|---|
| 1 | v1.1.0 | 0.625 → 0.4125 | 감사가 작성자의 Critical 해소 주장 3건 기각 |
| 2 | v1.2.0 | → 0.47 (악화) | 신규 Critical 3건, 내부 모순 11건 |
| 3 | v2.0.0 | → 0.4075 | 삭감 재작성. 근거 없는 수치 11건 잔존, 사실 오류 3건 |
| — | v2.0.1 | (미측정) | 확인된 사실 오류·우회 경로 정정 |
| 4 | v2.1.0 | → 0.4975 (악화) | Planning 입력 7건 확정. 내부 모순 17건, 자기 문서에 대한 허위 서술 1건 |
| 5 | v3.0.0 | → 0.435 | 계층 환원(§4를 범위 경계로). 17건 중 13건 해소, §4 출처 없는 수치 최초 0건 |
| 6 | v3.0.1 | → 0.4175 | 위성 문서 정리. v3.0.0이 고친 정렬을 다시 깨뜨림 |
| 7 | v3.0.2 | → 0.3125 | 감사의 항목별 목록 실행. 14건 중 11건 반영. 최대 단일 개선, 최초로 0.4 아래 |
상한을 네 배 초과했다. 프로토콜의 exhaust 조항은 "경고 후 통과" 금지와 사람에게 에스컬레이션을 규정한다. 이 보고서가 그 에스컬레이션이다.
개정을 멈춘 이유
마지막 라운드가 가장 성공적이었음에도 멈춘다. 근거는 세 가지다.
1. 고치는 속도만큼 만든다. 8라운드 내내 같은 패턴이 독립 감사로 확인됐다 — 지적된 항목은 고쳐지지만 같은 결함 유형의 새 사례가 생긴다. v3.0.2도 예외가 아니었다: AC 행 순서를 뒤바꿨고, 없는 저장소 슬러그를 출처에 적었으며, 같은 감사에 두 개의 다른 점수를 기록했다. v3.0.1은 v3.0.0이 고친 Evolution Log 정렬을 되돌려놨다.
2. 검증 표면이 계속 자란다. 복잡도 29.5 → 46.0(역대 최고). 커버리지 공백을 메우려면 항목을 추가해야 하고, 추가된 항목이 새 검증 표면이 되며, 그 표면에서 새 결함이 나온다. v3.0.0의 계층 축소가 이 순환을 끊으려던 시도였으나 이후 두 라운드가 그 이상으로 되돌렸다.
3. 남은 것은 문서 작업이 아니다. 8차 감사가 남긴 결함은 대부분 판정 주체가 정해지지 않아서 생긴다 — 어떤 파일이 "테스트 파일"인지(C-05), 어떤 편집에 자가 검증 ①~④가 "적용 불가"한지(AC-09), 프로바이더 응답 불가를 무엇으로 "감지"하는지(AC-20). 이것들은 문구를 고쳐 정해지지 않고 설계 결정으로만 정해진다.
그럼에도 실질적으로 나아진 것 (8차 감사 확인)
- 기계 검사 M-02(미잠금)를 제외한 8개 항목 전부 통과
- Seed spec의 모든 외부 인용이 실제로 해석됨 — Discovery·Socratic·Contrarian·D-001~D-020·planning-inputs·cc-product 설정까지 감사가 직접 대조
- §4의 모든 수치가 출처표로 추적됨 (v3.0.0에서 최초 달성, 이후 유지)
- C-04 전환 조항에 인수 기준 부여(AC-17) — 이 스펙에서 가장 중요한 안전 동작이 8라운드 동안 검증 불가 상태였다
- 오류 시나리오 3종 커버(AC-18·19·20)
반복된 실패 패턴 (기록용)
- 근거 없는 수치 생성.
p95 16.7ms·설치 150MB·결함 30건·검출률 80%·10분. v1.2.0은 근거 없는 수치를 제거하겠다고 선언한 그 개정에서 새 수치 6개를 도입했다. - 자기 인용 루프. v1.1.0에서 만든 값을 v2.0.0에서 "업계 표준"으로 인용했다.
- 과잉 주장. 해소되지 않은 것을 해소했다고 기록(CH-009). 완전하지 않은 목록을 완전하다고 제시(출처표, 3회 반복).
- 인용 오류. 존재하지 않는 절 인용(
Discovery §번들 해부,Discovery §Market Analysis의 Orca — 실제 Orca 언급 0회). 인용을 고쳤다고 기재한 개정에서 같은 오류 반복. - 허위 자기 서술. v2.1.0이 AC-07에 시간 상한 조항이 있다고 서술했으나 v2.0.1이 이미 제거한 상태였다. 결과적으로 매달린 검증을 판정할 기준이 없는데 있다고 기록했다.
판정과 권고
Specification Gate: 미통과 (FAIL).
Planning 단계로 진행할 경우, 다음을 전제로 한다:
- Seed spec은 DRAFT 상태로 남는다. 잠기지 않았으므로 후속 단계는 이 문서를 확정된 계약이 아니라 작업 가설로 취급해야 한다.
docs/planning-inputs-cocode.md가 Planning의 필수 입력이다. 확정 결정 6건과 미결 5건이 정리되어 있다.- 판정 주체가 미정인 3건은 설계 결정으로만 풀린다 — "테스트 파일"의 정의(C-05·AC-11), 자가 검증 ①~④의 "적용 불가" 판정 규칙(AC-09·C-04 ⑤), 프로바이더 응답 불가의 감지 기준(AC-20). Design 단계에서 이 셋을 정하면 관련 AC가 비로소 기계적으로 판정 가능해진다.
- C-04 전환 조항이 안전 기본값으로 작동한다. A-02의 합격 기준이 Planning에서 설정되지 않으면, 기본 완료 모드는 자동으로 "사람 승인 후 완료"가 된다 — 미결정이 위험한 쪽으로 기울지 않도록 설계된 조항이다.
- 잔여 위험 인수 항목 5건(CH-009·CH-003·CH-008·CH-022·CH-035)은 Contrarian 보고서에 재검토 시점과 함께 기록되어 있다.
Planning 단계에서 위 9개 항목이 실측·결정으로 채워지면, /cc-spec:score 재평가와 /cc-spec:verify --lock으로 게이트를 재시도할 수 있다.
Generated by cc-spec 3-stage evaluation protocol · 2026-08-26 · 대상: seed-spec-cocode.md v3.0.2 (8차 평가, 개정 중단)