E2E 연결 + 위젯 엔진. 텔레그램 → 폰 홈화면 전체 연결. Team 3 개발팀 이 운영합니다.
The Universe는 Dash 5-Layer 구조와 Orchestrator 4-Layer 파이프라인을 중심으로 설계되었습니다. 모든 기능 단위는 .dpk 포맷으로 패키징됩니다.
각 Dash는 5개의 독립 레이어로 구성되며, 관심사 분리를 통해 유연한 조합과 독립적 진화가 가능합니다.
Orchestrator는 사용자 의도를 해석하고 적절한 Dash를 선택, 구성, 실행하는 4단계 파이프라인으로 동작합니다.
.dpk는 Dash를 배포하기 위한 표준 패키지 포맷입니다. Meta, Trigger, Skin, Skill, Protocol 레이어 정의와 리소스를 하나의 아카이브로 묶어 Dash Store를 통해 배포합니다.
개발팀(Team 3)이 각 스프린트에서 수행하는 주요 개발 항목입니다.
docs/research/ 하위의 개발 관련 리서치 문서입니다.
docs/research/ 하위의 개발 관련 리서치 문서입니다.
개발팀 에이전트의 담당 업무와 현재 상태입니다.
주요 아키텍처 결정 사항을 기록하고 추적합니다.
주요 아키텍처 결정 사항을 기록하고 추적합니다. 각 ADR은 결정의 배경, 선택지, 결과를 문서화합니다.
The Universe의 UI 프레임워크로 Jetpack Compose를 선택한 배경과 근거를 기록합니다. XML View 시스템 대비 선언적 UI, 코드 생산성, AI 코드 생성 호환성 등을 종합 평가하였습니다.
ADR-001 원문 보기코드 구조, 기술 스택 등 개발 참조 문서를 보관합니다.
Kotlin 파일이 8개의 패키지로 구성됩니다. 각 패키지는 명확한 책임을 가지며 의존 관계가 정의되어 있습니다.
ui/ ← home/ ← space/ ← dash/ ← runtime/
context/(sensor, engine, injection) → space/ → dash/
모든 패키지는 ui/에 의존하며, dash/는 독립적으로 동작합니다. space/는 Orchestrator를 통해 dash/를 관리합니다. context/는 센서 데이터를 수집하여 맥락을 추론하고, runtime/은 .dpk 파싱 및 샌드박스를 담당합니다.
The Universe의 핵심 기술 스택과 버전 정보입니다.
| 기술 | 버전 | 용도 |
|---|---|---|
Kotlin |
2.2.10 | 주 개발 언어 |
Jetpack Compose |
BOM 기반 | 선언적 UI 프레임워크 |
AGP |
9.1.0 | Android Gradle Plugin |
compileSdk |
36 | 컴파일 타겟 SDK |
minSdk |
26 | 최소 지원 SDK (Android 8.0) |
Gradle |
Kotlin DSL | 빌드 시스템 |
Maestro |
- | E2E 테스트 자동화 |
Team 3 개발팀 의 역할과 담당 영역입니다.
핵심 미션: Dash Runtime + SDK + 인프라를 설계·구현하여 개발자가 Dash를 만들 수 있게 한다.
Dash 5-Layer 구조와 Orchestrator 4-Layer 파이프라인의 상세 설계입니다.
각 Dash는 5개의 독립 레이어로 구성되며, 관심사 분리를 통해 유연한 조합과 독립적 진화가 가능합니다.
Orchestrator는 사용자 의도를 해석하고 적절한 Dash를 선택, 구성, 실행하는 4단계 파이프라인으로 동작합니다.
.dpk는 Dash를 배포하기 위한 표준 패키지 포맷입니다. Meta, Trigger, Skin, Skill, Protocol 레이어 정의와 리소스를 하나의 아카이브로 묶어 Dash Store를 통해 배포합니다.
빌드 시스템, CI/CD 파이프라인, 테스트 자동화 인프라입니다.
GitHub Actions 기반 CI/CD 파이프라인으로 빌드, 테스트, 배포를 자동화합니다.
Android CI 워크플로우가 PR 및 main 브랜치 push 시 자동으로 실행됩니다.
Gradle Kotlin DSL 기반의 빌드 구성입니다.
build.gradle.kts — 루트 프로젝트 빌드 설정app/build.gradle.kts — 앱 모듈 빌드 설정settings.gradle.kts — 프로젝트 구조 및 저장소 설정gradle.properties — Gradle 프로퍼티Maestro를 활용한 E2E 테스트 플로우입니다. maestro/flows/ 디렉토리에 YAML 형식으로 정의됩니다.
| 플로우 | 설명 |
|---|---|
app-launch.yaml |
앱 최초 실행 및 초기화 검증 |
gesture-smoke.yaml |
제스처 인터랙션 스모크 테스트 |
scenario-commute.yaml |
출퇴근 시나리오 통합 테스트 |
로컬 환경에서 Maestro 테스트를 실행하려면:
scripts/ 디렉토리의 자동화 스크립트입니다.
scripts/ 디렉토리의 자동화 스크립트입니다.
| 스크립트 | 설명 |
|---|---|
validate-dash.sh |
Dash 정의 파일의 유효성 검증 |
run-emulator-tests.sh |
에뮬레이터 기반 E2E 테스트 실행 |
pm-notify.sh |
PM 알림 전송 (빌드/테스트 결과) |
simulation/ |
Dash 시뮬레이션 환경 스크립트 |