B1 harness에 defect-12(per-turn structure assert가 oracle의 door-grounded turn 수 변경을 m1 산출 전에 차단) 발견·수정 — assert n_mem==len(gt.memory_chain) → aligned 플래그 전환, unaligned은 m2 skip·m1 정상 산출. 8-GPU bash fan-out sharding으로 ~6h → ~45min. Orchestrator 독립 재카운트: baseline 88.36%(167/189) 정확 재현(코드경로 동일성), oracle 89.42%(169/189, +1.06pp, +2 scenario).
Oracle LoRA(eval_loss 0.0087) 학습 완료 후 B1 harness로 side-by-side를 돌리려 했으나, harness에 두 문제가 발견됐다.
eval_scene_mem_benchmark.py의 run_trainstruct가 task_subtasks.json(baseline)을 하드코딩. oracle ckpt + oracle val 실행 시, rebuilt turn 수(door-grounded) ≠ canonical fine_subtasks chain(30) → assert n_mem==len(gt.memory_chain)이 m1 산출 전에 AssertionError crash.eval_scene_mem_benchmark.py: assert n_mem==len(gt.memory_chain) → aligned 플래그. non-final 분기: aligned이면 기존 GT-색인 m2 채점, 아니면 unaligned record(gt=None, granularity="unaligned", match=None).build_metrics: unaligned은 m2에서 skip. m1은 final-query라 구조 독립(기존 인프라 그대로).--task-subtasks / --init-state-manifest 인자 추가. baseline 경로는 미지정 시 byte-동일 유지.memer_eval/scene_mem_trainstruct.py:build_turnset: manifest_scenario kwarg → build_turns_for_test 배선.Oracle 경로(task_subtasks_oracle + manifest) vs oracle val.jsonl: byte-guard 8/8 PASS. Baseline 경로(no manifest) vs baseline val.jsonl: 8/8 PASS(harness 변경이 baseline 경로 byte-불변 = 재평가 시 88.36% 재현 보장). TDD: test_m1_independent_of_structural_divergence_m2_skips_unaligned 포함 pytest 49 passed.
srun 버전(5636/5637)이 --ntasks=1 템플릿 때문에 1s 실패, bash fan-out으로 재작성. job 5643(oracle) + 5644(baseline).
| 평가 | m1 final-query | divergent | parse_fail | 비고 |
|---|---|---|---|---|
| baseline 재평가 (수정 harness, baseline 경로) | 167/189 = 88.36% | 0/189 | 0 | 코드경로 동일성 확정 |
| oracle (door-grounded, oracle task_subtasks + manifest) | 169/189 = 89.42% | 165/189 | 0 | +1.06pp (+2 scenario) |
165/189 samples의 turn 구조가 oracle과 baseline에서 다름 — 설계 동작(door-grounding이 turn 수 의도적 변경). 이 중 m1(최종질의 답)은 구조 독립적으로 채점. 최종 +2 scenario 개선은 이 165개 중에서 발생.
+1.06pp (+2/189)는 실재하지만 통계적 강신호가 아니다(이진 n=189). 이번 작업의 실제 가치는 m1 소폭 상승이 아니라:
m1 점프를 과대포장하지 않는 것이 올바른 보고.
door-grounded oracle 데이터로 학습한 모델이 baseline 대비 m1 +1.06pp 달성 + baseline 완전 재현(비회귀). 더 중요한 것은 eval-contract-trust 원칙이 defect-12를 조기에 잡아냈다는 점 — byte-identity guard가 oracle rebuild 정확성을 보장했고, per-turn assert 분리가 m1/m2 채점을 구조 독립적으로 분리했다.
8-GPU bash sharding 패턴(fan-out + per-PID exit 검증 + 불완전 집합 abort)은 향후 대규모 eval의 재사용 템플릿.
memory_success 측정 (사용자 일정)