RESEARCH
데이터 스키마 초안
Room DB 테이블
- dash_registry: Meta Layer (id, name, keywords, category, version, icon, package_path, is_active, current_skin)
- dash_trigger: Trigger Layer (context_keywords, location_types, time_rules, sensor_conditions, events)
- dash_skin: Skin Layer (skin_type mini/standard/expanded, layout_data, theme)
- dash_skill: Skill Layer (data_sources, actions, permissions, local_state)
- dash_protocol: Protocol Layer (publishes, subscribes, fusible_with, fusion_role, fusion_ui)
- space_config: Space 정의 (name, icon, wallpaper, is_dynamic, context_rule)
- space_dash_placement: Dash 배치 (position_x/y, span_x/y, initial_skin)
- fusion_config: 융합 설정 (fusion_type, participant_dash_ids, fused_skin_data)
- user_preferences: key-value 설정
- user_pattern: 패턴 학습 (context_type, day_of_week, time_range, confidence, accept/reject_count)
Proto DataStore (OrchestratorSettings)
- ContextConfig: location/biometric/app_usage 활성화, polling 간격, phase(RULE_ONLY/PATTERN_LEARNING/AI_INFERENCE)
- DecisionThresholds: silent 0.95, soft 0.80, active 0.60
- AntiAnnoyanceConfig: max 3회/시간, 3-strike, cooldown 7일, cold start 14일
- BatteryPolicy: aggressive mode, reduced polling
마이그레이션: Phase별 점진적 (1->2->3->4), AutoMigration 우선, exportSchema=true
캐시: 3계층 (인메모리 LRU -> Room store_catalog_cache -> OkHttp 디스크 캐시)
.dpk 저장: files/dashes/installed/{dash_id}/ (manifest.json + skins/ + skill/ + assets/)