Skip to content

v0.2.2: organizational correctness and spec hardening - #32

Merged
dspury merged 2 commits into
mainfrom
v0.2.2
Jul 10, 2026
Merged

v0.2.2: organizational correctness and spec hardening#32
dspury merged 2 commits into
mainfrom
v0.2.2

Conversation

@dspury

@dspury dspury commented Jul 10, 2026

Copy link
Copy Markdown
Owner

Summary

v0.2.2 ships 8 spec items. Full changelog in SPEC.md §18.

Changes

Bug fixes

Features

Data model

  • OrganizeResult.span_warnings
  • OrganizeOpRecord.operation (copy/move/link)
  • log.py: operation column added to organize_ops table

Closes #21
Closes #8
Closes #22
Closes #11
Closes #23
Closes #20
Closes #24
Closes #30

Bruce added 2 commits July 9, 2026 23:22
…date

Fixes:
- proxy: probe was never passed to _ffmpeg_cmd — TC, color, SAR, PCM
  bit depth were all dead code from the public API
- proxy: ffprobe_path used find_ffmpeg() instead of find_ffprobe() —
  batch proxy probing silently failed on every run
- proxy: skip-existing recorded as failure, not a no-op
- probe: sidecar files (.pek, .pbf, etc.) created probe noise
- cli: --dry-run on organize was not wired to the CLI

New probe fields:
- is_vfr, r_frame_rate, sample_aspect_ratio, timecode
- audio_codec, audio_channels, audio_sample_rate, audio_bit_depth
- bit_depth now falls back to pix_fmt parsing for ProRes/other codecs

Data model:
- ProxySkip model added
- already_existed field on ProxyBatchResult
- organize_ops and verification_snapshots tables documented

CLI:
- organize --dry-run now exposed
- proxy output shows already_existed count

Spec:
- Upgraded from draft v0.1 to released v0.2.2
- §18 documents all changes in v0.2.x
- §19 lists 8 open issues with recommended resolutions

Closes #7, #17, #19, #25, #26, #27, #28, #29
Fixes:
- verify: stop mutating baseline on mismatch (#21)
- proxy: R3D/BRAW/ARI clear error + fail fast (#24)
- proxy: add -fps_mode cfr for VFR→CFR normalization (#8)
- resolve: empty source folder guard (#20)
- resolve: spec honesty docstring re: limitations (#30)

Features:
- organize: source-structure-preserving default template (#22)
- organize: same-device hardlinking via os.link() (#11)
- organize: spanned/multi-file clip detection + warnings (#23)
- verify: --accept-changes CLI flag for explicit rebaseline

Data model:
- OrganizeResult: span_warnings field
- OrganizeOpRecord: operation field (copy/move/link)
- log.py: operation column added to organize_ops table

Spec:
- Updated SPEC.md v0.2.2 changelog section
- README badge bumped to 0.2.2
@dspury
dspury merged commit 18660fd into main Jul 10, 2026
0 of 3 checks passed
@dspury
dspury deleted the v0.2.2 branch July 10, 2026 16:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment