feat: import rehearsal handoffs for focused reanalysis - #740
feat: import rehearsal handoffs for focused reanalysis#740seonghobae wants to merge 103 commits into
Conversation
📝 WalkthroughWalkthrough검증된 BandScope 메타데이터 핸드오프를 가져오는 데스크톱 UI와 파일 검증 로직을 추가했습니다. 사용자는 로컬 오디오를 명시적으로 선택한 뒤 역할 집중 재분석을 시작합니다. 분석 엔진은 요청 역할과 관련된 결과만 반환하고 전체 결과는 캐시에 보존합니다. Changes메타데이터 핸드오프 왕복
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant 사용자
participant HandoffImportControl
participant App
participant AnalysisAPI
participant AnalysisCache
사용자->>HandoffImportControl: 핸드오프 JSON 선택
HandoffImportControl->>App: 검증된 artifact 전달
사용자->>App: 로컬 오디오 선택
App->>AnalysisAPI: 로컬 오디오와 역할 초점이 포함된 분석 요청
AnalysisAPI->>AnalysisCache: 전체 분석 결과 조회 또는 저장
AnalysisAPI-->>App: 역할 집중 분석 결과 반환
Possibly related PRs
Suggested labels: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
|
Already queued @opencode-agent on this exact request for PR #740 at head |
Buyer-visible integration slice
Import a bounded BandScope metadata-handoff JSON artifact without granting the artifact filesystem authority, require the recipient to pair it with a fresh local audio selection, and reuse only validated rehearsal-role focus metadata for local reanalysis. BandScope remains independently usable and local-first.
Exact current identity
4761a882d1b345647fb6ca7bbb7c89c5420a097f.develop@acdbea6344fe1231c39535b575f4de35e4c607c9.feat/handoff-import-roundtrip.Trust and state boundaries
The current branch establishes these product contracts:
jobIdmatches the requested job, matching the existing pushed-event identity guard.Latest exact-head repair
Exact CI/log tracing found two test-side failures after the analysis bridge gained the fail-closed job-identity contract.
App.stale-job-poll.test.tsxqueried a genericrole="status"even though the App intentionally renders more than one live status surface. Commit1a1246d4f749a310a6eca663707ac54862e0f2e7binds the regression to the user-visibleQueued for analysisstate instead.App.test.tsxtestkeeps polling the active job when one polling request rejectsstarts active jobjob-4, but its final success fixture usedsucceededResult()'s unrelated defaultjob-1. The production bridge correctly rejected that foreign status. Current head4761a882d1b345647fb6ca7bbb7c89c5420a097fkeeps the production guard intact and makes the final fixture returnjob-4. The same test-only commit removes two fragile trailing-wildcard placeholder expressions and formatter-only blank lines; no production file changed in that commit.The bridge-level mismatch regression and production guard were introduced earlier on this branch: a Tauri response for a different job is rejected with the stable payload-free
Invalid analysis job status responseboundary rather than being rendered or accepted as the requested job.Exact-current-head verification state
All currently visible inline review threads are resolved.
Fresh workflow evidence is still in progress for head
4761a882d1b345647fb6ca7bbb7c89c5420a097f. In CI run32262803831, job96099875297(gate / ci / rust-check) is terminal-success; job96099874748(ci / build-and-test) remains queued. The exact-head release, build-baseline, SBOM, security-audit, aggregate Security Scan, Semgrep, Bandit, and secret-scan workflows are also queued at the latest inspection. Queued or partially successful workflow sets are not counted as GREEN.Dependency and control-plane gates
Canonical dependency-security owner #783 remains open on exact head
99e6be9f0933df605c03c04e959b47c5c2405ca6. This branch does not suppress or duplicate its PDF.js, Nanoid, Undici, npm-generator, or lock-provenance remediation.Python branch-measurement owner #861 remains open and Draft. Statement-only evidence on this branch is not substituted for the protected statement-plus-branch coverage contract.
Protected
ContextualWisdomLab/.github@mainisbbedc1a51ec1a2421f129955c629b3cd0507a4ec; the.github#1136trusted-uvrepair is integrated in its ancestry. Fresh exact-head central coverage/OpenCode/Noema/Strix evidence is still required after the repository and dependency prerequisites are satisfied.Merge gate
Keep Draft and unmerged until one unchanged resulting exact head simultaneously has:
develop, followed by refresh and clean dependency-security revalidation;Never transfer predecessor-head checks or reviews, weaken a gate, self-approve, or treat queued, pending, skipped, cancelled, inherited-base failure, model-only, author, or administrative-bypass evidence as success.