동결 일자: 2026-08-13 — 커밋
cd353d1.이 시점 이후 상태 변경 없음. 이 저장소는 아카이브되며 후속 개발을 하지 않는다.
[미확인] 27건은 미확인으로 종료됐다. 확인하지 않은 것이며, 유효한지 아닌지에 대한 근거가 없다. 해소된 것으로 읽지 마라 — 아무도 보지 않았다는 뜻이다.
종료 사유와 통계는
docs/archive/2026-08-13/ARCHIVE.md, 결함 유형은docs/archive/2026-08-13/LESSONS.md.
작성 기준: 2026-08-13, 커밋 097681b 이후. 번호 실측 최대값 P0-16 / P1-61.
- 상태는
최종 갱신 문서가 내린 판정을 그대로 옮긴 것이다. 그 문서 이후 재확인하지 않았다. - ★ 표시는 2026-08-13 이 세션에서 코드 또는 실행으로 직접 확인한 것이다. 나머지는 문서 인용이다.
- ◆ 표시는 동결 이후(2026-08-14) 코드로 판정된 것이다. 27건 전부에 붙어 있다. 상태 칸은 동결 규칙에 따라 [미확인] 그대로이며, 판정은
runs/2026-08-14/unchecked-27-adjudication.md가 보유한다. 그 문서를 읽지 않고 이 표만 보면 "아무도 안 봤다"로 읽히는데, 그것은 이제 사실이 아니다. - 확인되지 않은 것은 **[미확인]**으로 둔다. 추측으로 채우지 않는다.
- 상태값:
미해소/부분해소/해소/재현안됨/정의확정필요/미확인 - 등급이 바뀌어도 ID는 유지한다 (
CONVENTIONS.md§7). 등급은 아래 「현재 등급」 열이 유일한 근거다.
아래 표의 행을 직접 세어 채웠다. P0-17(미사용)은 결함이 아니므로 제외한다.
| 상태 | 건수 | 내역 |
|---|---|---|
| 해소 | 25 | P0-2·4·5·7·8·9·10·11·12·13·14·15·16 + P1-4·34·37·38·40·42·43·44·48·49·53·61 |
| 부분해소 | 8 | P0-1·3·6 + P1-3·32·35·41·60 |
| 재현안됨 | 1 | P1-27 |
| 미해소 | 15 | P1-2·15·17·45·46·47·50·51·52·54·55·56·57·58·59 |
| 미해소(수용된 한계) | 1 | P1-28 |
| 미확인 | 27 | P1-1·5·6·7·8·9·10·11·12·13·14·16·18·19·20·21·22·23·24·25·26·29·30·31·33·36·39 |
| 합계 | 77 | P0 16 + P1 61 |
◆ [미확인] 27건은 동결 이후 2026-08-14에 전수 판정됐다. 결과는 유효 21 / 해소 3(P1-9·P1-16·P1-36) / 무효화됨 1(P1-14) / 부분해소 2(P1-5·P1-39) 이며, 근거는 전부 파일:라인으로 runs/2026-08-14/unchecked-27-adjudication.md에 있다. 위 건수와 각 행의 상태 칸은 동결 규칙에 따라 바꾸지 않았다 — 재집계는 동결을 푸는 결정이 선행돼야 한다. 그 표에 따르면 P1-14는 이미 2026-08-12/SUMMARY.md가 [무효화됨]으로 판정한 것을 이 등재부가 옮기지 않은 경우였다.
▲ P1-21은 동결 이후 CI에서 확인됐고 유효한 결함이다. 상태 칸은 동결 규칙에 따라 [미확인] 그대로 두었으므로 아래 건수도 변하지 않는다. 확인 근거는 runs/2026-08-13/ci-first-run.md가 보유한다 — 등재부만 읽고 지나치지 않도록 행과 이 문단 양쪽에 표시한다.
건수는 표의 행을 파싱해 센 값이다(P0-17 미사용 제외). 「수용된 한계」를 미해소와 섞지 않고 분리한 것은 둘이 다른 것이기 때문이다 — 하나는 고칠 대상이고 하나는 고치지 않기로 한 결정이다.
77건 중 27건(35%)이 [미확인]이다. 앞선 집계는 39건(51%)이었고, runs/2026-08-13/stranded-findings-triage.md가 12건을 확정해 줄였다.
그 조사의 결과가 이 등재부의 성격을 보여준다 — 방치된 11건 중 8건은 이미 해소돼 있었다. 고친 커밋은 38cf9c9(S3)와 5055cf3(리뷰)이고, 둘 다 등재부를 갱신하지 않아 8건이 [미확인]으로 남아 있었다. 남은 [미확인] 27건도 같은 상태일 수 있으며, 확인하지 않은 것과 유효한 것은 다르다.
우선순위는 runs/2026-08-13/stranded-findings-triage.md §B-3에 4개 군으로 정렬돼 있다.
| ID | 요약 | 현재 등급 | 상태 | 최초 등재 | 최종 갱신 |
|---|---|---|---|---|---|
| P0-1 | 에이전트 실행 강제 (파일 범위·명령 정책·자격증명) | P0 | 부분해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-2 | Objective 큐 게이트 | P0 | 해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-3 | 중복·동시 실행 | P0 | 부분해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-4 | 실행 격리·롤백 | P0 | 해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-5 | taskRevision 추적 체인 | P0 | 해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-6 | 타임아웃·출력 상한 (win32 한정 검증) | P0 | 부분해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P0-7 | 격리 시 증거가 엉뚱한 트리에서 수집됨 | P0 | 해소 ★ | 2026-08-11/07-new-defects.md |
runs/2026-08-13/first-full-loop.md |
| P0-8 | 격리 트리 미폐기·미반영 | P0 | 해소 ★ | 2026-08-11/07-new-defects.md |
runs/2026-08-13/first-full-loop.md |
| P0-9 | 큐 게이트 fail-open | P0 | 해소 | 2026-08-11/07-new-defects.md |
2026-08-12/SUMMARY.md |
| P0-10 | Harness 자식 프로세스에 경계 없음 | P0 | 해소 | 2026-08-11/07-new-defects.md |
2026-08-12/SUMMARY.md |
| P0-11 | 신규 파일 내용 소실 | P0 | 해소 | 2026-08-11/07-new-defects.md |
2026-08-12/SUMMARY.md |
| P0-12 | 프로파일 가드레일이 승인 해시 밖에 있어, 승인자가 본 것과 다른 가드레일로 실행된다 | P0 | 해소 ★ | 2026-08-12/11-model-conformance.md |
runs/2026-08-13/first-full-loop.md |
| P0-13 | Objective relation 없이 Run이 실행된다 | P0 | 해소 ★ | 2026-08-12/11-model-conformance.md |
runs/2026-08-13/stranded-findings-triage.md |
| P0-14 | Objective relation이 실행되는 revision을 가리키지 않는다 | P0 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P0-15 | relation의 revision·hash가 Task 원장과 대조되지 않는다 | P0 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P0-16 | 읽을 수 없는 Task 원장이 빈 원장으로 읽혀 승인이 그 위에 쌓인다 | P0 | 해소 ★ | 2026-08-12/15-new-module-review.md |
runs/2026-08-13/stranded-findings-triage.md |
| P0-17 | 미사용 — P1-50 승급 시 ID를 유지했으므로 비어 있다 | — | — | — | 2026-08-13/13-output-fidelity.md |
- P0-7·P0-8:
runs/2026-08-13/first-full-loop.md— 격리 Run의changedFiles가 워크스페이스가 아니라 worktree를 관측했고(src/math.js1건), 트리는 디스크·git worktree list양쪽에서 폐기 확인. - P0-12: 같은 문서 —
run-plan.json의approval에revisionHash와guardrailHash가 둘 다 있고approvalTargetHash가 그 둘을 덮는다.src/run.ts:529-532가 Run 시작 시 재계산·대조.
전건 [미확인]이다. 2026-08-12/SUMMARY.md가 P0 잔여로 P1-12·P1-15·P1-16·P1-17을 언급하나, 개별 재판정 문서는 없다.
| ID | 요약 | 현재 등급 | 상태 | 최초 등재 | 최종 갱신 |
|---|---|---|---|---|---|
| P1-1 | 자유 텍스트 doneCriteria가 필수이고 실행 가능한 verification이 선택이다 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-2 | 파괴적 명령 승인 경로가 막다른 길. approvedCategoryIds: [] 하드코딩 |
P1 | 미해소 ★ | 2026-08-10/SUMMARY.md |
2026-08-13/13-output-fidelity.md |
| P1-3 | 선언만 되고 소비되지 않는 정책 플래그 5종 | P1 | 부분해소 ★ | 2026-08-10/SUMMARY.md |
2026-08-13/13-output-fidelity.md |
| P1-4 | 승인 해시가 Task 파일만 덮고 프로파일을 포함하지 않는다 | P1→P0-12 | 해소 ★ | 2026-08-10/SUMMARY.md |
runs/2026-08-13/first-full-loop.md |
| P1-5 | actor 신원이 자기 신고 문자열. 승인자=검토자 허용 | P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-6 | 실행 중 계획 이탈 시 재승인 트리거 없음 | P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-7 | 원자적 롤백 부재 | P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-8 | Run 아티팩트에 objectiveId 없음 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-9 | objective attach가 승인 여부·revision·유효성을 검증하지 않는다 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-10 | 무작업 Run이 ACCEPTED 가능 | P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-11 | 비용·토큰 상한 부재 | P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-12 | appendCorrectiveEvent에 CLI 경로 없음 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P1-13 | AgentRunInput.limits를 채우는 코드가 없다 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-14 | 모든 테스트 픽스처가 isolationMode: NONE |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
— |
| P1-15 | 어댑터 capabilities 거부에 테스트 0건 | P1 | 미해소 | 2026-08-10/SUMMARY.md |
2026-08-12/SUMMARY.md |
| P1-16 | status: DONE Task의 순차 재실행이 경고뿐 |
P1 | 미확인 ◆ | 2026-08-10/SUMMARY.md |
2026-08-12/11-model-conformance.md |
| P1-17 | SIGTERM 후 자식 프로세스 잔존 (SIGKILL 부재) | P1 | 미해소 | 2026-08-11/06-p0-6-limits.md |
2026-08-12/SUMMARY.md |
| P1-18 | SUMMARY.md P1 표 + 상세 절 (문서 정합) |
P1 | 미확인 ◆ | 2026-08-11/SUMMARY.md |
— |
| P1-19 | fail-closed는 "안전하다"이지 "쓸 수 있다"가 아니다 | P1 | 미확인 ◆ | 2026-08-11/08-regression-and-coverage.md |
— |
- P1-2:
src/run.ts:1696이approvedCategoryIds: []를 여전히 하드코딩.2026-08-13/13-output-fidelity.md§4-2에서 재확인. (2026-08-14 정정: 이 줄은1630으로 적혀 있었다. 원 감사 시점(ce3a4c1)에는 1630이 맞았고f215fac의 P1-53 수정이 66줄을 밀었는데, 이 등재부는 그 수정 뒤(097681b)에 작성되면서 옛 번호를 재측정 없이 옮겼다. 결함 자체는 유효하다) - P1-3: 같은 문서 §4-2 — 5종 중 3종(
allowedModes,allowProviderReportedCommandTruth,approvalRequiredForDestructiveCommands)이 아직 미소비, 2종(requireIsolationForMutation,allowDegradedCommandObservation)은 소비됨. P1-57·P1-58로 분할 재등재. - P1-4: P0-12로 승격된 뒤 해소. P0-12 항목 참조.
| ID | 요약 | 현재 등급 | 상태 | 최초 등재 | 최종 갱신 |
|---|---|---|---|---|---|
| P1-20 | 타임아웃으로 죽은 어댑터가 ADAPTER_FAILED로만 기록된다 |
P1 | 미확인 ◆ | 2026-08-12/SUMMARY.md |
— |
| P1-21 | 폐기 실패 회귀 테스트가 win32 동작에 의존한다 | P1 | 미확인 ▲◆ | 2026-08-12/SUMMARY.md |
runs/2026-08-13/ci-first-run.md |
| P1-22 | --no-index 경로의 잘림 우선순위 규칙이 도달 불가 |
P1 | 미확인 ◆ | 2026-08-12/03-slice-interactions.md |
— |
| P1-23 | isolation.ts의 run()이 scanScope를 버린다 |
P1 | 미확인 ◆ | 2026-08-12/03-slice-interactions.md |
— |
| P1-24 | 검증 커맨드가 POST_RUN 스냅샷 이후 실행되어 증거에 안 나타난다 | P1 | 미확인 ◆ | 2026-08-12/SUMMARY.md |
— |
| P1-25 | QUEUE_ITEM_CANCELED가 runTask 종단으로 검증되지 않는다 |
P1 | 미확인 ◆ | 2026-08-12/01-p0-verdicts.md |
— |
| P1-26 | 격리 모드 unavailable이 리뷰 게이트로 승격되지 않는다 | P1 | 미확인 ◆ | 2026-08-12/02-handoff-inventory.md |
— |
| P1-27 | ACCEPTED 시 격리 트리 반영 경로가 설계되지 않았다 | P1 | 재현안됨 ★ | 2026-08-12/09-registration-check.md |
runs/2026-08-13/first-full-loop.md |
| P1-28 | Objective 디렉터리 삭제로 큐 결정이 소실된다 (수용된 한계) | P1 | 미해소(수용) | 2026-08-12/02-handoff-inventory.md |
2026-08-12/SUMMARY.md |
| P1-29 | 타임아웃 메시지가 모든 자식에 "Adapter"라고 말한다 | P1 | 미확인 ◆ | 2026-08-12/03-slice-interactions.md |
— |
| P1-30 | --no-index의 /dev/null 처리가 git 구현에 의존한다 |
P1 | 미확인 ◆ | 2026-08-12/04-platform-qualification.md |
— |
| P1-31 | 격리 트리 경로 접두가 Windows 260자 한계 여유를 줄인다 | P1 | 미확인 ◆ | 2026-08-12/09-registration-check.md |
— |
| P1-32 | Core 역할 7개 중 5개로는 어댑터가 실행되지 않는다. init 기본값이 그중 하나 |
P1 | 부분해소 ★ | 2026-08-12/10-first-real-run.md |
runs/2026-08-13/first-full-loop.md |
| P1-33 | 어댑터 거부 메시지가 원인·조치를 말하지 않는다 | P1 | 미확인 ◆ | 2026-08-12/10-first-real-run.md |
— |
| P1-34 | win32에서 Gradle/Maven wrapper를 검증 커맨드로 쓸 수 없다 | P1 | 해소 | 2026-08-12/10-first-real-run.md |
2026-08-12/12-orchestration-roadmap.md |
| P1-35 | run-record.md가 실행된 검증 커맨드를 이름으로 적지 않는다 |
P1 | 부분해소 ★ | 2026-08-12/10-first-real-run.md |
2026-08-13/13-output-fidelity.md |
| P1-36 | 승인이 계약의 실행 가능성을 검사하지 않는다 | P1 | 미확인 ◆ | 2026-08-12/11-model-conformance.md |
— |
| P1-37 | Run 산출물 7개 중 taskRevision을 담은 것이 1개뿐 |
P1 | 해소 ★ | 2026-08-12/11-model-conformance.md |
runs/2026-08-13/first-full-loop.md |
| P1-38 | Task 원장이 계약 본문을 보관하지 않는다 | P1 | 해소 | 2026-08-12/11-model-conformance.md |
2026-08-12/12-orchestration-roadmap.md |
| P1-39 | Draft / Revision 상태 기계가 코드에 없다 | P1 | 미확인 ◆ | 2026-08-12/11-model-conformance.md |
— |
| P1-40 | 실행 결과 상태(status)가 계약 문서 안에 있어 승인 해시에 포함된다 |
P1 | 해소 | 2026-08-12/11-model-conformance.md |
src/task.ts:7-13 (RETIRED_TASK_STATUSES) |
| P1-41 | Revision 산출물이 존재하지 않는다 (P1-37·38·39의 공통 원인) | P1 | 부분해소 ★ | 2026-08-12/11-model-conformance.md |
runs/2026-08-13/first-full-loop.md |
| P1-42 | TASK_REVISION_SUPERSEDED가 선언·replay되지만 append 코드가 0곳 |
P1 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-43 | resume.sourceHashPolicy를 읽는 코드·테스트가 없다 |
P1 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-44 | invalidate 이후 승계 없는 revision이 3개 상태 중 무엇도 아니다 | P1 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-45 | Draft REJECTED를 만드는 이벤트가 없다 |
P1 | 미해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-46 | OBJECTIVE_CLOSED를 append하는 코드가 0곳이다 |
P1 | 미해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-47 | deriveLocalReviewStatus가 비수용 결정을 잘못 분류한다 |
P1 | 미해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-48 | replay 실패 Objective가 Revision 스냅샷에 "relation 없음"으로 기록된다 | P1 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
| P1-49 | apply.ts의 주석·거부문이 코드가 하지 않는 drift 검사를 주장한다 |
P1 | 해소 ★ | 2026-08-12/12-model-conformance-recheck.md |
runs/2026-08-13/stranded-findings-triage.md |
- P1-27 [재현안됨]:
src/apply.ts가 구현돼 있었고 실제로 동작했다.codefleet apply가 워크스페이스를 바꾸고RUN_RESULT_APPLIED를 원장에 남겼다. - P1-32 [부분해소]: 등재 당시 증상(늦은
LAUNCH_FAILED)은 재현되지 않았으나, **init기본 역할이 여전히BACKEND_IMPLEMENTER**이고 코드 작성 역할로는 검증 커맨드가 붙은 Task를 실행할 수 없다. 우회로INFRA_OPERATOR를 썼다. - P1-35 [부분해소]:
run-record.md가 커맨드 이름을 적는 것은 확인했으나, 리뷰 후 그 절이 거짓 문장으로 대체된다(P1-50). 테스트 0건(grep "rests on" test/→ 0).CONVENTIONS.md§10에 따라 [해소] 아닌 [부분해소]. - P1-37 [해소]: Run 산출물 전체에
taskId+taskRevision이 실려 있다 (contractRef정의src/run.ts:832, 스프레드:948·:1000·:1044). (2026-08-14 정정:src/run.ts:766으로 적혀 있었다. 원 문서 시점(e5fb188)에는 766이 정의 줄이 맞았고 이후 이동했다) - P1-41 [부분해소]:
.codefleet/task-revisions/에 계약 본문이 저장된다(codefleet task revision동작 확인). 다만 P1-39(상태 기계)는 미확인.
- P1-42 [해소]:
task-ledger.ts:484가TASK_REVISION_SUPERSEDED를 append한다. 선언·replay·생산 모두 존재. - P1-43 [해소]:
run.ts:908-915+test/approval-contract.test.ts:273이sourceHashPolicy를 단언. 로드맵[x] S6-5. - P1-44 [해소]:
task-ledger.ts:249가INVALIDATED를 정의하고:285-292가 승계 없을 때만 매긴다. 단서 — 코드는INVALIDATED, 등재문은 설계의CANCELED를 인용했는데 설계에서CANCELED는 큐 아이템 상태로 나타난다. enum 정합은 정의 확정 필요로 남겼다. - P1-45 [미해소]:
task-ledger.ts:308-311주석이 "no event produces it"이라 적고DraftState가 2개뿐이다. - P1-46 [미해소]:
OBJECTIVE_CLOSED가ledger.ts:20(타입)·:242(replay)에만 있고 생산 0곳. - P1-47 [미해소]:
review.ts:633—ACCEPTED가 아니면서 번들이DEGRADED가 아니면MIGRATION_READY로 떨어진다. 실행 확인 가능(원장 직접 수정 필요). (2026-08-14 정정:632로 적혀 있었으나 그 줄은 비어 있다. 한 줄 어긋남) - P1-48 [해소]:
task-revision.ts:64-68,124가 replay 실패 Objective를scanScope에 분리 기록해 "relation 없음"과 "읽지 못함"을 구분한다. 커밋5055cf3. - P1-49 [해소]:
apply.ts:205-208주석이 "This is not the drift check, and an earlier comment here said it was"로 정정됐다.
| ID | 요약 | 현재 등급 | 상태 | 최초 등재 | 최종 갱신 |
|---|---|---|---|---|---|
| P1-50 | 리뷰가 run-record.md를 다시 쓰며 검증 증거를 넘기지 않아 거짓 문장이 생긴다 |
P0 | 미해소 ★ | 2026-08-13/12-waiver-conformance.md |
2026-08-13/13-output-fidelity.md |
| P1-51 | waiver 정당화가 강제되지 않는다. 가드가 CLI 경로에서 발동 불가 | P1 | 미해소 ★ | 2026-08-13/12-waiver-conformance.md |
— |
| P1-52 | 검증 waiver(WAIVED_ALLOWED)가 소비만 되고 생산 코드가 0곳 |
P1 | 미해소 ★ | 2026-08-13/12-waiver-conformance.md |
2026-08-13/13-output-fidelity.md |
| P1-53 | codefleet prompt가 Run이 실제로 보내는 프롬프트와 다른 문서를 쓴다 |
P1 (유지) | 해소 ★ | 2026-08-13/13-output-fidelity.md |
runs/2026-08-13/p1-53-contract-delivery.md |
| P1-54 | captureWorkspaceSnapshot의 옵셔널 3필드가 부재를 값으로 날조한다 (잠복) |
P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-55 | WAIVED_BY_POLICY·WAIVER가 선언만 있고 생산·소비 0곳 |
P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-56 | LocalReviewStatus의 SUPERSEDED가 생산되지 않는다 |
P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-57 | policies.harness.allowedModes가 검증까지 받고 어디서도 읽히지 않는다 |
P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-58 | allowProviderReportedCommandTruth·approvalRequiredForDestructiveCommands 미소비 |
P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-59 | export/redaction 서브시스템 전체가 프로덕션 미연결 | P1 | 미해소 ★ | 2026-08-13/13-output-fidelity.md |
— |
| P1-60 | 검증 절·renderPrompt 경로를 단언하는 테스트가 0개 |
P1 | 부분해소 ★ | 2026-08-13/13-output-fidelity.md |
runs/2026-08-13/p1-53-contract-delivery.md |
| P1-61 | npm test의 posttest(rule coverage 체커)가 실패한다. 테스트 255건은 전부 통과하는데 주장 1건이 규칙 본문과 불일치 |
P1 | 해소 ★ | runs/2026-08-13/p1-53-contract-delivery.md |
runs/2026-08-13/p1-61-posttest-green.md |
- P1-53 [해소]:
test/prompt.test.ts3건이 수정 전 전부 실패하고 수정 후 전부 통과. fixture에서 preview와 Run 프롬프트가diff결과 바이트 동일. - P1-60 [부분해소]:
renderPrompt경로는 테스트가 생겼다(test/prompt.test.ts, 이 저장소의 첫renderPrompt테스트).run-record.md의 검증 절은 여전히 테스트 0건 —grep -rn "rests on\|What was verified" test/→ 0건. - P1-61 [해소]: 최초 실패 커밋은
3db7d64(S4) — worktree로 부모38cf9c9(초록)와 대조해 실측. 원인은 조건 줄이 아닌 단어 하나를 인용한 주장이었고, 규칙(788524d이후 불변)과 코드(run.ts:808-820) 모두 옳았다. 주장 제거 후npm test > /dev/null 2>&1; echo $?→ 0, 커버리지 345/545(63.3%) 불변. 재발 방지는runs/2026-08-13/p1-61-prevention.md에서 구현했다 — 실패 배너(표 앞·무색·stdout),.github/workflows/test.yml(러너 동작 미검증), 규약 §11. 오염 구간은3db7d64~d697aa29개 커밋으로 한정됐다: 문서가 인용한 대상 커밋 8개(754acea·6a458eb·244fac7·9bbfcbf·b750e9e·5d989f1·57a80de·38cf9c9)를 실측해 전부 exit=0.
| ID | 변경 | 사유 | 문서 |
|---|---|---|---|
| P1-4 → P0-12 | P1 → P0 | 승인 해시 누락이 I-3(승인이 실행을 구속한다)를 무효화 | 2026-08-12/11-model-conformance.md |
| P1-50 | P1 → P0 (ID 유지) | 산출물에 거짓 문장을 만드는 결함은 미구현보다 무겁다 | 2026-08-13/13-output-fidelity.md |