Kris Anderson
1bf9fa1d49
fix(migrate): discover directory-form packs instead of silently skipping them
...
iter_packs() searched only files, so a directory-form pack (`song.sloppak/`, the
authoring shape) was walked INTO and never yielded — silently missed by a run
that's meant to be exhaustive. Discover suffix-named directories too (yielded
whole, not descended into), and route packs through migrate_pack/verify_pack.
Directory packs are REPORTED as `dir-form-unsupported`, not rewritten in place:
a single-file pack is replaced atomically (a fully-built temp archive swapped in
with one os.replace), but a populated directory can't be swapped that way, so an
interrupted in-place rewrite could leave an authoring pack half-migrated. The
status is a problem status, so it counts against the run's exit code and shows
in the summary — the operator re-packs or migrates it as a `.feedpak` instead of
it vanishing from the report. Addresses a CodeRabbit review finding.
Signed-off-by: Kris Anderson <topkoa@gmail.com >
2026-07-13 12:00:26 -04:00
..
2026-07-12 11:36:11 +02:00
2026-06-16 18:49:40 +01:00
2026-07-13 00:35:09 +02:00
2026-07-13 11:47:59 +02:00
2026-06-16 18:47:13 +02:00
2026-07-12 01:26:02 +02:00
2026-07-05 00:17:43 +02:00
2026-07-03 12:15:43 +02:00
2026-07-10 15:06:22 +02:00
2026-07-11 11:56:53 +02:00
2026-07-11 11:56:53 +02:00
2026-07-03 12:15:43 +02:00
2026-07-11 11:32:21 +02:00
2026-07-03 12:15:43 +02:00
2026-06-23 11:03:01 +02:00
2026-07-03 12:15:43 +02:00
2026-07-11 15:36:22 +02:00
2026-06-16 18:47:13 +02:00
2026-07-03 12:15:43 +02:00
2026-07-12 00:50:50 +02:00
2026-07-12 00:50:50 +02:00
2026-07-11 14:56:12 +02:00
2026-07-11 11:32:21 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-07-12 11:30:53 +02:00
2026-07-03 13:01:07 +02:00
2026-06-23 11:03:01 +02:00
2026-07-03 13:01:07 +02:00
2026-07-05 00:15:50 +02:00
2026-06-16 19:36:53 +01:00
2026-07-11 11:32:21 +02:00
2026-07-11 16:33:03 +02:00
2026-07-12 01:26:02 +02:00
2026-07-11 11:32:21 +02:00
2026-07-05 21:09:38 +02:00
2026-06-23 11:03:01 +02:00
2026-07-02 08:40:20 +02:00
2026-07-07 23:58:49 +02:00
2026-07-05 00:20:31 +02:00
2026-07-10 13:12:10 +02:00
2026-06-16 18:47:13 +02:00
2026-07-05 20:08:19 +02:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-07-10 21:12:54 +02:00
2026-07-10 21:12:54 +02:00
2026-07-10 21:12:54 +02:00
2026-07-07 23:57:20 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-06-23 11:03:01 +02:00
2026-07-10 19:16:01 +02:00
2026-07-03 12:15:43 +02:00
2026-06-16 19:36:53 +01:00
2026-06-16 19:36:53 +01:00
2026-07-11 11:32:21 +02:00
2026-07-05 01:11:38 +02:00
2026-07-07 23:58:49 +02:00
2026-07-07 10:27:45 +02:00
2026-07-07 10:27:17 +02:00
2026-07-13 12:00:26 -04:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-07-02 08:40:20 +02:00
2026-06-16 18:47:13 +02:00
2026-07-10 17:16:34 +02:00
2026-06-23 11:03:01 +02:00
2026-07-10 20:16:22 +02:00
2026-07-10 19:58:09 +02:00
2026-07-12 00:29:48 +02:00
2026-06-23 11:03:01 +02:00
2026-07-11 22:44:03 +02:00
2026-07-12 00:19:59 +02:00
2026-07-12 00:29:48 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-07-12 00:50:50 +02:00
2026-06-16 19:36:53 +01:00
2026-06-16 18:47:13 +02:00
2026-07-11 11:32:21 +02:00
2026-07-12 01:26:02 +02:00
2026-07-11 12:35:05 +02:00
2026-07-11 12:35:05 +02:00
2026-07-05 00:16:42 +02:00
2026-06-16 18:47:13 +02:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-06-20 21:59:04 +02:00
2026-07-11 15:36:22 +02:00
2026-07-13 16:50:12 +02:00
2026-06-20 14:10:04 -07:00
2026-06-20 21:23:48 +02:00
2026-06-16 18:47:13 +02:00
2026-06-20 21:35:07 +02:00
2026-06-16 18:47:13 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-06-23 11:03:01 +02:00
2026-07-02 20:51:57 +02:00
2026-07-13 13:25:44 +02:00
2026-07-03 12:15:43 +02:00
2026-07-12 01:32:46 +02:00
2026-06-23 11:03:01 +02:00
2026-07-12 13:25:16 +02:00
2026-06-16 18:47:13 +02:00
2026-07-12 01:25:08 +02:00
2026-07-12 15:24:39 -05:00
2026-07-03 12:15:43 +02:00
2026-06-16 18:47:13 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-07-03 12:15:43 +02:00
2026-07-10 21:30:53 +02:00
2026-06-16 18:47:13 +02:00