OmO Native는 멈춘 턴 종료 구독자를 2초 후 더 이상 기다리지 않습니다. 취소된 대기를 실패한 reflection 실행으로 취급하지 않으면서 메모리 복구를 재시도할 수 있으며, stall 진단은 omo.js만 표시하던 방식에서 벗어나 문제가 된 컴포넌트와 훅을 식별합니다. 이 문제를 제보해 주신 @floweredao께 감사드립니다. (#11254, #11249의 일부) (#11280)
웜 메모리 프롬프트가 HEAD와 agreement를 위해 반복적으로 git 프로세스를 실행하지 않습니다. 커밋된 agreement 읽기 결과는 저장소와 전체 revision 기준으로 캐시되며, 캐시 미스 시에는 ledger 경로만 확인합니다. 일반적인 파일 기반 HEAD는 stat으로 검증된 Git 파일에서 바로 해석되며, packed refs와 linked worktree도 포함됩니다. 특이한 레이아웃에서는 git fallback을 사용합니다. (#11216, #10707의 일부) (#11280)
변경 없는 메모리 알림이 더 이상 웜 프롬프트를 콜드 recall에 넘기지 않습니다. Soul 및 agreement 알림은 작은 atomic watermark를 직접 읽고, 유효한 상태가 공지하거나 업데이트할 것이 없음을 확인한 경우에만 락 획득을 건너뜁니다. 누락되었거나 형식이 잘못되었거나 읽을 수 없는 상태는 identity 락 아래에서 다시 확인합니다. Writer는 고유하고 배타적으로 생성된 임시 파일을 통해 게시하며, rename 전에 flush하고, 지원되는 경우 디렉터리를 sync합니다. (#11215, #10707의 일부) (#11280)
게시 후 디렉터리 sync가 실패해도 메모리 알림이 유지됩니다. Soul 및 agreement watermark는 여전히 atomic rename 전에 flush되고 디렉터리 sync를 시도하지만, 게시 이후 sync 오류는 로그로만 남기고 해당 턴의 알림은 폐기하지 않습니다. 쓰기가 실패하면 임시 파일을 정리하고, 반복된 agreement id는 set 비교를 사용하며, HEAD 읽기는 worktree 설정을 git에 위임합니다. (#11234, #10707의 일부) (#11280)
중첩된 인프로세스 태스크가 원래의 세션 트리를 유지합니다. 자식이 만든 태스크는 이제 트리 루트와 증가하는 depth를 기록하므로, 중첩 위임이 depth 1로 다시 시작하지 않고 max_depth를 따릅니다. 루트 세션 자체의 뷰도 중첩된 인프로세스 하위 항목까지 포함하게 되었습니다. 즉 푸터, /tasks, 기본 task_output 목록, task_send, 취소 기능이 이에 해당합니다. 프로세스 모드 하위 항목은 이미 여기에 표시되고 있었습니다. (#11226) (#11280)
중첩된 팀 멤버가 원래의 세션 트리를 유지합니다. 팀을 이끄는 자식 세션은 이제 각 멤버에게 자기 세션을 부모로, 원래 트리 루트를 루트로 지정하며, depth는 리드로부터 증가합니다. 리스폰을 재구성할 때 저장된 멤버 계보도 보존됩니다. (#11229) (#11280)
엔진이 senpi 2026.10.25-2로 업데이트되었습니다. 실행 중간에 중단된 세션을 재개해도 더 이상 크래시가 나지 않고, 스킬이 많을 때의 시작 속도가 다시 빨라졌으며, 컨텍스트 예산 리마인더가 나타나도 긴 세션이 프롬프트 캐시를 유지하고, 요청별 엔진 턴 제한이 기본적으로 꺼졌습니다 (#11240). 스킬 748개 기준으로 시작 시간이 83.2초에서 1.4초로 줄었으며, 이는 5.1.45 이후 느려졌던 시작 속도 문제를 해결한 것입니다 (#11245). 약 714k 토큰의 컨텍스트에서 리마인더를 넘긴 긴 세션에서는 요청이 758k 캐시 토큰 대신 44k 캐시 토큰을 기록합니다. engineTurns.maxPerUserInput으로 턴 제한을 다시 켤 수 있으며, 6시간 턴 런타임 상한은 여전히 적용됩니다. 요약이 들어갈 수 없을 때 컴팩션은 더 짧은 안전한 꼬리 구간을 찾습니다. Kimi Code는 Kimi K3.1 Pro를 제공합니다. 재시작되거나 큐를 비우는 세션은 다른 세션의 큐 메시지를 두 번 받지 않습니다. Claude 구독 세션은 SDK 자식 프로세스를 세션의 프로젝트 폴더에서 실행하므로, 홈 디렉터리 수준의 Claude Code 메모리와 설정이 모든 세션에 로드되지 않습니다. MCP 폼은 닫힐 때 빈 답변을 제출하는 대신 취소됩니다. Claude Code 자동 메모리는 Anthropic 구독 세션에 더 이상 주입되지 않습니다.
ulw-research 실행은 결정되지 않은 brief에 대해 독자용 산출물을 생성할 수 없습니다. 결과물 인터뷰가 이제 ## Fidelity 블록도 기록하며, 새로운 scripts/fidelity-policy.mjs 레지스트리가 이를 CLI가 적용하는 규칙으로 변환합니다. fact fill, fact verify, fact pairs, fact meaning-check, fact polish-apply, fact polish-diff는 잠기지 않은 brief에 대해 fidelity_interview_incomplete 결함 하나와 함께 실행을 거부하고 아무것도 기록하지 않습니다. 각 명령은 --brief(기본값 $SESSION_DIR/brief.md)를 읽으며, 수집은 계속 진행됩니다. 그다음 fact fill은 derived numbers: none 조건에서 파생 행을 거부하고, 각 출처의 meta.json에 대해 출처 하한을 실시간으로 평가하며, languages ... with translation beside 조건에서만 번역을 인용문에 연결하고, fallback: omit 조건에서는 두 번 실패한 문장을 제외합니다. 허용 목록에 없는 derived numbers 또는 fallback 값은 조용히 허용되지 않고 사용 오류로 처리됩니다. standard 이외의 하한에서는 출처가 없는 행이 거부됩니다. fill map은 brief의 해시를 기록하므로, fact verify는 다른 brief로 채워진 판본을 거부(brief_changed)하고 모든 값을 현재 brief 기준으로 다시 검사합니다. (#11166, #11009 해결)
자동 process_crashed 텔레메트리를 제거했습니다. 이 텔레메트리는 별도의 크래시 동의 없이 일반 사용 설정을 사용했습니다. 세션을 시작해도 운영용 크래시 기록을 더 이상 수집하지 않으며, 수동 /bug 보고는 별도로 유지됩니다. (#11258) (#11280)
75401cb Merge pull request #11166 from code-yeongyu/feat/11009-t19
40fe813 Merge pull request #11280 from code-yeongyu/batch/memsync-coord-13
91e090e chore(batch-13): 5.1.47 릴리즈 상태 머지 이후 canonical 재생성 (pair a8428de970afabaa)
d8dd7c2 Merge remote-tracking branch 'origin/dev' into b13
08e9a95 Merge pull request #11282 from code-yeongyu/release/v5.1.47-source-state
68d4241 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
3e6ad34 chore(batch-13): 머지 결과에 대한 canonical 재생성 (pair 1c36c222100a40df)
eff0735 docs(changes): 배치 fragment의 이름을 배치 PR 기준으로 지정 (#11280)
95640d0 fix(ulw-research): brief 값에 대해 실패 시 닫히도록 수정하고, 출처가 없는 행을 판정하며, brief를 fill map에 연결 (Part of #11009)
4924ad7 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
8fc22fc docs(changes): car fragment #11258을 배치 fragment에 통합 (fold-batch)
ea5778b docs(changes): 배치 #13의 car 항목을 배치 fragment로 정리; CHANGELOG.md는 dev 대비 변경 없음
fbf6544 fix(memory): reconcile 호출자를 옵저버 취소로부터 격리
6a057cc fix(telemetry): 크래시 동의 없이 자동 process_crashed를 전송하지 않도록 수정
7e3f4f1 chore(changelog): #11166 항목을 changes/unreleased fragment로 이동
18182ca Merge remote-tracking branch 'origin/dev' into feat/11009-t19
06e137a docs: changelog에 bounded-settle 수정 링크 추가
ed7d503 fix(memory): settled 옵저버를 제한하고 식별
40cc085 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
fe2d042 chore(ulw-research): #11166을 feat/11009-t16의 base에 다시 맞춤
8e12c42 chore(ulw-research): #11160의 head 기록 envelope 및 공유 해싱에 맞춤 (Part of #11009)
2107e56 chore(ulw-research): #11160의 head fidelity 기록 및 polish 계약에 맞춤 (Part of #11009)
b16f3d4 fix(memory): sync 오류 시 게시된 알림 유지
28928fd Merge remote-tracking branch 'origin/dev' into feat/11009-t19
af64398 Merge remote-tracking branch 'origin/dev' into fix/10732-nested-child-root
ab771ae chore(ulw-research): #11160의 head text-only polish 규칙에 맞춤 (Part of #11009)
e569cf2 fix(memory): optimistic watermark 읽기 및 게시에 가드 추가
45575eb perf(memory): 변경 없는 알림이 async 락을 거치지 않도록 유지
5fa50c4 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
ffc8381 Merge remote-tracking branch 'origin/dev' into perf/10707-memo-agreements-head
96ac1bb test(memory): HEAD 및 agreement 회귀 테스트 픽스처 강화
e5a9d65 refactor(ulw-research): fidelity 정책에서 공유 테이블을 소유 모듈에서 가져오도록 리팩터링 (Part of #11009)
1d67831 Merge remote-tracking branch origin/dev into feat/11009-t19
295a1f6 Merge remote-tracking branch 'origin/dev' into perf/10707-memo-agreements-head
3b179c4 test(memory): filesystem HEAD에 맞춰 recall 예산 업데이트
8bc2580 Merge remote-tracking branch 'origin/dev' into perf/10707-memo-agreements-head
013acb5 perf(memory): agreement를 캐시하고 git 없이 HEAD를 해석
fd79cc2 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
c0a01df fix(ulw-research): t19를 dev의 unit registry 및 Codex proofread overlay에 맞게 조정
9f4eb48 Merge remote-tracking branch 'origin/dev' into feat/11009-t19
220b613 feat(ulw-research): fidelity 인터뷰와 brief 잠금 추가 (Fixes #11009)
2e726ce Merge remote-tracking branch 'origin/feat/11009-t16' into feat/11009-t19
9533cfa Merge remote-tracking branch 'origin/feat/11009-t15' into feat/11009-t19
cf6cddb Merge remote-tracking branch 'origin/feat/11009-t14' into feat/11009-t19
3fc915f Merge remote-tracking branch 'origin/feat/11009-t13' into feat/11009-t19
c0386c1 Merge remote-tracking branch 'origin/feat/11009-t12' into feat/11009-t19
2f3f8dd Merge remote-tracking branch 'origin/feat/11009-t11' into feat/11009-t19
79a170c Merge remote-tracking branch 'origin/feat/11009-t10' into feat/11009-t19
165eb1c Merge remote-tracking branch 'origin/feat/11009-t9' into feat/11009-t19
47829fb Merge remote-tracking branch 'origin/feat/11009-t8' into feat/11009-t19
bun add -g omo-ai