Commit Graph

61 Commits

Author SHA1 Message Date
Ben Stull 19104f94cd feat: ffprobe wrapper (tools.probe)
Per sub-project-2 plan Task 3 / spec §5.1. Parses ffprobe JSON into a Probe
(streams + format); subprocess runner injectable so tests never shell out.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 06:23:24 -07:00
Ben Stull b6fb635ef4 feat: catalog-level validate_catalog + index_by_id (unique ids)
Per sub-project-2 plan Task 2 / spec §3. Purely additive to hef.catalog;
no existing symbol changes. validate_catalog runs per-record validate() then
asserts id uniqueness; index_by_id gives by-id lookup the player also wants.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 06:23:01 -07:00
Ben Stull db4f036729 chore: scaffold tools/ package + stdlib http client
Per sub-project-2 plan Task 1. Adds tools/ to setuptools packages,
gitignores media/, and a minimal injectable urllib HTTP client.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-04 06:22:30 -07:00
Ben Stull 062e13d42e test: end-to-end catalog+selection integration 2026-06-04 01:36:23 -07:00
Ben Stull 904c4bff52 feat: nearest-match select function 2026-06-04 01:36:07 -07:00
Ben Stull d28fb0a0a7 feat: selection mode filtering with av fallback 2026-06-04 01:35:38 -07:00
Ben Stull d1c5190bbb feat: selection Coordinate and weighted distance 2026-06-04 01:35:15 -07:00
Ben Stull 85119ed385 feat: catalog JSONL load/save/append 2026-06-04 01:34:51 -07:00
Ben Stull c36ef73342 feat: catalog Record dict conversion 2026-06-04 01:34:20 -07:00
Ben Stull 8b3d17a6aa feat: catalog Record model and validation 2026-06-04 01:33:50 -07:00
Ben Stull 1379751dda chore: scaffold catalog+selection core package 2026-06-04 01:33:23 -07:00