v26.05.24.2: IR Post/Provenance restore + modal artist fallback #8
Reference in New Issue
Block a user
Delete Branch "dev"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Extends the IR migration to bring across IR's PostMetadata (title, description, source URL, publish date, attachment count) as FC Source + Post + ImageProvenance, so post-level data survives IR shutdown. Also adds a modal-side artist fallback so IR-imported images without ImageProvenance still show a "by " line via image_record.artist_id.
Track B — IR Post/Provenance restore
78df92con the imagerepo repo) bumped to schema v2; new_export_image_posts()dumps every PostMetadata row plus its image-sha256 list, joined through image_tags via the post-kind tag.ir_ingest.pyaccepts schema 1 or 2; carries the newimage_postsarray into/images/_migration_state/ir_tag_manifest.json.tag_apply.pynew phase 4: for eachimage_postsentry, find-or-createsSource(artist + platform) +Post(title/description/post_url/post_date/attachment_count, withraw_metadata.migrated_from=imagerepo) + per-imageImageProvenancerow. Idempotent on rerun. Dry-run safe.Track A — Modal artist fallback
gallery_service.get_image_with_tagsnow returnsartist: {id, name, slug}whenimage_record.artist_idis set.ProvenancePanel.vueshows a minimal "by " card when ImageProvenance is empty but the image has a direct artist FK — so the modal stops being blank for IR-imported images that aren't in a tracked post.Testing
5 new integration tests in
tests/test_tag_apply.pycover phase 4: creates Source+Post+ImageProvenance, idempotent on rerun, unknown sha → unmatched, unknown platform → skipped, dry-run no writes.Operator workflow
ir-exportservice inside the IR stack (snippet in chat) that runsscripts/export_for_fabledcurator.py --output /staging/ir-export-v2.json.Commits