개선 #689
완료됨롱 호라이즌 채팅·고빈도 스트림 안정화 총괄
100%
설명
배경:
- 수시간 이상 지속되는 롱 호라이즌 채팅과 고빈도 스트림에서 요청 입력 불가, 이전 작업 확인 곤란, CPU/메모리 상승 위험을 줄이기 위한 안정화 작업이다.
- Codex app reverse-engineering에서 확인한 힌트: raw delta opt-out, incoming line queue와 overflow fail-safe, requestAnimationFrame 기반 text delta coalescing, 50ms command output batching, output cap/truncation marker, owner/follower patch+revision sync, turn-level virtualization과 scroll anchoring.
- 목표는 오래된 대화를 잘라내는 것이 아니라, 메모리/CPU 상한을 넘지 않도록 하면서 사용자가 필요한 대화 내용을 계속 열람할 수 있게 하는 것이다.
판단:
- 단일 일감으로 처리하기에는 책임 경계가 넓다. transport/app-server, renderer state reducer, command output, transcript virtualization, performance gate/observability가 서로 다른 모듈과 실패 모드를 가진다.
- 이 부모 일감은 아래 하위 일감들의 범위와 순서를 총괄한다.
하위 작업 경계:
- app-server/bridge 수신 큐와 이벤트 필터/백프레셔 계약
- renderer 텍스트 delta 병합 큐와 완료 이벤트 순서 보존
- command/process output 전용 buffer, cap, truncation 표시
- transcript long-history virtualization, paging, scroll anchoring
- 고빈도 스트림 성능 시나리오, 계측, 회귀 게이트
완료 조건:
- 모든 하위 일감이 검증과 릴리스 증거를 갖고 완료된다.
- 부모 종료 전, 각 하위 일감의 책임 경계가 중복 없이 구현되었는지 확인한다.
- 최종 검증에서 긴 대화/고빈도 delta/대량 command output/이전 대화 스크롤이 모두 입력 응답성과 메모리 상한을 해치지 않음을 확인한다.
Carl Friedrich Gauss이(가) 7일 전에 변경
- Subtask에 #690이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 7일 전에 변경
- Subtask에 #691이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 7일 전에 변경
- Subtask에 #692이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 7일 전에 변경
- Subtask에 #693이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 7일 전에 변경
- Subtask에 #694이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 7일 전에 변경
선후행 관계와 우선순위 정리:
-
- #690에서 app-server/bridge의 정규화 이벤트 lane, queue/backpressure, overflow/filtered-delta 계약을 먼저 확정하고 커밋한다.
- #691은 이 계약을 받아 renderer text delta 병합 큐에 연결한다.
- #692는 같은 계약을 받아 command/process output 전용 buffer와 truncation 표시를 구현한다.
-
- #691의 state commit batching/완료 이벤트 순서 보존과 #692의 bounded output/windowed output 모델이 #693의 transcript virtualization, measured height, scroll anchoring 전제가 된다.
- 따라서 #693은 #691/#692 커밋 이후 인수인계받아 진행한다.
실행 우선순위:
Carl Friedrich Gauss이(가) 7일 전에 변경
정정:
- Redmine의
precedes관계는 선후행 의미는 맞지만 날짜 자동 보정을 유발해, 실제 마감일이 아닌 날짜가 표시되었다. - 하위 일감 간 관계는 코드 인수인계/블로킹 의존성을 나타내도록
blocks관계로 조정했다. - 날짜 필드는 생성 당시 기준인 start=2026-06-30, due date 없음으로 복원했다.
Carl Friedrich Gauss이(가) 4일 전에 변경
Carl Friedrich Gauss이(가) 4일 전에 변경
- 상태을(를) 진행에서 완료(으)로 변경되었습니다.
하위 일감 #690-#694 main 반영 및 완료 처리 완료.
main 통합 커밋: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/ab8b9dda0186841702c41dd606b4fe01db6dc7a7?region=ap-northeast-2
브랜치: codex/redmine-689-long-horizon-stream
반영 범위:
- #690 app-server 수신 큐와 이벤트 필터/백프레셔 계약
- #691 renderer text delta coalescing과 완료 이벤트 순서 보존
- #692 command/process output batching, cap/truncation marker
- #693 transcript long-history windowing, older-history reveal, scroll anchoring
- #694 synthetic report-only performance scenario/gate와 budget artifact
최종 검증:
- main 병합 트리에서 npm install 후 node --check scripts/long-horizon-performance-gate.mjs 통과
- npm run ci:long-horizon-performance 통과, report-only artifact 생성
- npm run ci:production 통과: lint, typecheck, 150 Vitest files / 2025 tests, renderer build, fixture validation, package-config validation, signing check skipped because HIVE_RELEASE_BUILD is not enabled
- child commits ae85af0a, 12924c5a, b3662390, 7752fd4c 및 통합 커밋 ab8b9dda가 origin/main ancestry에 있음 확인
Carl Friedrich Gauss이(가) 4일 전에 변경
closeout 문서 갱신 commit도 main에 반영했습니다.
Closeout doc commit: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/9ee0c8dd91ddc09554bbcb65bc340fbb6eab8922?region=ap-northeast-2
참고: 실제 checkout의 npm run ci:production은 기존 .claude/worktrees 포함으로 ESLint tsconfigRootDir 오류가 재현되어, 동일 closeout 문서 diff를 깨끗한 /private/tmp/hive-689-main-merge.yPy1Qk에서 검증했습니다. 해당 temp worktree 기준 npm run ci:production 통과: lint, typecheck, 150 test files / 2025 tests, renderer build, fixture validation, package-config validation, signing check skipped.
Carl Friedrich Gauss이(가) 4일 전에 변경
정정: closeout 문서 갱신 commit의 정확한 main URL은 아래입니다.
Closeout doc commit: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/9ee0c8dd1d36262319d851f3b69959559c204ca7?region=ap-northeast-2