본문으로 건너뛰기

Core

공용 SDK와 격리 App 런타임

0.6.22

공용 SDK로 Composer·Sandbox 실행을 분리하고 App 작업 제어와 리소스 생성 구조를 개선합니다.

런타임과 적용

  • 두 실행 방식 모두 발행된 PHP·React SDK 0.7.1을 사용합니다. People 0.5.8을 포함한 기존 Composer App 버전과 참조는 유지합니다.
  • 내장 발행 App은 NEXIA_APP_RUNTIME=composer, 격리 App은 sandbox로 설정합니다. Sandbox는 Native Runtime과 개발 호스팅을 함께 활성화합니다. 기존 DEVELOPER_SANDBOX_HOST·DEVELOPER_NATIVE_RUNTIME_ENABLED는 더 이상 사용하지 않습니다.
  • 새 릴리스 디렉터리에 해당하는 committed Composer 프로필을 설치합니다. Sandbox는 composer.sandbox.json과 lock을 사용하고 내장 업무 App을 거부하며 격리 런타임에서 App 카탈로그를 받습니다. 모드 변경 후 설정 캐시를 갱신하고 워커를 재시작합니다.
  • 표준 Runtime 선언, 카탈로그 해시, 요청에 한정된 호스트 권한, 재실행 가능한 쓰기 영수증과 명시적 복구로 격리 App 작업을 보호합니다. 미지원 계약은 거부합니다. 새 격리 기능을 사용하기 전에 호환되는 Sandbox Manager와 운영자 런타임을 적용해야 합니다.
  • App 마이그레이션 무결성·초기화 이력·런타임 호스트 쓰기 기록을 포함한 Central·테넌트 마이그레이션을 적용합니다. 기존 App 데이터와 마이그레이션 이력을 보존하며 DB 초기화는 필요하지 않습니다. 미해결 부분 저장은 롤백으로 간주하지 말고 상태를 확인합니다.

개발·Agent 흐름

  • App 제출은 연결된 GitHub 저장소와 고정 태그, 격리 준비·검토, 명시적 공개·설치 단계로 진행합니다. Sandbox 수명주기와 개발자 식별은 운영 환경과 분리됩니다.
  • Agent 도구는 런타임 권한을 적용한 App 액션·위젯, 현재 폼의 저장 결과 반영, 쓰기 결과 조회와 비공개 산출물 검토를 지원합니다. 호환되는 Core·프런트엔드를 먼저, Gateway·AWS Edge를 다음으로 별도 배포합니다.
  • 리소스 생성은 SDK의 contract·queries·ListSurface·RecordSurface 구조를 따릅니다. 기존 분리형 폼은 재생성 전 명시적으로 전환해야 하며 커스텀 Inspector는 보존합니다. 기존 schema API 호환성은 유지합니다.

사용자 변경

  • 기존 접근 검사를 유지하면서 결재 목록·상세를 Excel로 내보냅니다.
  • 저장된 대시보드 재사용, 리포트 탐색, Agent 작업 정책과 초안 상태 처리를 개선합니다.
  • PostgreSQL 저장 전후 카탈로그 해시를 유지하고 화면 로딩을 막던 서버 번역 중복 키를 제거합니다.

운영

  • main push에 반응하던 레거시 Laravel Cloud 배포 workflow를 제거합니다. main 반영으로 해당 배포 훅이나 Core 태그 생성이 자동 실행되지 않으며, 릴리스 태그와 AWS 배포는 명시적인 운영 작업으로 진행합니다.
  • 운영·Developer의 실행 모드, 인증 정보, 저장소와 ECS 서비스는 분리합니다. 롤백용 이전 릴리스와 task definition을 보존하고 코드 복원 전 마이그레이션 호환성을 확인합니다.