Tagging & viewing roadmap: tag query surface + hygiene projections + Explore view (Clusters A/B/C) #128
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?
Ships the full viewing/tagging feature roadmap (note #1045) — three clusters, all CI-green on
dev(7b71292, run 1476). No schema changes (migration head stays 0054).Cluster A — Tag query surface (milestone #97)
TagQueryBuilder.vue). Backend layered additively on the existing AND path (tag_or_groups+tag_exclude); URL grammartag_or(repeatable) +tag_not.Cluster B — Tag-hygiene projections (milestone #99)
Cluster C — Explore view + tag-gap closing (milestone #94)
/exploreview: anchor on an image, walk its visual neighbours (pgvector/SigLIP) with a breadcrumb, and close cluster-consensus tag gaps ("7 of 10 share this tag; these 3 don't") with apply-to-cluster (skips images that rejected the tag).Reuses existing primitives throughout (
usePreviewCommit,utils/clipboard, the similar-search + bulk-tag services); new reusablecommon/TagPicker.vue. Dev-logs: #1055 / #1064 / #1071.🤖 Generated with Claude Code
The new coverage tests' sequential shas (c{i:063d}) share their first 8 chars, so deriving the image path from sha[:8] collided on uq_image_record_path. Use the full sha in the path. Same hardening for test_api_suggestions._img. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01XCUHUGQLrBrkgyk1t49kpX