Architecture
실행 엔진 원칙
Execution engine responsibilities for kernels, runtimes, and reruns.
실행 엔진 원칙
- 실행 엔진은 교체 가능한 인터페이스로 설계한다.
- 기본 후보:
LocalEngineSandboxEngine
- 편집기는
execute,interrupt,variables,files,packages,docs같은 capability를 호출하고, 개별 엔진 구현을 직접 알지 않아야 한다. - AI teacher와
editor/제품 표면도 같은 capability surface를 호출한다. - 셀 실행/검증은 장기적으로
cell-call계약으로 수렴한다.execute-reactive,check-exercise는 하위 호환 및 세부 구현 도구다. - editor의 직접 실행 버튼도 kernel execute로 바로 들어가지 않는다.
editor/src/lib/notebookRuntime.ts가 세션 패키지 목록을 확인하고, 누락 패키지를 세션packages/installcapability의 uv 경로로 준비한 뒤execute또는execute-reactive를 호출한다. editor-runtime-preflightgate는 이 순서가packages-check → packages-install → cell-call의미와 어긋나지 않는지 확인한다.- runtime 복구 UX는 실패 종류를 섞지 않는다. 패키지 준비 실패는
라이브러리 준비 실패로 표시하고 cell-call을 막는다. 셀 실행 자체가 실패하면 결과 박스 안에셀 실행 실패와 마지막 오류 줄 확인, 코드 수정 후 재실행 가능 안내를 함께 보여준다. runtime-recovery-browsergate는 실제 제품 화면에서 package failure와 cell execution failure가 각각 셀 근처 복구 UX로 보이는지 확인한다.- kernel 실행 결과를 HTTP, websocket, tool payload로 바꾸는 기준은
src/codaro/kernel/executionPayload.py에 둔다.
관련
- [[local-first-runtime]] — 로컬 기본 실행 정책
- [[reactive-execution]] — 의존 그래프 위에서 동작