실행기 없는 WAITING 세션 큐 메시지 처리 + set_primary 큐 이전 + primary 자동 복원 원인 #128

Open
opened 2026-10-20 09:10:39 +09:00 by dreampiler · 3 comments
Owner

한 작업으로 묶는 세 결함(진단·인수 세션 확인: #4596·B6·2차 패키지 어디에도 없음). 재현 근거: backend-logs 2026-10-20 06:34:11 KST, 세션 684301cf(MPM 대기 작업 관제), 운영 우회 2회(set_primary → 큐 remove → 재전송). (1) ensureSessionRunning 이 'session is not resumable: no executor record (state: WAITING_FOR_INPUT)' 로 거부하면 큐 처리기가 requeue 만 반복해 메시지가 영구 대기한다 → recover 경로로 넘기거나 delivery_status=blocked 로 표시한다. (2) set_primary 가 non-terminal 옛 primary 의 큐를 옮기지 않는다(B6 은 terminal 만) → 이전한다. (3) primary 를 바꿔도 어느 시점에 옛 세션으로 되돌아가는 원인을 조사한다(칸 session_target {kind: initial}·workflow_initial_session 복원 추정). 같은 세션에서 'session_open recovery blocked: dynamic_route_pending' 로 recover 도 거부됨. 인수 세션(Claude 'Kandev native 인수') 기록 D:/260720_Ai_Workspace_Tools/kandev-claude-upstream-drafts/pr-watch-log.md B10 의 RED 재현 결과를 먼저 확인하고 시작하며 같은 재현 시험을 중복으로 만들지 않는다. 완료: fork dreampiler/kandev native-main 대상 PR 병합 + 순수 단위 시험 결과(③은 원인 판정 근거). 근거: 운영 세션 2026-10-20 09:3x KST 등록 지시, 사용자 원문 2026-10-20 「…최소 8개 이상의 작업 workAI 가 동시에 최소 1시간 이상 꾸준히 돌아가도록 자율적으로 개선 진행 계속해줘.」(실제 일로만).

한 작업으로 묶는 세 결함(진단·인수 세션 확인: #4596·B6·2차 패키지 어디에도 없음). 재현 근거: backend-logs 2026-10-20 06:34:11 KST, 세션 684301cf(MPM 대기 작업 관제), 운영 우회 2회(set_primary → 큐 remove → 재전송). (1) ensureSessionRunning 이 'session is not resumable: no executor record (state: WAITING_FOR_INPUT)' 로 거부하면 큐 처리기가 requeue 만 반복해 메시지가 영구 대기한다 → recover 경로로 넘기거나 delivery_status=blocked 로 표시한다. (2) set_primary 가 non-terminal 옛 primary 의 큐를 옮기지 않는다(B6 은 terminal 만) → 이전한다. (3) primary 를 바꿔도 어느 시점에 옛 세션으로 되돌아가는 원인을 조사한다(칸 session_target {kind: initial}·workflow_initial_session 복원 추정). 같은 세션에서 'session_open recovery blocked: dynamic_route_pending' 로 recover 도 거부됨. 인수 세션(Claude 'Kandev native 인수') 기록 D:/260720_Ai_Workspace_Tools/kandev-claude-upstream-drafts/pr-watch-log.md B10 의 RED 재현 결과를 먼저 확인하고 시작하며 같은 재현 시험을 중복으로 만들지 않는다. 완료: fork dreampiler/kandev native-main 대상 PR 병합 + 순수 단위 시험 결과(③은 원인 판정 근거). 근거: 운영 세션 2026-10-20 09:3x KST 등록 지시, 사용자 원문 2026-10-20 「…최소 8개 이상의 작업 workAI 가 동시에 최소 1시간 이상 꾸준히 돌아가도록 자율적으로 개선 진행 계속해줘.」(실제 일로만).
Author
Owner

Controller 8e accepted read-only S5 result 1b82e14d from existing task816e9aca; no new task or implementation. Task93c6 current primary273ca14d has a stopped resumable executor, while old non-primary115e0cad is active/WFI without an executor row. Retained unbound prompt_ensure targets115e0cad despite committed route entry19026 pointing to273ca14d. Real admission succeeds, then no-executor dispatch and ordinary queue requeue repeat; the old pending deferral also conflicts with later primary input. Source checked by 8e: ceiling_entry.go binding derivation/enrichment and unbound destination validation, plus queue_dynamic_route_block.go action_required-only guard. This is a boundary not covered by the existing B10 guard, not a demonstrated regression. It does not reach orphaned-starting route actions, so the fourth-package orphan-route Retry fix is not its owner. Keep two native intake responsibilities: A ceiling deferral/replay recipient supersession, B queue/B10 handling of active executorless non-primary sessions. Do not silently redirect intentional secondary-session input or block valid launch owners/resumable sessions. Original caller intent remains unproved. Preserve both sessions, deferred launch and queue c90db9ae. Native intake/runtime recovery remains open; no code, test, recovery API, settings or new slice startup. The controller returns B10 to External Wait and records the corrected handoff in sent/codex_8e_restart_reconcile_1020.md. Original B10 goals and actual installed acceptance are not declared complete.

Controller 8e accepted read-only S5 result 1b82e14d from existing task816e9aca; no new task or implementation. Task93c6 current primary273ca14d has a stopped resumable executor, while old non-primary115e0cad is active/WFI without an executor row. Retained unbound prompt_ensure targets115e0cad despite committed route entry19026 pointing to273ca14d. Real admission succeeds, then no-executor dispatch and ordinary queue requeue repeat; the old pending deferral also conflicts with later primary input. Source checked by 8e: ceiling_entry.go binding derivation/enrichment and unbound destination validation, plus queue_dynamic_route_block.go action_required-only guard. This is a boundary not covered by the existing B10 guard, not a demonstrated regression. It does not reach orphaned-starting route actions, so the fourth-package orphan-route Retry fix is not its owner. Keep two native intake responsibilities: A ceiling deferral/replay recipient supersession, B queue/B10 handling of active executorless non-primary sessions. Do not silently redirect intentional secondary-session input or block valid launch owners/resumable sessions. Original caller intent remains unproved. Preserve both sessions, deferred launch and queue c90db9ae. Native intake/runtime recovery remains open; no code, test, recovery API, settings or new slice startup. The controller returns B10 to External Wait and records the corrected handoff in sent/codex_8e_restart_reconcile_1020.md. Original B10 goals and actual installed acceptance are not declared complete.
Author
Owner

Owner-role correction received by controller8e on2026-10-20: operations is not a relay or substitute executor for routine controller actions. Supersede the earlier operations-proxy recovery request in the S5 handoff. Controller8e owns supported task/session recovery, primary checks, hold reconciliation and question answers directly. Current exposed Kandev MCP tools lack session.route_action/try_next, session.recover/resume_task, session.set_primary and deferred-launch settlement/retarget. These are exact current-surface capability gaps, not proof that native functionality is absent. Record the missing surface in the existing controller contract and B10 S5 record; do not bypass permission/ceiling guards or create an additional session as a substitute. Existing native Claude code/PR intake remains separate. B10 readback is REVIEW/External Wait with primaryaa5687ba WFI after result intake, so no duplicate resume is performed. Original S5 evidence, preserved prompts/queue/sessions and code-slice boundary remain unchanged. No new task/queue, implementation, model change or runtime mutation.

Owner-role correction received by controller8e on2026-10-20: operations is not a relay or substitute executor for routine controller actions. Supersede the earlier operations-proxy recovery request in the S5 handoff. Controller8e owns supported task/session recovery, primary checks, hold reconciliation and question answers directly. Current exposed Kandev MCP tools lack session.route_action/try_next, session.recover/resume_task, session.set_primary and deferred-launch settlement/retarget. These are exact current-surface capability gaps, not proof that native functionality is absent. Record the missing surface in the existing controller contract and B10 S5 record; do not bypass permission/ceiling guards or create an additional session as a substitute. Existing native Claude code/PR intake remains separate. B10 readback is REVIEW/External Wait with primaryaa5687ba WFI after result intake, so no duplicate resume is performed. Original S5 evidence, preserved prompts/queue/sessions and code-slice boundary remain unchanged. No new task/queue, implementation, model change or runtime mutation.
Author
Owner

[VER11-ALIGN-20261023] 최초 요청 원문·기존 flow/issue/이력 보존. 최신 기준 _Knowledge/references/최종목표구조설계_ver11/20_통합설계서.md 및 명세11/13/14, 절차·잔여·비용은42_현행정합_실행절차.md. 2026-10-23 읽기 관측 explicit task: 816e9aca-0adf-4e90-8c4c-8cede60cdf78 (REVIEW)
task description의 최신3차판 읽기전용 운영확인 범위가 원 코드수정 대기를 구체화함. 실제 사례/인수 부족은 그대로 유지, 구현/시험/정상대기 해제/종결을 자동 추가하지 않음.
이번 갱신은 결과/다음담당 연결이며 상태 일괄종결·task이동/삭제·모델순서/한도·상시시험·해시 확인 추가0.

[VER11-ALIGN-20261023] 최초 요청 원문·기존 flow/issue/이력 보존. 최신 기준 _Knowledge/references/최종목표구조설계_ver11/20_통합설계서.md 및 명세11/13/14, 절차·잔여·비용은42_현행정합_실행절차.md. 2026-10-23 읽기 관측 explicit task: 816e9aca-0adf-4e90-8c4c-8cede60cdf78 (REVIEW) task description의 최신3차판 읽기전용 운영확인 범위가 원 코드수정 대기를 구체화함. 실제 사례/인수 부족은 그대로 유지, 구현/시험/정상대기 해제/종결을 자동 추가하지 않음. 이번 갱신은 결과/다음담당 연결이며 상태 일괄종결·task이동/삭제·모델순서/한도·상시시험·해시 확인 추가0.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: dreampiler/kandev#128