메모리 동기화는 새 키링 항목을 확인할 때 그 앞의 체인을 다시 읽지 않습니다. 클라이언트가 공유 리시버의 증분 진입점(omo-service #600, 재벤더링)을 사용하며, 리시버는 검증된 체인 상태와 함께 이동합니다. 1,000개 항목 체인에 항목 하나를 추가하면 예전에는 리시버에 1,006개 항목을 모두 다시 전달했지만, 이제는 체인 길이와 관계없이 항목 하나만 전달합니다. 리시버가 거부하는 항목(재생된 항목이나 seq가 낮은 항목 포함)은 변경되지 않았습니다. (#10694, #10655 수정)
엔진이 senpi 2026.10.21-2로 올라갑니다. 유휴 태스크 호스트가 다시 정상 종료되고, 다시 연 세션이 쿼터를 소모하지 않으며, 세션끼리 프롬프트 캐시를 공유합니다(#10893). 모니터 감시가 더 이상 머신에서 모든 태스크 샤드 호스트를 계속 실행시키지 않아, 유휴 호스트가 설계대로 종료됩니다. 무인으로 실행하던 세션을 다시 열어도 입력을 보내거나 Resume을 선택하기 전까지는 목표나 백그라운드 이벤트에 쿼터를 쓰지 않습니다. 응답의 프롬프트 캐시 키는 세션이 아니라 모델, 지시사항, 도구 스키마를 기준으로 생성되므로, 같은 프리픽스를 가진 새 세션과 태스크 자식들이 하나의 캐시를 재사용합니다. 구독 한도에 막혀 대기 중인 목표는 소진된 계정을 계속 두드리지 않고 제공자의 리셋 시점에 재시도합니다. Windows에서는 턴이 실행 중일 때 보낸 입력이 더 이상 멈추거나 전체 폴백 체인을 경쟁적으로 통과하지 않습니다. 현재 모델이 한도에 도달한 상태에서 긴 대화를 컨텍스트가 더 작은 모델로 전환하면 다음 메시지부터 적용됩니다. OAuth 로그인 상태에서 API 키를 저장하거나 그 반대로 저장할 때, 사용되지 않는 자격 증명을 저장하는 대신 기존 자격 증명을 교체합니다. 하루 200줄 이후 바쁜 명령 모니터가 음소거되지 않으며, 모든 어시스턴트 응답은 소요 시간(첫 토큰까지의 시간과 생성 속도)을 기록합니다.
OmO는 답변이 "테스트 통과" 또는 "완료"라고 말하는데 세션에 근거가 없을 때 이를 기록합니다. 턴의 최종 답변이 테스트 통과, 빌드나 타입 체크 정상, 기능 이미 존재, 작업 완료를 주장하면, OmO는 마지막 코드 수정 이후 통과한 검사가 세션에 있는지 확인하고, 그 주장이 뒷받침되는지 세션에 기록합니다. 섀도 모드로 시작하므로 사용자나 에이전트에게 아무것도 표시되지 않으며 턴도 차단되거나 계속되지 않습니다. 우리 세션 일주일치를 보니 대부분의 플래그가 여전히 거짓 양성이었기 때문입니다. omo-senpi-claim-receipt-nudge 플래그를 설정하면 플래그된 답변 아래에 짧은 안내가 표시되고(보낸 메시지마다 한 번), 플래그된 주장은 이후 생성되는 게이트 검토자에게 전달됩니다. (#10785)
omo doctor --models는 모든 태스크 카테고리와 에이전트가 어떤 모델을 실행하는지 보여주고, exclude_models는 모델을 모든 곳에서 제외합니다(#10763). 새 doctor 화면은 카테고리와 에이전트별로 스폰이 먼저 실행하는 모델, 순서대로 된 재시도 체인, 각 단계의 출처(내장, omo.json, 또는 에이전트가 빌려 쓰는 카테고리)를 출력하고, 해당 단계가 실행되는지 여부와 그 이유(제외됨, 로그인 없음, 도달하지 않음)를 함께 보여줍니다. 스폰이 사용하는 것과 같은 리졸버를 읽으며, --json을 쓰면 스크립트에서도 같은 결과를 얻을 수 있습니다. 새로운 최상위 exclude_models 목록(provider/model 형식, 모델 ID만 쓰거나 "claude-fable-*"와 같은 * 패턴 사용 가능)은 카테고리와 에이전트 체인, 메모리 자식(상속받을 세션 모델 포함), 메인 세션의 모델 프로필, 명시적 태스크 고정, 기록된 모델로 다시 생성되거나 재개되는 태스크 자식(기록된 폴백 체인 포함)에 적용됩니다. 이전에는 내장 단계가 실행되는 것을 막을 수 있는 설정이 없었고, 해당 제공자에서 로그아웃하는 방법만 있었습니다(#10759).
Geeky가 Obsessive가 됩니다. 두 GPT 레인의 표시 이름이 Obsessive · Normal과 Obsessive · Heavy로 바뀌었고, 이에 맞춘 한 줄 설명과 함께 공통 주의 문구 "NOT RECOMMENDED FOR WRITING OR EVERYDAY WORK."가 추가되었습니다. 이 문구는 세션 시작 알림에서 굵게 표시됩니다. geeky-normal, geeky-heavy ID와 이들이 보고하는 family는 그대로 유지되므로, 저장된 model_profile, 선택기에서 고른 항목, 사용자 오버레이는 이전과 똑같이 해석됩니다. model_profiles 항목은 자체 caution 문자열을 설정할 수 있으며, 내장 프로필을 대체하는 항목은 caution을 설정하지 않으면 내장 값을 물려받습니다. (#10608, #10590)
Obsessive · Normal은 medium 설정의 GPT-6 Astra를 가장 먼저 사용합니다. geeky-normal 모델 프로필은 모든 GPT 제공자에서 GPT-6 Astra(medium)를 먼저 해석하고, GPT-6.1 Sol Fast, GPT-6.1 Sol, GPT-5.6 Sol 단계는 가용성을 위한 폴백으로 유지합니다. Obsessive · Heavy는 Astra를 high로 유지합니다. (#10608, #10590)
메모리 동기화가 실제 배치를 검증하고 봉인할 수 있습니다. 동기화 엔진에 프로덕션용 검증기와 봉인기가 생겼습니다. 다른 기기가 추가한 각 행은 이 기기가 가진 계정 체인의 검증된 사본과 대조해 확인한 뒤, 이 기기가 가진 에포크 키로 열고, 해당 메모리의 노트만 이 기기에 전달됩니다. 보내는 배치도 같은 방식으로 암호화, 서명, 연결됩니다. 아직 이를 사용하는 곳은 없으며, 세션을 여는 기기 로그인은 다음에 추가될 예정입니다. (#10625, #10627)
로그인된 기기가 이제 메모리 동기화에 연결됩니다. 이전에는 아무도 기기의 로그인 정보를 전달하지 않아 메모리 동기화가 모든 기기에서 유휴 상태로 남아 있었습니다. 이제 omo login으로 로그인한 기기와 그 기기가 등록한 키 쌍을 읽어, 해당 메모리에 대한 계정 동기화를 엽니다. 로그인은 되어 있지만 아직 계정의 메모리에 참여하지 않은 기기는 로그인 없음으로 보고하지 않고 그 상태를 알려줍니다. 기기가 로그아웃하거나 제거되면 동기화가 닫히고 다시 유휴 상태로 돌아갑니다. (#10625, #10630)
카테고리에 남은 모델이 없는 하위 태스크는 세션이 실행 중인 모델로 마무리됩니다. 위임된 태스크의 카테고리에 있는 모든 모델을 쓸 수 없을 때(사용 한도가 소진되었거나 제공자에 로그인되어 있지 않을 때), 태스크는 같은 대화에서 세션의 모델로 계속 진행하므로 이미 끝난 도구 호출은 다시 실행되지 않습니다. 이전에는 사용자의 모델이 작동 중인데도 사용 한도 오류와 함께 멈췄습니다. 태스크의 행, task_output, 완료 알림에는 어떤 모델에서 실행되었고 왜 그랬는지가 표시됩니다. 예를 들어 parent-model:usage limit, resets 3:20am처럼 표시되며, 한도 때문에 중단되어 실행되지 않은 도구 호출도 함께 표시합니다. 여전히 작동하는 모델이 있는 카테고리는 이전과 똑같이 라우팅되며, 같은 소진된 계정의 세션 모델은 여전히 기존 오류로 종료됩니다. 엔진이 이 동작을 소진되었거나 로그아웃된 모델로만 제한할 수 있게 되기 전까지는, 과부하처럼 다른 이유로 카테고리의 모든 모델이 실패한 태스크도 세션 모델로 계속 진행하며 이를 알립니다 (#10750, #10772).
하나의 저장소에 속한 Git 워크트리들이 메인 체크아웃의 메모리를 공유할 수 있습니다. memory.auto_identity: "git"을 설정하면(메인 체크아웃 밖에서 만든 워크트리도 인식하도록 예를 들어 ~/.omo/omo.jsonc에 설정), Orca가 에이전트별로 만드는 것을 포함한 모든 연결된 워크트리가 빈 메모리로 시작하는 대신 메인 체크아웃의 메모리를 읽고 씁니다. 메인 체크아웃은 기존 메모리를 그대로 유지하고, 이미 바인딩된 세션은 자신의 메모리를 유지합니다. 기본값인 "path"를 쓰면 동작은 바뀌지 않습니다. (#9659, #10047)
- 4d18b5e 풀 리퀘스트 #10930 머지 (code-yeongyu/release/v5.1.42-source-state 브랜치에서)
- 1c492a9 풀 리퀘스트 #10928 머지 (code-yeongyu/fix/web-build-id-content-hash 브랜치에서)
- 7ca0c35 test(script): 명령 문자열 감사 허용 목록에서 컴파일된 10763 조각 제거
- 738b7b1 docs(changelog): 5.1.42의 측정된 최적화를 맨 앞에 배치
- 5888e9f 풀 리퀘스트 #10923 머지 (code-yeongyu/test/10912-late-child-abort-signal 브랜치에서)
- d9309df docs(changelog): 미출시 변경 조각을 5.1.42로 통합하고 최적화를 맨 앞에 배치
- 45dc3e8 test(web): 인라인된 빌드 ID 마커 검증; 런북에 같은 커밋 재배포 내용 추가
- cb52742 fix(web): 커밋에서 빌드 ID를 생성하여 하나의 /_next/static// 경로가 하나의 바이트 집합을 가리키도록 수정
- ea4341e 풀 리퀘스트 #10917 머지 (code-yeongyu/test/10911-packed-sidecar-bounded-stages 브랜치에서)
- e7369e0 chore(deps): dev 머지 후 플러그인 번들 재생성 (bundle-train 배치 1)
- da40a02 풀 리퀘스트 #10882 머지 (code-yeongyu/batch/memsync-coord-1 브랜치에서)
- 59d133f 풀 리퀘스트 #10909 머지 (code-yeongyu/ci/web-deploy-skip-master 브랜치에서)
- 30d7ca2 docs(changelog): 5.1.41 컷 이후에도 배치 #1 항목을 [Unreleased] 아래에 유지
- 50b7e01 test(web): 정확한 배포 작업 조건 검증
- 7c51aff ci(web): master에 대한 push에서 프로덕션 배포 건너뛰기
- f9de7ac 풀 리퀘스트 #10907 머지 (code-yeongyu/ci/10904-warm-python-before-eval-smoke 브랜치에서)
- 7bd5311 ci(publish): Windows eval 스모크 테스트 전에 커널 stdlib 임포트 미리 로드 (#10904)
- 6ce160a chore(bundles): 최신 dev 기준으로 bundle-train 배치 #1의 생성된 번들 재생성 (bun 1.4.3)
- 2820b40 batch1: dev 머지
- edcdccf chore(deps): dev 머지 후 플러그인 번들 재생성
- 7d818ab 풀 리퀘스트 #10886 머지 (code-yeongyu/release/v5.1.41-source-state 브랜치에서)
- 1fce9cc 풀 리퀘스트 #10880 머지 (code-yeongyu/fix/10847-gatekeeper-window-clock 브랜치에서)
- f52b4a2 풀 리퀘스트 #10871 머지 (code-yeongyu/fix/reload-cleanup-kill-wait 브랜치에서)
- 5131eae origin/dev 원격 추적 브랜치를 fix/10847-gatekeeper-window-clock에 머지
- 29b2eb9 chore(bundles): bundle-train 배치 #1의 생성된 번들 재생성 (bun 1.4.3)
- 9118704 test(script): Gatekeeper 창을 벽시계 시간이 아닌 폴링 횟수로 계산
- 158baf4 batch1: #10694 @d84146c6dd 머지 (snapshot.ts: dev의 decodeB64(from #10743)와 import 통합)
- 9633a52 batch1: #10608 @e804fb8ada 머지
- 8b63f34 batch1: #10675 @76c51c2dde 머지
- 37e0f05 batch1: #10047 @f411e0810e 머지
- 183bb0e batch1: #10772 @f2086ad7c0 머지
- 3b2b367 batch1: #10630 @0f74428b44 머지
- fe4f07f batch1: #10627 @bf83f20814 머지
- af513a0 batch1: #10763 @4c43a9d401 머지
- 59d78fc batch1: #10785 @1a3689cb6d 머지
- e804fb8 feat/geeky-normal-astra-medium에 dev 머지 (기본 동기화, 머지 규칙 04:11Z)
- d000904 feat/claim-receipt에 origin/dev 원격 추적 브랜치 머지
- 4c43a9d test(build): 카테고리 커버리지 런타임 번들이 다중 출력으로 부풀어 오르지 않도록 보호
- c57353f test(audit): changes/unreleased/10763.md의 omo doctor 언급을 명령 문자열 감사 허용 목록에 추가
- 76c51c2 i18n-eu/european-locales에 origin/dev 원격 추적 브랜치 머지
- 7b2d8d4 docs(changelog): 미출시 단락을 조각 옆에 유지 (changelog gate)
- 8d58df2 feat/10759-doctor-models에 dev 머지 (#10790 이후)
- f5df6f3 prestage/claim-receipt-merge에 origin/dev 원격 추적 브랜치 머지
- c50ea6f fix(claim-receipt): 허용 목록에 정확한 명령 식별자 사용; argv 메시지는 명령이 아님 (#10785 리뷰 r4)
- 9eb70e6 fix(claim-receipt): eval 셀 명령은 명령 위치의 긍정 허용 목록에서 가져옴 (#10785 리뷰 r3 L1)
- 43f1851 fix(claim-receipt): 명령 문자열 목록, 값 플래그, ssh --, 백틱, here-string 읽기 (#10785 리뷰 r3)
- 3d46b43 fix(task): 되살아난 자식의 저장된 폴백 체인을 exclude_models 기준으로 다시 필터링
- a04897d feat(claim-receipt): replay 정밀도가 70%에 도달할 때까지 섀도 모드로 배포
- b4a372e fix(claim-receipt): 읽기 작업은 검사 실행이 아님; 명령 인식 복원 및 확장 (#10785 리뷰 r2)
- 9f9b1df fix(models): 모든 자식 경로가 exclude_models를 거치도록 수정
- 508e2fa fix(web): 설치 리디렉션이 모든 로케일에 도달하도록 수정; 매처는 로케일에 무관하게 유지되고 로케일은 레지스트리에서 확인 (#10670)
- 05955c0 test(script): 새로운 omo doctor --models 언급을 명령 문자열 감사에서 분류 (#10759)
- d84146c test(memory-core): 전달된 리시버가 전체 이력에 대한 판정을 내리도록 검증; passReceiver의 전제 조건 문서화 (#10694 리뷰 LOW 항목)
- 27fb8b4 tk10694에 origin/dev 원격 추적 브랜치 머지
- 0f74428 memsync/10625-device-resolver에 커밋 bf83f20814 머지
- bf83f20 memsync/10625-account-session에 origin/dev 원격 추적 브랜치 머지
- f411e08 pr10047-rebase에 origin/dev 원격 추적 브랜치 머지
- 80f50e9 feat/10759-doctor-models에 origin/dev 원격 추적 브랜치 머지
- 85f271e feat/geeky-normal-astra-medium에 dev 머지 (bundle-train 기간)
- e49c20f fix/child-fallback-parent-model에 origin/dev 원격 추적 브랜치 머지
- dcc1cd0 docs(changelog): claim-receipt 항목을 #10785에 연결
- 8740755 pr10047-rebase에 origin/dev 원격 추적 브랜치 머지
- 0a2374d docs(changelog): 부모 모델 폴백 항목에 #10772 연결
- e7209d8 feat(omo-native): omo doctor --models가 스폰 리졸버가 만드는 모든 체인을 출력 (#10759)
- 3b4efc5 feat(config): exclude_models로 모든 체인에서 모델 제외 (#10759)
- 1a1d017 fix(memory-core): 스냅샷 가져오기가 이어받는 상태와 리시버를 함께 유지 (#10655)
- f2fd7f8 memsync-10655-mv에 origin/dev 원격 추적 브랜치 머지
- 5403989 test(audit): 에이전트 명령 문자열 허용 목록에 docs 아래 새 README 5개 나열 (#10670)
- 7a97d34 memsync/10625-device-resolver에 커밋 a0cba50 머지
- a0cba50 docs(changelog): #10627 항목을 Unreleased 아래로 되돌림 (dev 머지로 5.1.39에 남아 있었음)
- b60cfa1 memsync/10625-account-session에 origin/dev 원격 추적 브랜치 머지
- 8752521 memsync-10655-mv에 origin/dev 원격 추적 브랜치 머지
- 7dbcf26 memsync/10625-device-resolver에 커밋 d39fb55 머지
- ca75c32 memsync/10625-account-session에 origin/dev 원격 추적 브랜치 머지
- f7bb96a docs(memory): auto_identity는 동기화가 활성화되고 로그인된 경우에만 메인 체크아웃의 동기화 스트림을 공유 (#10047 리뷰 LOW)
- b01d525 pr10047-rebase에 origin/dev 원격 추적 브랜치 머지
- 3f51f54 feat/geeky-normal-astra-medium에 dev 머지 (최종 기본 동기화)
- 4f971fb docs(changelog): auto_identity 항목을 #10047에 연결
- ac3308e pr10047-rebase에 origin/dev 원격 추적 브랜치 머지
- b29faf4 fix(memory-core): 검증된 체인 상태와 함께 전달되는 증분 리시버로 각 키링 항목 확인 (#10655)
- bcf24f7 test(memory-core): RED - 키링 항목 하나를 추가할 때 리시버가 검증된 전체 이력을 받는 문제 (#10655)
- 363f96c chore(memory-core): omo-service 5de1455489에서 sync-format 재벤더링 (#600, 증분 키링 리시버)
- b118c2a fix(memory): session-binding.ts에서 auto_identity를 해석하고 메인 체크아웃의 identity 동기화 (#10047)
- a238476 pr10047-rebase에 origin/dev 원격 추적 브랜치 머지
- 1537ca8 feat(web,docs): omo.dev와 README에 es, fr, de, pt-BR, it 추가 (#10670)
- 6f94f13 feat/geeky-normal-astra-medium에 dev 머지 (READY 전 최종 동기화)
- e272d10 memsync/10625-device-resolver에 커밋 2781981 머지
- 2781981 memsync/10625-account-session에 커밋 7b7742f 머지
- 3f44155 feat/geeky-normal-astra-medium에 dev 머지 (READY 전 기본 동기화)
- 2db6128 memsync/10625-device-resolver에 커밋 61f1975 머지
- fe4496b test(omo-opencode): 서비스 인증 하위 경로를 공개 하위 경로 가드 기준으로 검증 (#10630)
- 1555e17 docs(changelog): 메모리 동기화 기기 세션 (#10630)
- b2a4e7d feat(memory): 로그인된 기기에서 메모리 동기화 세션 열기
- c6d0022 memsync/10625-account-session에 커밋 85afdc2 머지
- fb338d0 memsync/10625-account-session에 origin/dev 원격 추적 브랜치 머지
- ebbf8fe memsync/10625-account-session에 origin/dev 원격 추적 브랜치 머지
- 1b03529 fix(memory): 사용할 수 없는 행 앞의 유효한 행을 유지하고 계정 체인을 페이지 단위로 처리
- ec33ff3 feat/geeky-normal-astra-medium에 dev 머지 (changelog gate 기준)
- 7da7c91 fix: dev에서 Unreleased changelog를 다시 만들고 Obsessive/Astra 항목 재추가 (리뷰 H1, #10608)
- 70d75c5 docs(changelog): 메모리 동기화 계정 세션 (#10627)
- 515b089 feat(memory-core): 계정 체인 위에서 검증하는 Verifier와 Sealer를 갖춘 계정 동기화 세션
분량 관계로 이후 내용은 번역에서 제외했습니다. 전체 내용은 위 원문 링크에서 확인하세요.