You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
상황:
평가 입력 고정이 사람 검수와 평가자 준비를 요구하는 round seal에 결합돼 03 leaf가 자체 책임을 끝내지 못했다.
변경:
current source와 허용된 기계 리포트 및 참조 산출물만 해시로 고정하는 --freeze-input 전이, 변조 검증, TODO 삭제 보호 계약을 추가했다.
영향:
input-frozen은 사람 검수나 R10 통과를 주장하지 않으며 기존 --seal과 독립 report 게이트는 계속 모든 외부 조건을 요구한다.
검증:
preflight 3/3, 관련 pytest 45개, docs gate, ruff, py_compile, git diff check를 통과했다.
|`docs`| fast | 운영 문서 포인터, gate 정의, CI 연결 상태를 확인한다. |
118
118
|`root-clean`| fast | 저장소 루트가 canonical tree와 맞고 로컬 실습 파일, 로그, 임시 산출물이 남지 않았는지 확인한다. |
119
-
|`evaluation-contract`| fast | clean implementation commit에서 목표 점수 없는 frozen rubric, closed raw report·canonical finding ledger schema, bundle exclusion과 raw report·scope·maturity·score/severity 보존 negative fixture를 검증한다. R10 bundle의 허용 목록 machine report와 직접 참조 JSON·이미지는 current source commit, 원본 hash, read-only entry로 묶고 stale·dirty scope는 seal을 차단한다. 독립 evaluator 배정과 R10 report 생성은 실행하지 않는다. |
120
-
|`plan-quality`| fast | mainPlan이 미완료 TODO만 보존하는지, 현재 사실과 R10 draft가 일관적인지 검사한다. evaluator 배정·sealed scope·raw report 같은 외부 readiness blocker만 남은 draft는 통과하지만 blocker를 report에서 제거하지 않는다. |
119
+
|`evaluation-contract`| fast | clean implementation commit에서 목표 점수 없는 frozen rubric, closed raw report·canonical finding ledger schema, bundle exclusion과 raw report·scope·maturity·score/severity 보존 negative fixture를 검증한다. R10 bundle의 허용 목록 machine report와 직접 참조 JSON·이미지는 current source commit, 원본 hash, read-only entry로 묶고 stale·dirty scope는 input freeze와 round seal을 모두 차단한다. 독립 evaluator 배정과 R10 report 생성은 실행하지 않는다. |
120
+
|`plan-quality`| fast | mainPlan이 미완료 TODO만 보존하는지, 현재 사실과 R10 bundle이 일관적인지 검사한다. current source와 machine evidence만 고정한 `input-frozen` 상태는 evaluator 배정·사람 검수·raw report·round seal을 주장하지 않는다. 이 외부 readiness blocker가 명시돼 있으면 통과하지만 blocker를 report에서 제거하지 않는다. |
121
121
|`r10-independent-review`| release | 서명 hash와 가용 기간이 있는 독립 evaluator roster, sealed scope, 세 raw report byte seal·결정적 Markdown view와 손실 없는 canonical finding ledger를 목표 점수 없이 엄격하게 검사한다. open P0·P1은 점수와 무관하게 `product-release`를 차단한다. |
122
122
|`backend`| fast | Python backend 전체 테스트를 최대 1800초 안에서 실행한다. `tests/_attempts`는 `--ignore`로 수집하지 않고, 0.25초 이상 걸린 항목 중 가장 느린 25개를 출력해 preflight 병목을 관찰한다. |
123
123
|`attempts`| experiment | 운영과 분리된 `tests/_attempts` 실험 샌드박스를 실행한다. preflight/quality-cycle/CI 비포함이며 `tier` 스윕에도 끼지 않는다. |
-`landing-build`는 공개 문서 surface가 generated docs 본문 HTML을 nav chunk에 싣지 않는지도 확인한다. `docsNav.js`는 metadata와 `contentModule`만 담고, 각 문서 본문 module은 화면과 prerender가 소비하는 `html`만 가진 채 `landing/src/lib/generated/docsPages/page*.js`로 분리되어 slug route에서 동적 로딩되어야 한다. 검색 원문 `text`는 `searchIndex.js`가 소유하므로 페이지 module에 중복하지 않는다. `docs/skills` 핵심 SSOT 문구가 generated docs에 반영되지 않은 stale 상태도 실패로 본다.
257
257
- 기존 부채를 새 테스트로 한 번에 해결하지 못하면 별도 baseline 또는 명시적 TODO 문서로 분리한다.
258
258
- CI YAML은 세부 명령을 소유하지 않고 `tests/run.py gate <name>`만 호출한다.
259
-
-`evaluation-contract`은 rubric·raw report schema·canonical finding ledger schema·negative fixture 자체만 봉인한다. sealed bundle, evaluator roster, 실제 raw report와 finding ledger는 `08-r10-independent-review`가 소유하며 이 downstream 산출물을 계약 packet의 완료 조건으로 되돌리지 않는다.
259
+
-`buildPrdEvaluationBundle.py --freeze-input`은 clean source commit, current machine report 9개, 직접 참조 artifact, rubric과 exclusion manifest만 `input-frozen`으로 고정한다. archive와 scope hash가 바뀌면 `--check`와 `plan-quality`가 실패한다. 이 전이는 `sealed: false`, `roundState: blocked`, `roundSealEligible: false`를 유지하므로 evaluator 배정, 사람 검수, 독립 report나 R10 통과를 대신하지 않는다. 이후 모든 remediation과 evaluator 조건이 갖춰진 경우에만 별도 `--seal`이 round scope를 봉인한다.
260
+
-`evaluation-contract`은 rubric·raw report schema·canonical finding ledger schema·negative fixture 자체만 봉인한다. round seal, evaluator roster, 실제 raw report와 finding ledger는 `08-r10-independent-review`가 소유하며 이 downstream 산출물을 입력 고정 packet의 완료 조건으로 되돌리지 않는다.
0 commit comments