1
만점 아니면 0점 — all-or-nothing 채점이 세계모델을 텅 비게 했다
만점이 아니면 무조건 0점만 주는 선생님 밑에서는, 아무도 성장 기록을 쌓지 못한다.
np.array_equal 전부-일치 채점이 불완전한 첫 세계모델을 전부 기각 — 아무것도 축적되지 않고 surprise 트리거는 죽은 채였다.
fault: 채점 노드가 전부-아니면-0 → 저장소가 빈 채로 남는다
실사례 원문
“the all-or-nothing (np.array_equal) judge could never accept an imperfect first
world model, so nothing accumulated and the surprise trigger stayed dead.”
git log 4c7da76 — docs: consolidated TTSO design (3개 선행 수정이 L0에서 정체한 원인 진단)
부분점수 F1 채점으로 교체 — 변화 셀에 대한 F1로 채점하고, 부분 점수가 Beta로 축적되게 했다. a76ea3a
fixed: 채점 = 변화 셀 F1 부분점수, 0.33도 축적된다
토이 4축 하네스 8/8 (0.57s): partial_score 0.33이 Beta로 축적·idempotent,
keep-if-better가 full-over-partial 수용 (커밋 a76ea3a 검증 절). Stage-A A2 게이트: α 1.0 → 2.33,
동일 전이 replay 후에도 2.33.
2
catch-22 게이트 — 서로 먼저 열리길 기다리는 두 문
문 A는 “문 B가 열리면 열림”, 문 B는 “문 A가 열리면 열림” — 아무도 못 지나간다.
residual>0.3이면 “구조적으로 다른 룰만 제안”을 강제하는데, 부분 모델의 residual은 0.75–0.83에 영구 고정 — EXPLOIT/REFINE 브랜치는 도달 불가능한 데드 코드였다.
fault: sleep 내부, 채굴과 수용 사이에 맞물린 자물쇠 두 개
실사례 원문 (오프라인 재현, reproduced=true)
residual = [0.5, 0.5833, 0.6, 0.6, 0.6, 0.5875] — 콜드스타트 하강 뒤 부분-F1
점근선에서 포화, 비단조, res_hi=0.3 EXPLOIT 게이트를 영원히 못 넘는다.
breadth = [1,1,1,1,1,1] — dedup이 재제안을 붕괴시켜 단일 모놀리스 mechanic만 존재.
docs/superpowers/specs/2026-07-08-ttso-wm-repl-residual-cover.md §1.2 (합성 Lights-Out 픽스처, LLM 없음)
“A gate unit-sweep over residual ∈ {0.31,0.4,0.5,0.58,0.7,0.83,1.0} returns
MINE-NEW for every value; only residual=0.20 returns REFINE — a residual the coupled loop
provably never produces.”
같은 스펙 — Axis 3, EXPLOIT/REFINE branch is dead code
임계값 게이트 삭제 → advantage_on_union 하강 — 수용은 Δ정보이득>0 하나로, magnitude는 게이트가 아니라 스텝 크기로. 4807091 (U1)
fixed: 자물쇠 대신 advantage_on_union>0 단일 통로
커밋 검증 절 원문: “residual 20→0, breadth 1→5, reaches exploit (baseline 0x)”.
라이브 v3: B1_on_s0 residual 1.0 → 0.403, B3_on_s0 L0 잔차 셀 306 → 0 (sleep#0→#1 ledger).
낡은 게이트 삭제는 test_wm_convergence_baseline.py가 assert.
3
하드코딩된 세계모델 — 틀린 지도를 믿고 성실하게 길을 잃다
지도가 틀렸는데 지도를 의심하지 않으면, 성실할수록 더 정확하게 길을 잃는다.
라이브 r7에서 커밋된 세계모델이 절대좌표 표 xs=[36,44,52]와 고정 색 순환을 하드코딩 — fit 버퍼는 잘 맞히지만 반대 방향·새 상황에서 무너졌고, 아무 장치도 그걸 라이브에서 잡지 못했다.
fault: 저장소 속 금 간 스킬 + wake가 그 지도를 다시 참조해 도는 화살표
실사례 원문
“Catches the r7 xs=[36,44,52] failure class that nothing caught live.”
docs/superpowers/specs/2026-07-09-ttso-baseline1-parity-leakfree-design.md:93 · 커밋 83ab400에도 “the live r7 xs=[36,44,52] failure class”
“The committed incumbent (fp 3eb1d93107 = bundle r7) is a 5-cycle [4,8,9,0,2]:
it reproduces 8→9 (F1≈0.97) but predicts 9→8 as value 0 (F1=0.0, all wrong_value);
predict_accuracy([r7])=0.407”
E1 포렌식 분석 출력(2026-07-09 세션 아티팩트) — 방향 미결정(under-determination) 진단; 커밋 ae4db70 본문이 같은 진단을 요약
generality critic(정적 AST) + 상태 재구성층 — 좌표/상수 하드코딩을 플래그하고, 동역학이 raw 그리드 좌표로 쓰이지 않게 재구성층을 깔았다. 83ab400 · ae4db70 (E5)
fixed: 수용 앞에 AST 돋보기 — 하드코딩이 라이브에서 플래그된다
E5 (ae4db70, 실제 unseen ft09 전이·무누수): DIRECTION split 0/7 → 7/9 valid
generalize, TIME split 6/10 → 10/10. 라이브 v3에서 실제 포착된 예 — B3_on_s0 ledger sleep#2,
fp 6d732219bb: “GENERALIZE: hardcoded coordinate table (≥2 literal cells);
hardcoded absolute board position 36; …44; …52” — r7과 같은 failure class가 이제 이름 붙어 잡힌다.
4
3중 프롬프트 유출 — 시험지에 답이 비쳐 보였다
시험지 뒷장에 정답이 비쳐 보이면, 그 시험 점수는 실력이 아니다.
에이전트-대면 텍스트 세 곳에 이 게임의 메카닉 어휘(coupled·distant·neighbours·toggle-family, Lights-Out, COUPLED 시드)가 스며 있었다 — 발견의 일부가 사실은 힌트였다.
fault: 게임 내부 지식이 프롬프트로 새는 빨간 점선 3가닥
실사례 원문 (커밋 3연타, 같은 날 85분)
① 18:00:55 — “Also lands the miner.txt Lights-Out genericization (2nd prompt
leak removed).” git 859dc59
② 19:05:29 — “Sleep prompts fully de-leaked per the adversarial review:
removed coupled/distant/neighbours/toggle-family vocabulary from miner.txt/refine.txt”
(+ scaffold PROMPT/PROMPT_ACI 삭제, WAKE_MODES 중립화) git 83ab400
③ 19:25:31 — “store.py LEARN_DYNAMICS_FIRST seed carried
COUPLED/orthogonal-neighbours/distant vocabulary into every run's briefing (found in the live
skills_live table) — reworded to topology-agnostic.” git a921b9c
표면 셋 순차 소거 + 프로그램 스윕 — “Programmatic sweep over ALL agent-facing surfaces (prompts, seeds, PROMPT, WAKE_MODES) now CLEAN.” 859dc59 → 83ab400 → a921b9c
fixed: 프롬프트 경계에 방패 — 스윕 CLEAN
스윕 CLEAN(a921b9c 원문) + 스위트 224 passed, 0 failed.
이 페이지의 모든 v3 숫자(0→3 클라임 포함)는 이 무누수 표면 위에서 나온 결과다.
5
critic 거부권 — 맞춤법 검사기가 글을 통째로 삭제했다
맞춤법 검사기가 “고치라”가 아니라 “지우라”를 하면, 글은 영원히 완성되지 않는다.
③의 generality critic을 거부권(veto)으로 달았더니 — gpt-5.5는 자연히 literal panel box를 쓰므로 — 모든 mechanic 후보가 수용 직전에 학살됐다. catch-22 bug class A의 재림.
fault: 채점과 수용 사이 빨간 차단벽 + 그 뒤에 쌓인 후보들
실사례 원문 (코드 주석 + 커밋; veto 시대 런은 중단되어 ledger 자체가 없다)
“The gate-shaped v1 of this function starved the loop of every mechanic:
gpt-5.5 naturally writes literal panel boxes, which fit the buffer and are predictive —
rejecting them re-created the catch-22 bug class A.”
ttso/sleep/sleep.py:705-708 (독스트링 원문)
“generality critic is GUIDANCE, not a gate — flags annotate (GENERALIZE note)
+ one guided refine; accept stays with advantage/held-out.”
git 774e893 (2026-07-09 20:15)
전환 후 ledger 실물 — 플래그는 사유 뒤에 주석으로만 붙는다:
"outcome": "rejected", "reason": "advantage_on_union=0.0000<=0: adds no predictive information
to the model union | GENERALIZE: hardcoded coordinate table (≥2 literal cells); …"
runs/stageB_v3/logs/B3_on_s0.ledger.jsonl, sleep#2, fp 6d732219bb — 거부의 근거는 advantage, critic은 메모
critic을 게이트에서 가이드로 — 플래그는 GENERALIZE 주석 + 가이드 refine 1회, 수용 판정은 advantage/held-out이 유지. 774e893
fixed: 차단벽 대신 메모지 — 후보는 흐르고, 주석이 다음 정련을 겨눈다
전환 직후의 v3 완주 ledger: GENERALIZE 주석이 붙은 후보 21개가 ‘메모’로 흘렀고,
같은 런들에서 mechanic이 parked 13 / confirmed 7 — sleep은 더 이상 굶지 않는다.
스위트 224 green. 이 원칙은 헌법에 성문화: “게이트 금지: critic·검사류는 가이드로만”
(2026-07-09-ttso-intent-ideal-trace.md §3, 재범 이력 2회 명기).
6
L3 가설 churn — 메모 없이 매번 처음부터 시험 보는 학생
지난 시험에서 뭘 틀렸는지 적어두지 않는 학생은, 같은 문제를 몇 번이고 처음처럼 푼다.
B1_on_s1이 L3에 도달한 뒤 9라운드(r22–30) 동안 가설 27개를 세웠지만, 앞 라운드 가설을 명시적으로 참조한 것은 0건 — 같은 셀 세 곳을 각각 3번씩 재클릭하며 제자리를 돌았다.
fault: wake 추론이 제자리 순환 + 있어야 할 기억 노드 자리가 점선 빈 칸
실사례 원문 (trace 정량 + 가설 원문 대조)
정량 (runs/stageB_v3/traces/B1_on_s1.jsonl, r22–30): HYPOTHESIS 행 27개 (9라운드 × 3),
이전-가설 명시 참조 0건, 재클릭 ×3: (23,17)·(23,33)·(23,49) 각 3회.
trace 파싱으로 재검증 (2026-07-10)
같은 아이디어가 라운드를 건너 처음처럼 다시 태어난다 —
r24: “A 6x6 nonuniform block is a 3x3 recipe: symbol 0 means the recipe centre colour.” →
r30: “Clue symbols are absolute palette indices: low symbol maps to the first palette colour…”
— r27이 “The earlier target rule is incomplete”라고 말하면서도, 어떤 장부도 가리키지 못한다.
B1_on_s1.jsonl reasoning 원문 (HYPOTHESIS 라인 발췌)
가설 장부(hypothesis ledger) — C-v3 설계, 구현 진행중 — 하네스가 가설→운명을 자동 기록하고 TRIED&REFUTED를 매 라운드 재주입 (헌법 §3 기억 4층의 ②). b0b8d35 (설계)
planned: 같은 지도에 점선 초록 ‘가설 장부’ 노드가 추가된다 (진행중)
진행중 검증은 아직 없다 — 더미 숫자를 적지 않는다.
예정 지표: