Actions
개선 #942
완료됨[부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식
개선 #942:
[부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식
시작일:
2026/07/06
완료일:
2026/07/06
진척도:
100%
추정시간:
(합계: 0:00 시간)
설명
배경:
- #689 롱 호라이즌 안정화는 #690-#694로 완료되었고, renderer bounded window/local reveal/scroll anchoring과 synthetic gate가 선행 반영됐다.
- 추가 검토 결과 Codex app-server는
thread/read includeTurns:true외에thread/turns/list기반 turn history pagination을 지원한다. - 이 부모 일감은 “API 지원 여부 조사”가 아니라, 확인된
thread/resume excludeTurns/initialTurnsPage와thread/turns/list계약을 HiveAppII에 이식하는 총괄로 정정한다.
정정된 기술 사실:
-
codex-cli 0.142.5의codex app-server --stdio에 직접 JSON-RPC 접속해 확인했다. -
thread/turns/list는 실제 app-server method다. bogus thread에서는 unknown method가 아니라thread not loaded가 반환됐고, 실제 저장 thread 대상itemsView: "notLoaded",limit: 2호출도 성공했다. - official source tags
rust-v0.142.5와rust-v0.142.2모두thread/turns/list,resume.excludeTurns,resume.initialTurnsPage를 포함한다. -
thread/turns/listparams:threadId, optionalcursor,limit,sortDirection,itemsView. -
thread/turns/listresponse:data: Turn[],nextCursor,backwardsCursor. -
thread/turns/items/list는 shape만 있고 현재-32601 thread/turns/items/list is not supported yet로 실패한다. - Codex App renderer의
load-older-conversation-history-page는 app-server JSON-RPC method가 아니다. - app-server pagination은 network payload를 줄이지만, 구현상 매 요청마다 stored rollout history를 읽고 turn list를 재구성한 뒤 paginate한다. 반복 상단 스크롤 요청은 반드시 제어해야 한다.
목표:
- 초기 restore에서 full
thread.turnspayload를 피하거나 줄이고, 최신 turn page만 bootstrap한다. - 상단 스크롤 시
thread/turns/list의nextCursor로 older turn page를 가져와 prepend한다. - prepend 후 scroll anchor를 유지하고, measured-height turn virtualization으로 DOM/render 비용을 bounded하게 유지한다.
-
thread/turns/items/list에는 의존하지 않는다. older page의itemsView정책은 #943에서 fidelity/성능 기준으로 확정한다.
책임 경계:
- #943 Protocol, #944 Bridge, #945 Runtime, #946 Transcript, #947 Virtualizer, #948 Performance 순서로 진행한다.
- #689/#690-#694는 완료된 선행 작업으로 취급하고 재오픈하지 않는다.
- Protocol child는 API 존재 여부가 아니라 Hive fixture/live gate/adapter 계약 반영과
itemsView정책 확정을 책임진다.
완료 조건:
- child 1-6 완료.
- Hive contract fixture/live gate가
thread/turns/list,resume.excludeTurns,resume.initialTurnsPage를 검증한다. - 긴 transcript에서 initial restore payload/render 비용, older-load latency, rendered turn count, repeated top-scroll request 수가 report artifact로 남는다.
Actions