You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
nodease/mbased#521은 Public Chatbot을 익명 durable Session이 아닌 client-held bounded history 방식으로 확정하고 완료됐다. 로그인 사용자와 active organization이 명확한 내부 Chatbot만 별도 authenticated route와 storage namespace에서 durable Conversation Memory를 사용한다.
현재 dev에는 nodease/mbased#368의 내부 Chatbot authenticated execution subject, nodease/mbased#519의 Memory persistence/lifecycle foundation, nodease/mbased#397의 ProviderExecutionCapability와 nodease/mbased#475의 durable usage ledger가 존재한다. 다만 현재 workflow execute 기반 내부 실행을 Target durable Memory surface로 바로 활성화하면 CSRF, graph eligibility와 별도 내부 Chatbot 이용 권한이 비어 있으므로 feature flag를 기본 OFF로 유지한다.
목표
Authenticated internal Chatbot에서 current user·active organization·exact deployment version과 access-policy revision에 고정된 window-only durable Session/Turn/Entry 수직 경로를 완성한다. Public /run-public과 Public client-held storage 경계는 변경하지 않고 production cutover를 주장하지 않는다.
내부 Chatbot 전용 authenticated Session create/resolve, Turn start/status와 close/reset/delete logical lifecycle route를 Public route와 분리한다.
request가 보낸 user, organization, deployment binding을 권한 근거로 신뢰하지 않고 서버의 current user, X-Organization-Id, canonical active deployment/version과 policy revision을 사용한다.
Memory 수직 경로
Conversation Session 생성/resolve와 user Turn 시작
StartTurn + durable dispatch, Workflow admission, final CompleteTurn의 exactly-once 상태 전이
Worker는 queue envelope를 권한 근거로 신뢰하지 않고 current deployment/version, subject, organization, access-policy revision, credential/KB permission과 lifecycle을 provider I/O 전에 재검증한다.
배경
nodease/mbased#521은 Public Chatbot을 익명 durable Session이 아닌 client-held bounded history 방식으로 확정하고 완료됐다. 로그인 사용자와 active organization이 명확한 내부 Chatbot만 별도 authenticated route와 storage namespace에서 durable Conversation Memory를 사용한다.
현재 dev에는 nodease/mbased#368의 내부 Chatbot authenticated execution subject, nodease/mbased#519의 Memory persistence/lifecycle foundation, nodease/mbased#397의 ProviderExecutionCapability와 nodease/mbased#475의 durable usage ledger가 존재한다. 다만 현재 workflow
execute기반 내부 실행을 Target durable Memory surface로 바로 활성화하면 CSRF, graph eligibility와 별도 내부 Chatbot 이용 권한이 비어 있으므로 feature flag를 기본 OFF로 유지한다.목표
Authenticated internal Chatbot에서 current user·active organization·exact deployment version과 access-policy revision에 고정된 window-only durable Session/Turn/Entry 수직 경로를 완성한다. Public
/run-public과 Public client-held storage 경계는 변경하지 않고 production cutover를 주장하지 않는다.완료된 기반
execute, current execution subject — Done활성화 선행 조건
#649 코드는 병렬로 준비할 수 있지만 위 세 이슈가 완료되어 공식 계약과 구현 증거가 연결되기 전에는 feature flag를 켜거나 production traffic을 수용하지 않는다.
구현 범위
공식 계약과 route
X-Organization-Id, canonical active deployment/version과 policy revision을 사용한다.Memory 수직 경로
StartTurn + durable dispatch, Workflow admission, finalCompleteTurn의 exactly-once 상태 전이실행·외부 효과 경계
execute와 deployment/version을 queue publish 전에 검증한다.provider_startedmarker와 main-generation usage ledger를 연결해 retry/redelivery/crash/concurrent Turn에서 중복 provider 호출·Entry·usage를 방지한다.Privacy·audit·rollout
TDD 및 보안 검증
execute만 있고 [FE/BE/Security][Chatbot] 내부 Chatbot 이용 권한·deployment access policy #650 이용 권한이 없는 사용자 차단완료 기준
비범위 및 후속