프로젝트

일반

사용자정보

Actions

개선 #943

완료됨

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

[Protocol] app-server thread/turns/list older-history 계약 반영

개선 #943: [Protocol] app-server thread/turns/list older-history 계약 반영

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

상태:
완료
우선순위:
보통
담당자:
범주:
-
시작일:
2026/07/06
완료일:
2026/07/06
진척도:

100%

추정시간:

설명

상위 일감: #942

책임:

  • 확인된 Codex app-server thread/turns/list pagination 계약을 HiveAppII schema fixture, live gate, 설계 문서, adapter contract에 반영한다.
  • thread/resume excludeTurnsinitialTurnsPage를 초기 restore 비용 절감 경로로 사용할지 확정한다.
  • Codex App renderer 내부 load-older-conversation-history-page action을 app-server JSON-RPC method로 취급하지 않는다.

정정된 기술 사실:

  • 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한다. 반복 상단 스크롤 요청은 반드시 제어해야 한다.

계약 초안:

  • initialize는 capabilities.experimentalApi: true를 유지한다.
  • initial restore 후보: thread/resume with excludeTurns: true, optional initialTurnsPage: { limit, sortDirection: "desc", itemsView }.
  • older page load: thread/turns/list with threadId, cursor, limit, sortDirection: "desc", itemsView.
  • older 방향 continuation은 response nextCursor를 다음 요청의 cursor로 사용한다.
  • no-more-history는 nextCursor === null로 판정한다.
  • thread/turns/items/list는 현재 미지원이므로 구현 dependency에서 제외한다.

결정 항목:

  • itemsView: "summary"는 first user + final agent 중심이라 payload는 작지만 transcript fidelity가 낮다. full은 fidelity가 높지만 payload/parse 비용이 크다. Hive transcript 요구 기준으로 기본값과 fallback을 결정한다.
  • thread/read includeTurns:true fallback을 legacy/schema drift 상황에 유지할지, feature-detect 실패 시 명시 오류로 볼지 결정한다.
  • 최소 버전은 현재 0.142.2에서도 API가 확인됐으므로 version 상향보다 schema/live feature gate 중심으로 판단한다.

인수 기준:

  • scripts/fixtures/hive-app-server-contract.jsonelectron/liveAppServerGate.behavior.test.tsthread/turns/list, resume.excludeTurns, resume.initialTurnsPage를 검증한다.
  • live app-server probe 결과가 문서 또는 Redmine note에 남는다.
  • thread/turns/items/list 미지원과 app-server replay/rebuild 비용이 설계 제약으로 명시된다.
  • 이 child 완료 전까지 #944 구현은 시작하지 않는다.

연결된 일감 1 (모두 완료한 건 완료)

다음 일감의 해결을 막고 있음: 개선 #944: [Bridge] Electron main/preload thread/turns/list load 경로 추가완료정인 김2026/07/062026/07/06

Actions

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #1

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #2

  • 다음 일감의 해결을 막고 있음:개선 #944: [Bridge] Electron main/preload thread/turns/list load 경로 추가이(가) 추가되었습니다.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #3

  • 제목을(를) [Protocol] app-server older-history page 계약 확정에서 [Protocol] app-server thread/turns/list older-history 계약 반영(으)로 변경되었습니다.
  • 설명이 변경되었습니다. (비교(diff))

일감 정정: app-server pagination 선행 검토 누락을 바로잡아 thread/turns/list 지원 확인, thread/turns/items/list 미지원, app-server replay/rebuild 비용 제약을 반영했습니다.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #4

  • 상태을(를) 신규에서 진행(으)로 변경되었습니다.

Wave 1 분석 worker를 생성했습니다. Thread: 019f364e-8962-7492-bfac-63b9cadaa3d6, worktree: /Users/jeonginkim/.codex/worktrees/4083/HiveAppII. 지시 범위는 #943 Protocol 분석 전용이며 파일 수정, 구현, 커밋, push, Redmine closeout은 금지했습니다. 산출물: 구현 계획, request/response 계약, itemsView/fallback 정책, 검증 계획, #944 handoff.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #5

#943 분석 계획을 검토 후 승인하고 implementation-only 지시를 보냈습니다. 승인 범위: 기존 schema fixture/gate 확장, thread/turns/list 및 resume.excludeTurns/initialTurnsPage 계약 pin, thread/turns/items/list schema-present/runtime-unsupported 기록, itemsView=summary 권장 및 thread/read includeTurns:true fallback 문서화. 금지 범위: #944 bridge/preload/runtime/renderer 구현, commit/push/Redmine closeout.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #6

#943 protocol 계약 구현/검증 완료.\n\n브랜치: origin/codex/redmine-943-protocol\n커밋: bba19ba4 (#943 app-server 이전 히스토리 페이지 계약 고정)\n\n반영 내용:\n- thread/resume excludeTurns 및 initialTurnsPage 필드 계약을 schema fixture/gate에 추가\n- thread/turns/list request/response page 계약 추가\n- thread/turns/items/list는 schema-present/runtime-unsupported로 고정\n- generated response invariant 검증 추가\n- transcript-safe live smoke에 turns page/resume/items-list unsupported 확인 추가\n- cross-verify 지적사항 반영: paging smoke 대상 thread를 non-ephemeral로 생성하고, initialTurnsPage/data/cursor/excludeTurns semantic assertion 추가\n\n검증:\n- npm ci\n- HIVE_CODEX_BINARY=/opt/homebrew/bin/codex npm run validate:codex-app-server-schema\n- npx vitest run electron/codexAppServerSchemaGate.behavior.test.ts electron/liveAppServerGate.behavior.test.ts\n- npm run typecheck:electron\n- node --check scripts/lib/codex-app-server-smoke.mjs\n- git diff --check\n\n주의: 아직 main 반영 전 브랜치 커밋이므로 Redmine 완료 처리는 main 반영/통합 정책 확인 후 진행.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #7

  • 완료일을(를) 2026/07/06(으)로 지정되었습니다.
  • 상태을(를) 진행에서 완료(으)로 변경되었습니다.
  • 진척도을(를) 0에서 100(으)로 변경되었습니다.

Carl Friedrich Gauss이(가) 하루 전에 변경 Actions #8

Commit reflected on main: https://ap-northeast-1.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/5dc8974ec9da035a221235c3026cb66b1d92696c?region=ap-northeast-1
Origin main SHA: 5dc8974ec9da035a221235c3026cb66b1d92696c
Tokyo main SHA: 5dc8974ec9da035a221235c3026cb66b1d92696c

검증: npm run ci:production 통과 (161 files / 2159 tests, renderer build, fixtures, package-config, signing check skipped because HIVE_RELEASE_BUILD is not enabled).

Actions

내보내기 PDF Atom