feat: add local audio intake bootstrap#55
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (5)
📒 Files selected for processing (20)
Cache: Disabled due to Reviews > Disable Cache setting Disabled knowledge base sources:
📝 WalkthroughSummary by CodeRabbit
Walkthrough로컬 오디오 파일 선택 부트스트랩 기능이 추가됩니다. React가 Tauri에게 파일 선택을 요청하면 Rust에서 검증 후 앱 소유 프로젝트/캐시/임시 루트를 생성·저장하고, 분석 요청에 참조형 로컬 오디오 메타데이터를 포함해 Python으로 전달합니다. Changes
Sequence Diagram(s)sequenceDiagram
participant User as 사용자
participant React as React UI
participant Tauri as Tauri (Rust)
participant FS as 파일시스템
participant Python as Python 백엔드
User->>React: "Choose Local Audio" 클릭
React->>Tauri: select_local_audio_source() 호출
Tauri->>FS: 파일 다이얼로그 열기 / 파일 경로 수신
Tauri->>Tauri: 파일 검증 (확장자, 크기)
Tauri->>Tauri: 앱 소유 project/cache/temp 루트 생성
Tauri->>Tauri: ProjectBootstrapSummary 생성 및 저장
Tauri-->>React: ProjectBootstrapSummary 반환
React->>React: 선택 상태 업데이트
React->>Python: 분석 요청 전송 (sourceKind: "local_audio", projectId)
Python->>Python: localSource 검증 및 분석 실행 (원본 파일 경로 참조)
Python-->>React: 분석 상태/결과 반환
sequenceDiagram
participant Client as 클라이언트
participant Shared as SharedTypes
participant Tauri as Tauri/Rust
participant Python as Python 엔진
Client->>Shared: AnalysisJobRequest 생성 (sourceKind: "local_audio")
Shared->>Client: 유니온 기반 검증 (projectId 필수)
Client->>Tauri: 분석 시작 요청 전송
Tauri->>Tauri: projectId로 bootstrap 조회 -> localSource 추출
Tauri->>Python: 분석 페이로드 전송 (localSource 포함)
Python->>Python: localSource 필드 재검증
Python->>Python: 원본 경로로 분석 수행
Python-->>Client: 결과 반환
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60분 Possibly related PRs
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
Summary
local_audiorequests use a trustedprojectIdhandoff while Rust rehydrates the stored source metadata before engine executionrfdadmission rationale for the native file pickerVerification
./scripts/harness/quickcheck.shcargo check --manifest-path apps/desktop/src-tauri/Cargo.toml📝 Walkthrough
Summary by CodeRabbit
Walkthrough
로컬 오디오 파일 선택 부트스트랩 기능이 추가됩니다. React가 Tauri에게 파일 선택을 요청하면 Rust에서 검증 후 앱 소유 프로젝트/캐시/임시 루트를 생성·저장하고, 분석 요청에 참조형 로컬 오디오 메타데이터를 포함해 Python으로 전달합니다.
Changes
ARCHITECTURE.md,docs/architecture/overview.md,docs/security/app-security.md,docs/plans/2026-03-12-issue-33-audio-intake-bootstrap-design.md,docs/plans/2026-03-12-issue-33-audio-intake-bootstrap.mdapps/desktop/src-tauri/Cargo.toml,apps/desktop/src-tauri/build.rs,apps/desktop/src-tauri/capabilities/main.json,apps/desktop/src-tauri/permissions/autogenerated/select_local_audio_source.tomlrfd의존성 추가,select_local_audio_source명령 노출, 관련 권한 항목 및 자동생성 권한 TOML 추가.apps/desktop/src-tauri/src/main.rsselect_local_audio_source커맨드 구현, 프로젝트별 bootstrap 생성·검증·저장, 분석 요청에 로컬 오디오 메타데이터 연결 로직 추가.apps/desktop/src/App.tsx,apps/desktop/src/lib/analysis.ts,apps/desktop/src/App.test.tsxselectLocalAudioSource공개 API 구현 및 테스트 보강(성공/다양한 오류 경로).apps/desktop/src/locales/en/common.json,apps/desktop/src/locales/ko/common.jsonpackages/shared-types/src/index.ts,packages/shared-types/test/index.test.tsAnalysisSourceKind에local_audio추가,LocalAudioSource,ProjectBootstrapSummary타입 및 생성·검증·파싱 함수 추가,AnalysisJobRequest를 유니온으로 리팩토링 및 테스트 확장.services/analysis-engine/src/bandscope_analysis/api.py,services/analysis-engine/tests/test_api.py,services/analysis-engine/tests/test_cli.pysourceKind에local_audio허용,projectId/localSource검증 로직 추가, 관련 유닛·CLI 테스트 보강.Sequence Diagram(s)
sequenceDiagram participant User as 사용자 participant React as React UI participant Tauri as Tauri (Rust) participant FS as 파일시스템 participant Python as Python 백엔드 User->>React: "Choose Local Audio" 클릭 React->>Tauri: select_local_audio_source() 호출 Tauri->>FS: 파일 다이얼로그 열기 / 파일 경로 수신 Tauri->>Tauri: 파일 검증 (확장자, 크기) Tauri->>Tauri: 앱 소유 project/cache/temp 루트 생성 Tauri->>Tauri: ProjectBootstrapSummary 생성 및 저장 Tauri-->>React: ProjectBootstrapSummary 반환 React->>React: 선택 상태 업데이트 React->>Python: 분석 요청 전송 (sourceKind: "local_audio", projectId) Python->>Python: localSource 검증 및 분석 실행 (원본 파일 경로 참조) Python-->>React: 분석 상태/결과 반환sequenceDiagram participant Client as 클라이언트 participant Shared as SharedTypes participant Tauri as Tauri/Rust participant Python as Python 엔진 Client->>Shared: AnalysisJobRequest 생성 (sourceKind: "local_audio") Shared->>Client: 유니온 기반 검증 (projectId 필수) Client->>Tauri: 분석 시작 요청 전송 Tauri->>Tauri: projectId로 bootstrap 조회 -> localSource 추출 Tauri->>Python: 분석 페이로드 전송 (localSource 포함) Python->>Python: localSource 필드 재검증 Python->>Python: 원본 경로로 분석 수행 Python-->>Client: 결과 반환Estimated code review effort
🎯 4 (Complex) | ⏱️ ~60분
Possibly related PRs
Poem