Engine: senpi 2026.9.16
모델이 추론하는 동안 추론이 표시됩니다. Claude lanes는 전체 사고 단계 동안 "Working" 라인에 머물렀다가 빈 응답 복구 래퍼가 첫 번째 눈에 띄는 텍스트나 도구 호출까지 모든 이벤트를 버퍼링했기 때문에 추론 블록 전체를 한 번에 덤프했습니다. 7일간의 세션 파일에 따르면 추론 기능이 있는 Claude 턴의 80%가 이러한 방식으로 유지되었으며, 중앙값은 16초, p90에서는 37초였습니다. 이제 래퍼는 첫 번째 의미 있는 이벤트에서 전달을 시작하므로 추론은 모델이 생성할 때 도착하고 제공자가 응답하자마자 어시스턴트 메시지가 열립니다. 추론을 스트리밍한 후 아무것도 없이 끝나는 턴은 더 이상 스트림 내에서 재생되지 않습니다. 두 번째 시작이 메시지를 복제할 수 있기 때문입니다. 대신 이미 본 내용을 유지하는 재시도 가능한 오류로 끝나며, 세션의 자체 턴 재시도가 다시 요청합니다. Kimi는 의도적으로 이전의 버퍼링된 경로를 유지합니다. 추론 채널이 잘못된 도구 호출이 도달하는 위치이기 때문입니다.
read는 JSON 구조를 반환합니다. 적합한 .json 파일은 원시 바이트 대신 선언 안전 폴딩이 있는 분할된 구조적 뷰로 반환되며, TypeScript와 JavaScript는 측정된 후보가 둘 다에 필요한 저장을 놓쳤기 때문에 그대로 유지됩니다. 명시적 offset/limit 요청, 잘린 입력, 마크다운 및 .txt는 이전 경로를 유지합니다.
하나의 확장 프로그램이 더 이상 종료를 차단할 수 없습니다. 모든 session_shutdown 핸들러는 호스트 예산 하에서 실행되고 오버런할 때 중단되는 핸들러별 signal을 받으므로 느린 핸들러는 종료, /reload, /new, /resume 및 포크를 차단하지 않습니다. 예산은 구성 가능합니다.
JavaScript eval 셀은 자식에게 도구를 게시할 수 있습니다. tool(fn, metadata?)은 명명된 함수를 프로세스 내 자식을 위한 울타리 도구로 등록하고, 워커 응답은 최상위 실행 큐와 별도의 펌프에서 설명 및 호출 요청을 처리하며, workpool(agent, name, mode?)은 호스트 workpool 도구 위의 얇은 어댑터로 JS, Python, Ruby 및 Julia 프리루드에 포함됩니다. 백그라운드 agent(..., handle: true)는 이제 호스트에서 구조화된 작업 ID 및 실행 에포크를 요구합니다.
터미널 종료가 기대하는 대신 에스컬레이션됩니다. TerminalSession.terminate()는 신호를 보내고, 대기하고, SIGKILL로 에스컬레이션합니다. 세션 레지스트리는 강제 종료 및 분리된 자식에 대한 유예 설정을 얻었고, 분리된 정리는 유예 기간을 생존하는 것들을 종료합니다. SENPI_BUN_TERMINAL 뒤에 opt-in Bun 터미널 백엔드를 사용할 수 있습니다.
세션 목록이 지속성 있는 상태와 라이브 상태를 섞지 않습니다. SessionMetadata는 listSessions() 및 서버 스냅샷에 대한 SessionSummary를 대체하고, 런타임 상태는 획득한 세션에서만 제공되며, 프로토콜은 길이 접두사 프레이밍과 함께 전송 중립 CBOR 스키마를 얻었습니다.
OmO
ulw-loop는 eval-kernel 재로드를 견딥니다. 재로드는 PI_SESSION_CWD 및 PI_GOAL_STORE_FILE를 삭제하는 데 사용되었으며, 이는 PI_SESSION_CWD is required로 도구 키트에 실패하고 라이브 드라이버 목표를 숨겼으므로 루프는 이미 존재하는 목표를 만들 것을 제안했습니다. 이제 둘 다 세션 파일에서 파생되며 폴백으로 대체됩니다. 각 폴백은 자신의 해결 방법을 표시하고, 도움말 텍스트, addGoal 기준 및 아티팩트 경로는 같은 패스에서 포함됩니다.
Kibitzer가 전체 디스크 읽기를 중단했습니다. 읽기 전용 grep은 전체 작업 공간을 탐색했고 1MB까지 모든 파일을 읽었습니다. 277,000개의 실제 파일 작업 공간에서 보행만 해도 2.5초가 소요되었고 드문 패턴이 모든 것을 읽었습니다. 후보는 이제 git에서 제공되므로 .gitignore가 적용되고, 스캔은 파일 수, 바이트 및 벽시계 예산에서 중지되며, 깨어날 기한을 지나 실행하는 대신 턴의 중단 신호를 준수합니다. 후보 수집도 증분적으로 진행되었습니다. 800개 문서 고정 세트에서 트리거당 CPU가 동일한 출력으로 308ms에서 5ms로 감소하여 큰 메모리 코퍼스의 모든 도구 호출에 영향을 미쳤던 일시 중지를 제거합니다.
세션 종료가 더 이상 Kibitzer를 기다리지 않습니다. 메모리 확장은 사이드카의 종료 및 1.5초 드레인 예산 외부의 사실 취소를 기다리는 데 사용되었으므로 느린 임대 해제는 종료, /reload, /new 및 /resume을 정지시키고 뒤에 있는 단계를 기아 상태로 만들었습니다. 두 대기는 이제 드레인 기한과 경합하고 분리된 상태로 종료되며, 깨어날 임대 및 사이드카 디렉터리 잠금은 여전히 해제됩니다. 모든 깨어남도 입학에서 경계가 있습니다: 90초 기한은 자식이 시작되기 전에 활성화되고, 300초 총 상한은 스티어 재활성화를 통해 유지되며, 자식 시작 중 정지는 깨어남을 종료하고, 슬롯을 다시 반환하고, 늦은 자식을 폐기합니다.
입력된 작업 핸들. 백그라운드 작업 핸들은 실행 에포크를 포함하므로 이전 실행의 핸들은 라이브 핸들과 혼동될 수 없습니다.
workpool은 키 지정, 일괄 팬아웃을 위한 새로운 호스트 도구입니다. workpool create { name, agent, mode?, tools? }은 프롬프트를 사용하여 category 또는 subagent_type을 실행하는 풀을 열고, push { pool_id, items: [{ key, input }] }은 용량을 기다리지 않고 한 번에 { pool_id, item_ids }를 반환하며, 스케줄링은 지속성 있는 수신 후 한 이벤트-루프 턴 후에 발생하므로 나중의 모든 깨어남이 이벤트 기반입니다. inspect는 각 항목의 상태 및 해당 데이터 또는 오류가 있는 지속된 레코드를 읽고, close는 섭취를 중지하고 진행 중인 항목을 완료하도록 하며, cancel은 대기 중 및 할당된 항목을 cancelled로 표시하고 해당 워커를 취소합니다. 풀 ID는 wp_<32 hex>, 항목 ID는 wi_<32 hex>입니다. 바이트 동일한 입력으로 키를 다시 푸시하는 것은 멱등원입니다. 발산하는 다시 푸시는 yield_conflict입니다. 풀 워커는 task 스폰과 동일한 입학 임대, 모델별 동시성 슬롯 및 스폰 정책 검사를 사용하므로 풀의 아무것도 입학을 무시하지 않습니다. 하나의 승인된 집계 결과는 폴링 없이 유휴 주입 경로를 통해 전달되며, 재연결을 한 번 생존합니다.
풀 워커는 기본값으로 keep_alive입니다. 하나의 실제 배치에서 항목 사이에 워커를 따뜻하게 유지하는 것은 약 5분의 1의 토큰으로 동일한 정확성을 가지면서 42-51초 신규 스폰 대비 p95에서 12-13초를 답변했습니다. 따라서 keep_alive는 기본값이며 fresh는 풀별로 사용 가능합니다. 오래된 커널 오류 후 yield하는 워커는 하나의 키 지정된 오류 및 단일 집계를 생성하며, 자동 재시도는 없습니다.
부모의 JavaScript 도구는 그것을 받는 자식으로 범위가 지정됩니다. 권한은 자식의 해결된 유효 도구 세트에서 계산되므로 큐레이션된 읽기 전용 에이전트, 정책이 쓰기 가능 도구에 대한 부모보다 더 좁은 자식, 프로세스, 팀 및 비JavaScript 자식은 입력된 오류로 거부되고 자식 세션은 없습니다. 부활한 자식은 모든 호출에서 부모 커널의 세대 및 수정 버전을 다시 확인합니다: 리셋, 동일 이름 재정의 또는 라이브 바인딩이 없는 새 호스트는 자식의 자체 결과 채널에서 kernel_tool_stale 또는 tools_unavailable을 반환하여 오래된 클로저를 실행하는 대신 반환합니다.
- 9a219d1 Merge origin/dev into release/v5.0.0-beta.64-source-state
- b3e8909 Merge pull request #8351 from code-yeongyu/fix/7832-git-attribution-default-off
- 6fc8809 Merge origin/dev into release/v5.0.0-beta.64-source-state
- 66e8d2e Merge pull request #8358 from code-yeongyu/docs/beta64-workpool-emphasis-20260916
- b3c053f Merge origin/dev into fix/7832-git-attribution-default-off
- 79213a0 docs(changelog): emphasize the workpool engine and scoped kernel tools in beta.64
- ab77480 Merge origin/dev into fix/7832-git-attribution-default-off
- 5a2ceb6 Merge pull request #8354 from code-yeongyu/fix/8348-subagent-target-honesty
- f0a1a41 docs: record that a subagent_type is never resolved as a category
- f86ba87 fix(git-master): stop shipping a GitHub-resolvable co-author and make the commit footer opt-in (refs #7832)
- c54164a Merge pull request #8350 from code-yeongyu/fix/changes-diff3-markers-20260916
- 17df625 docs(changes): drop leftover diff3 base markers from the O6 dev merge
- b60191d Merge pull request #8331 from code-yeongyu/feat/omp-o6-20260913
- 0fae7df merge: sync origin/dev into feat/omp-o6-20260913
- 82cfd88 fix(task): share one child tool list between grant and session options
- a4c7962 Merge pull request #8344 from code-yeongyu/fix/kibitzer-shutdown-and-wake-bounds
- 154bc53 Merge origin/dev into fix/kibitzer-shutdown-and-wake-bounds
- 2b05bdc Merge pull request #8345 from code-yeongyu/fix/ulw-sdk-friction-8332-8333-8334
- 1f00114 Merge pull request #8342 from code-yeongyu/fix/kibitzer-grep-budget
- cf86e2a Merge origin/dev into fix/kibitzer-grep-budget
- d494121 Merge pull request #8340 from code-yeongyu/fix/recall-collect-hot-path
- b21f0b3 docs(changes): record the bounded session shutdown and Kibitzer wake caps (#8344)
- 43772b2 feat(ulw-loop): criteria on addGoal, self-describing help, artifact-bound evidence (refs #8334)
- 585bfa1 fix(ulw-loop): report a differing driver objective once and keep create_goal advice for a missing driver (refs #8333)
- a7d978c fix(task): scope parent kernel tools to the child's effective tool set
- e6e9cd1 docs(kibitzer): record the bounded, gitignore-aware sidecar grep
- e0278f4 fix(kibitzer): honor .gitignore in the sidecar grep candidate list
- fb70106 fix(kibitzer): bound the sidecar grep scan and honor the turn signal
- 055aa10 docs: record the incremental kibitzer candidate collection change
- c6f9733 perf(memory-core): serve the recall ledger from a stat-gated read cache
- 71121a6 perf(memory-core): gate the recall HEAD probe on git ref file stats
- 83a8cfd perf(memory-core): memoize the normalized recall haystack per corpus revision
- e2426cf fix(task): fail closed on stale revived kernel capabilities
- 5fbcb0d feat(task): grant scoped JS kernel tools to in-process children
- 879a8b7 Merge pull request #8217 from code-yeongyu/feat/omp-o2-20260913
- 9fa1412 merge: sync O2 with origin/dev@40b4229be
- 231ed1e merge: sync O2 with origin/dev@eb29e87b5
- 40b4229 Merge pull request #8327 from code-yeongyu/release/v5.0.0-beta.63-source-state
- f2b5a2a fix(workpool): pin attach-recovery session_start and lock crash-recovery
- deeba7b merge: sync O2 with origin/dev@e9dffe06d
- 7602292 fix(workpool): acknowledge aggregate delivery and close review findings
- 6b5f07f feat(workpool): deliver one aggregate result and selected default
- 5f27464 merge: sync O2 with origin/dev@c5b7e6ac5
- 8c617dc test(task): run real member residency outside Windows --parallel
- c196fea fix(task): keep the member boot graph identical to dev
- 81c5a72 test(task): compare dev and candidate member boot module graphs
- 1606b89 fix(task): remove cold member boot-only dependency overhead
- 515925e test(task): expose child bootstrap and loaded-module residency stages
- d5c31e9 test(task): retain stage diagnostics for process-member residency
- 4846ad7 merge: sync feat/omp-o2-20260913 with origin/dev@efadd155e
- 6190628 fix(workpool): gate worker initialization before member RPC startup
- 2083a82 merge: sync feat/omp-o2-20260913 with origin/dev@2d172c645
- f5f3920 feat(workpool): persist batched turns and keyed results safely
- bbef86f merge: sync feat/omp-o2-20260913 with origin/dev@0bda2b69b
- 363d47c merge: sync feat/omp-o2-20260913 with origin/dev@d1557a4b4
- adb6727 feat(task): add engine-owned workpool admission
- 05b3934 test(task): load real-session fixture through lazy boundary
- 577becc build(task): refresh typed handle producer bundles
- f3521d2 feat(task): emit typed task identity and run epoch
npm i -g omo-ai@beta