개선 #690
완료됨개선 #689: 롱 호라이즌 채팅·고빈도 스트림 안정화 총괄
[롱 호라이즌 스트림] app-server 수신 큐와 이벤트 필터·백프레셔 계약 도입
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 상한을 넘지 않도록 하면서 사용자가 필요한 대화 내용을 계속 열람할 수 있게 하는 것이다.
책임 경계:
- Electron main/app-server bridge/IPC 수신 경로의 이벤트 유량 제어와 백프레셔 계약을 담당한다.
- renderer UI 최적화나 transcript 가상화는 이 일감 범위가 아니다.
구현 범위:
- 고빈도 notification을 UI 필요 이벤트와 raw/diagnostic 이벤트로 분리한다.
- incoming message queue depth, drain slice, slow parse/dispatch, overflow 정책을 정의한다.
- background subagent/follower/full-fidelity 예외처럼 불필요한 delta를 drop 또는 opt-out 할 수 있는 기준을 둔다.
- overflow 또는 cap 도달 시 조용히 멈추지 않고 진단 가능한 상태/로그/이벤트를 남긴다.
완료 조건:
- 고빈도 line 입력을 모사하는 단위/행동 테스트가 있다.
- queue overflow, slow drain, filtered delta, 정상 notification 전달이 구분 검증된다.
- renderer는 raw 폭포가 아니라 정규화된 이벤트만 받는다.
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음에 진행할 일감:에 개선 #691: [롱 호라이즌 스트림] renderer 텍스트 delta 병합 큐와 순서 보존 적용이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음에 진행할 일감:에 개선 #692: [롱 호라이즌 스트림] command/process output 전용 buffer와 truncation 표시 분리이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음에 진행할 일감: 값이 지워졌습니다. (개선 #691: [롱 호라이즌 스트림] renderer 텍스트 delta 병합 큐와 순서 보존 적용)
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음에 진행할 일감: 값이 지워졌습니다. (개선 #692: [롱 호라이즌 스트림] command/process output 전용 buffer와 truncation 표시 분리)
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음 일감의 해결을 막고 있음:에 개선 #691: [롱 호라이즌 스트림] renderer 텍스트 delta 병합 큐와 순서 보존 적용이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 8일 전에 변경
- 다음 일감의 해결을 막고 있음:에 개선 #692: [롱 호라이즌 스트림] command/process output 전용 buffer와 truncation 표시 분리이(가) 추가되었습니다.
Carl Friedrich Gauss이(가) 5일 전에 변경
- 상태을(를) 신규에서 진행(으)로 변경되었습니다.
Wave 1 시작: app-server/bridge 수신 큐와 이벤트 필터·백프레셔 계약 분석을 진행합니다. 구현은 분석 계획 검토 후 별도 지시로 진행합니다.
Carl Friedrich Gauss이(가) 5일 전에 변경
#689 Wave 1 #690 구현/검증을 브랜치에 반영했습니다.
브랜치: codex/redmine-689-long-horizon-stream
커밋: ae85af0aa896130e659e68797b6951adbeec1345
CodeCommit: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/ae85af0aa896130e659e68797b6951adbeec1345?region=ap-northeast-2
검증: npm run ci:production 통과(146 test files / 1978 tests, renderer build, fixture validation, package-config validation, signing check skipped because HIVE_RELEASE_BUILD is not enabled). focused queue/dispatcher/projection/store Vitest 207 tests, npm run typecheck, targeted ESLint, git diff --check도 통과했습니다.
완료 처리는 최종 main 반영 commit URL이 생긴 뒤 진행합니다. #691/#692 Wave 2는 이 브랜치 커밋을 선행 계약으로 사용합니다.
Carl Friedrich Gauss이(가) 4일 전에 변경
- 완료일을(를) 2026/07/03(으)로 지정되었습니다.
- 상태을(를) 진행에서 완료(으)로 변경되었습니다.
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
통합 커밋: https://ap-northeast-2.console.aws.amazon.com/codesuite/codecommit/repositories/hive-x-electron/commit/ab8b9dda0186841702c41dd606b4fe01db6dc7a7?region=ap-northeast-2
최종 검증: main 병합 트리에서 npm run ci:production 통과(150 test files / 2025 tests, renderer build, fixtures, package config, signing check skipped).