• v9.2.0 dad048a90d

    v9.2.0
    All checks were successful
    CI / Images — production build (push) Successful in 14s
    CI / App — typecheck, test & build (push) Successful in 2m4s
    Publish Images / Build & push images (push) Successful in 2m6s
    CI / API — typecheck & tests (push) Successful in 4m26s
    Stable

    claude-bot released this 2026-07-18 16:34:21 +00:00 | 47 commits to main since this release

    Two more v10-backlog research-workflow enhancements.

    Works Registry (#127)

    The studied media — a music video, film, or album — is now a first-class object, so an observation can be about a work, not merely from a source. A project-scoped, soft-deletable works registry (migration 054) with full CRUD in Settings → Works (title, artist, release date, canonical URL). Assign works to an entry inline on its detail page; filter Entries and Timeline by work to pull up every observation on a given video.

    Deferred follow-ups (tracked on #127): release-date pivot on Timeline, works-as-sections in Markdown export / public motif pages, and bootstrap-by-clustering existing source URLs.

    Path Finder (#129)

    "How are these two observations related?" Pick any two entries (or an entry and a motif) and get the shortest chain linking them — through typed connections and shared motifs — rendered as a graph on the Insights page, with typed edge labels and clickable nodes. A bounded bipartite BFS (GET /api/connections/path) treats motifs as nodes so a hub motif can't explode the search, is depth-capped, and is scoped to the active project. "No path found" is an explicit outcome.


    Full API suite: 50 files / 353 tests green. Also fixed a test-isolation bug (clearEntryData didn't truncate works/entry_works).

    Downloads