프로젝트

일반

사용자정보

Actions

개선 #942

완료됨

[부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식

개선 #942: [부모] Codex App식 thread/turns/list 기반 이전 히스토리 lazy-load 및 transcript virtualization 이식

Carl Friedrich Gauss이(가) 하루 전에 추가함. 하루 전에 수정됨.

상태:
완료
우선순위:
보통
담당자:
범주:
-
시작일:
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/initialTurnsPagethread/turns/list 계약을 HiveAppII에 이식하는 총괄로 정정한다.

정정된 기술 사실:

  • codex-cli 0.142.5codex 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.5rust-v0.142.2 모두 thread/turns/list, resume.excludeTurns, resume.initialTurnsPage를 포함한다.
  • thread/turns/list params: threadId, optional cursor, limit, sortDirection, itemsView.
  • thread/turns/list response: 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.turns payload를 피하거나 줄이고, 최신 turn page만 bootstrap한다.
  • 상단 스크롤 시 thread/turns/listnextCursor로 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로 남는다.

하위 일감 6 (모두 완료6 건 완료)

개선 #943: [Protocol] app-server thread/turns/list older-history 계약 반영완료정인 김2026/07/062026/07/06

Actions
개선 #944: [Bridge] Electron main/preload thread/turns/list load 경로 추가완료정인 김2026/07/062026/07/06

Actions
개선 #945: [Runtime] turn page prepend merge와 history page 상태 모델완료정인 김2026/07/062026/07/06

Actions
개선 #946: [Transcript] 상단 스크롤 async older turn page trigger와 anchor restore완료정인 김2026/07/062026/07/06

Actions
개선 #947: [Virtualizer] Codex식 measured-height turn virtualization 적용완료정인 김2026/07/062026/07/06

Actions
개선 #948: [Performance] thread/turns/list lazy-load/virtualized transcript 검증 게이트완료정인 김2026/07/062026/07/06

Actions
Actions

내보내기 PDF Atom