사용자 "병합 + HF push" 승인 → oracle→canonical 로컬 병합 완료. 그러나 defect-13(emit_fine_subtasks의 _segment_turns가 door-grounding 없이 COUNT만 계산, byte-identity 12/24 FAIL)이 A3 zero-trust gate에 정확히 차단됨. defect-13 수정(A3 24/24 PASS) 후 task_subtasks.json ← oracle 교체가 재현성 계약 위반(HARD STOP) — build_task_subtasks() SoT로 재현 불가. Option B: baseline 복원 + oracle 별도파일 + emit에 --task-subtasks 인자. HF additive push commit 7676aa4b(fine_subtasks 858 + manifest). 221 tests passed. Sub-project A 데이터 파이프라인 완전 종료.
B1 side-by-side(baseline 88.36% → oracle 89.42%)로 oracle 데이터의 B1 비회귀 + 물리 정확성 향상이 입증됐다. §9-5 = 이 결과를 바탕으로 oracle을 canonical로 병합하고, HF dataset(Keh0t0/scene-mem-benchmark)에 fine_subtasks를 additive push하는 단계.
단계별 zero-trust gate가 설계대로 모든 불충실 push를 차단하고, 마지막에 재현성 계약 위반을 정확히 적발하여 안전한 Option B로 수렴하는 과정.
A3 gate(test_byte_identity_against_jsonl) 24개 중 12 FAIL. 근본원인: _segment_turns가 resolve_subtasks(door 없음, manifest 없음)로 per-segment COUNT만 계산 → canonical이 oracle(door-grounded, segment당 turn 수 상이)이면 슬라이스 경계 어긋남. defect-12 패턴 3번째.
수정: emit_fine_subtasks에 --init-state-manifest 추가 + _seg_turn_count가 build_turns_for_test 3-way 디스패치 미러 (per-test door machine 스레딩, manifest 있을 때 resolve_subtasks_with_doors). A3 gate 24/24 PASS.
data/task_subtasks.json ← task_subtasks_oracle 교체가 안전 golden 위반. 확인: build_task_subtasks()(SoT = AST + manual_subtasks.json) == pre-merge baseline(True), == oracle disk(False, 163 task rds 차이). oracle task_subtasks는 기본 SoT로 재현 불가 → 260516 설계대로 HARD STOP.
| 단계 | 내용 | 검증 |
|---|---|---|
| 1. task_subtasks.json 복원 | baseline(1e1db30d) 복원 | build_task_subtasks()==disk True, 148 passed |
| 2. oracle 별도파일 유지 | task_subtasks_oracle.json 그대로 | emit에 --task-subtasks 인자로 참조 |
| 3. 테스트 faithful 갱신 | emit/eval 테스트가 oracle spec+manifest로 검증 | weakening 아님 — 실 산출물 반영 |
| 4. 로컬 mirror oracle emit | 858 fine_subtasks + manifest (fine 92.29% / composite 7.71%) | benchmark 원본 불변(additive) |
| 5. 전 suite | 221 passed, 0 failed | |
| 항목 | 상태 | 검증 |
|---|---|---|
| 전 테스트 | 221 passed, 0 failed | manual_subtasks 148 + emit A3 24 + decomp + eval_scoring |
| 로컬 data/scene_mem_v2 | oracle door-grounded (A3 검증) | sha256 88b5e193/45f1c6b6 |
| task_subtasks.json | 재현가능 baseline (안전 golden GREEN) | build_task_subtasks()==disk True |
| task_subtasks_oracle.json | 별도 door spec 유지 | emit에 --task-subtasks로 참조 |
| baseline 백업 | 완전복원가능 (_baseline_pre_oracle) | sha256 28b4bc75/37590604 일치 |
| HF fine_subtasks | 858개 + manifest additive 반영 | commit 7676aa4b, SMOKE byte-identical |
| HF benchmark 원본 | subtasks.json 858 / eval_spec.json 858 불변 | additive only |
| B1 m1 | 88.36% → 89.42% (+1.06pp) | orchestrator 독립 재카운트 |
Sub-project A 데이터 파이프라인 완전 종료. 260516 첫 설계부터 260519 defect-11 fix, 260520 §9-5 HF push까지의 결함 13개 체인이 마무리됐다.
defect-13 수정 후 "A3 24/24 PASS니까 push 가능"으로 보였으나, 260516에 작성한 test_manual_subtasks_v2.py golden이 더 깊은 위반(SoT 재현성)을 잡았다. golden은 편의상 완화하는 것이 아니라 근본정정해야 할 때의 신호다. 기존 선례(260516에서도 신규 검증이 놓친 걸 기존 golden이 잡음)가 이번에도 반복됐다 — golden 설계의 적절성 입증.
Option B가 가장 작은 변경으로 계약을 유지하면서 oracle 데이터를 HF에 반영하는 올바른 경로였다.
memory_success 측정.