[codex] add metadata patch download flow#47
Conversation
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (10)
📝 WalkthroughWalkthroughThis PR introduces an Effect Schema-based audio metadata model and a ChangesMetadata patch and download plan refactor
Sequence Diagram(s)sequenceDiagram
participant audioTagger
participant downloadTrack
participant soundcloudSetImport
participant fileMetadataOps
audioTagger->>downloadTrack: createSingleUrlDownloadPlan / createSoundCloudSetDownloadPlan
downloadTrack-->>audioTagger: plan (pendingFiles, queuedTracks, selection)
soundcloudSetImport->>downloadTrack: startDownloadTrackPlan(plan)
startDownloadTrackPlan-->>soundcloudSetImport: merges pendingFiles, queues tracks
soundcloudSetImport->>soundcloudSetImport: startSoundCloudSetCoverImport(plan)
audioTagger->>fileMetadataOps: prepareDownloadedTrackHydration(currentFileWithPendingPatch)
fileMetadataOps-->>audioTagger: hydratedFile, hydratedPendingPatch
audioTagger->>audioTagger: withPendingMetadataPatch(hydratedFile, hydratedPendingPatch)
Related Issues: No related issues found. Related PRs: No related PRs found. Suggested Labels: enhancement, refactor Suggested Reviewers: flamboh 🐰 A patch of fields, both sparse and dirty, ✨ Finishing Touches✨ Simplify code
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed. For unrecoverable errors, disable the tool in CodeRabbit configuration. 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 |
9d3cf0e to
f0e9adc
Compare
Deploying with
|
| Status | Name | Latest Commit | Preview URL | Updated (UTC) |
|---|---|---|---|---|
| ✅ Deployment successful! View logs |
tagium | 820edd3 | Commit Preview URL Branch Preview URL |
Jul 06 2026, 09:33 PM |
f0e9adc to
93ebb64
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
93ebb64 to
820edd3
Compare

Summary
Root Cause
The metadata form reused full form snapshots and a broad
hasBufferedChangesboolean to decide what should be written after downloads completed. Provider defaults, user edits, album sync, and parsed ID3 metadata could all be treated as the same kind of buffered state, which allowed stale year/track values to leak between downloads.Validation
vp fmtvp lint .vp checkvp testNotes
This PR includes the current Effect subtree/bootstrap commits already present in this worktree. Follow-up discussion: stacked PR with Graphite for a fuller Effect workflow rewrite.
Summary by CodeRabbit
New Features
Bug Fixes