Commit Graph

  • 2923257529 Merge pull request 'fix(ui): tag-chip left-edge clipping + kind-coloured border' (#206) from dev into main main bvandeusen 2026-07-08 10:37:09 -04:00
  • a017771621 feat(ui): thin kind-coloured border on tag chips so they don't wash out dev bvandeusen 2026-07-08 10:31:44 -04:00
  • 25e555cab6 fix(ui): stop leading tag-chip icon clipping on the left edge bvandeusen 2026-07-08 10:29:28 -04:00
  • 934731e9ef Merge pull request 'feat(translation): per-field language detection for mixed-language posts' (#205) from dev into main bvandeusen 2026-07-08 09:25:23 -04:00
  • 3c7ab44e74 feat(translation): per-field language detection for mixed-language posts bvandeusen 2026-07-07 23:31:04 -04:00
  • 4c67c116b2 Merge pull request 'Bolder auto-tag accept/reject + larger tag chips' (#204) from dev into main bvandeusen 2026-07-07 23:21:26 -04:00
  • 06f98acf3e feat(tagging): bolder auto-tag accept/reject + larger tag chips in the rail bvandeusen 2026-07-07 23:17:18 -04:00
  • f8b667604f Merge pull request 'Graceful shutdown + resilience & Explore polish (m147)' (#203) from dev into main bvandeusen 2026-07-07 22:53:34 -04:00
  • 4371ddb7e7 feat(translation): live re-translate progress in the Settings card bvandeusen 2026-07-07 22:20:32 -04:00
  • 40cc11be5b feat(deploy): container healthchecks + Swarm rolling-update auto-rollback bvandeusen 2026-07-07 22:15:33 -04:00
  • 0b78264d62 feat(maintenance): daily janitor for orphaned .part/.partial staging files bvandeusen 2026-07-07 22:15:33 -04:00
  • 9eae636047 feat(translation): pooled Interpreter session + manual sweep resumes after drain bvandeusen 2026-07-07 22:10:05 -04:00
  • f8105046dc feat(explore): exclude WIP-tagged work from the Explore rabbit-hole bvandeusen 2026-07-07 22:10:05 -04:00
  • d631ed023c style(translation): use datetime.UTC alias (ruff UP017) bvandeusen 2026-07-07 21:04:17 -04:00
  • c64261593d feat(ops): graceful shutdown — worker stop-grace + Interpreter drain resilience bvandeusen 2026-07-07 21:01:00 -04:00
  • 11572f469a Merge pull request 'Re-translate on Interpreter model change — artist-scoped + global (m146)' (#202) from dev into main bvandeusen 2026-07-07 20:22:40 -04:00
  • 1f6d94f51d feat(translation): re-translate on model change — artist-scoped + global re-run (#146) bvandeusen 2026-07-07 20:03:19 -04:00
  • ba3fd2a118 Merge pull request 'Post translation via Interpreter (milestone 143)' (#201) from dev into main bvandeusen 2026-07-07 13:05:18 -04:00
  • 6a255482ea feat(translation): "Test connection" button — on-demand Interpreter health check (#143) bvandeusen 2026-07-07 13:00:37 -04:00
  • af5aa21e45 test(translation): API endpoint tests for status + run (#143 step 6) bvandeusen 2026-07-07 12:39:43 -04:00
  • 83c1745fd0 feat(ui): translation-forward post text + Settings card (#143 step 5) bvandeusen 2026-07-07 12:38:41 -04:00
  • ead60978e3 feat(translation): expose translated fields in post feed + provenance payloads (#143 step 4) bvandeusen 2026-07-07 12:31:46 -04:00
  • 7a4de7278d feat(translation): backfill sweep + beat + manual trigger (#143 step 3) bvandeusen 2026-07-07 12:29:28 -04:00
  • 7f8073c4c8 feat(translation): Interpreter client — batch translate + health (#143 step 2) bvandeusen 2026-07-07 12:23:49 -04:00
  • a3bc98a53c feat(translation): Post translation columns + settings + migration (#143 step 1) bvandeusen 2026-07-07 12:20:31 -04:00
  • 9bf095179a Merge pull request 'Auto-tag accept/reject as an in-pill yes/no pair; confirm refocuses the tag input' (#200) from dev into main bvandeusen 2026-07-07 01:13:02 -04:00
  • e7c3f4e9c9 feat(ui): auto-tag accept/reject as an in-pill yes/no pair; confirm refocuses input bvandeusen 2026-07-07 00:56:15 -04:00
  • cefc064e0f Merge pull request 'Surface auto-hide misfires proactively (review strip no longer gated on Show-hidden)' (#199) from dev into main bvandeusen 2026-07-07 00:43:45 -04:00
  • 29f3a485b0 fix(ui): surface auto-hide misfires proactively — review strip no longer gated on Show-hidden (#141) bvandeusen 2026-07-07 00:39:23 -04:00
  • 06757daf80 Merge pull request 'Presentation-chrome auto-hide (milestone 141) + tagging-UX fixes' (#198) from dev into main bvandeusen 2026-07-07 00:24:51 -04:00
  • 2bcaa20b22 feat(ml): schedule presentation auto-hide sweep + retention (#141 step 6) bvandeusen 2026-07-06 23:46:09 -04:00
  • 9726d6f4b5 feat(ui): hidden-view review strip — flagged auto-hides with keep / un-hide (#141 step 5) bvandeusen 2026-07-06 23:39:02 -04:00
  • 6c34f86477 feat(gallery): hidden-view review endpoints — list + keep + un-hide (#141 step 5) bvandeusen 2026-07-06 23:34:18 -04:00
  • 1f548d8a7b feat(ui): presentation-chrome auto-hide Settings controls (#141 step 4) bvandeusen 2026-07-06 23:16:41 -04:00
  • eedf8d109a feat(ml): presentation-chrome auto-hide sweep + hard-skip + conflict flagging (#141 step 4) bvandeusen 2026-07-06 23:11:26 -04:00
  • ab63d94249 feat(ml): presentation auto-hide settings + review table (#141 step 3) bvandeusen 2026-07-06 22:59:00 -04:00
  • eadaa716af feat(gallery): "Show hidden" toggle reveals presentation chrome (#141 step 2) bvandeusen 2026-07-06 22:43:24 -04:00
  • 0efb187eb1 fix(gallery): drop include_hidden before the similar() call (#141 step 1) bvandeusen 2026-07-06 22:32:53 -04:00
  • e86b91dfe2 feat(gallery): default-hide presentation chrome (banner/editor screenshot) (#141 step 1) bvandeusen 2026-07-06 22:27:00 -04:00
  • 4f4ddecf75 fix(ui): long tag chips no longer overflow the rail and clip their ✕ bvandeusen 2026-07-06 22:22:21 -04:00
  • 04d5d62cfe style(ui): auto-tag Keep button matches the suggestion accept button bvandeusen 2026-07-06 21:36:19 -04:00
  • a723ef436b Merge pull request 'Soft auto-apply (retract + confirm, no self-training) + tagging UX (reject-rest, tag-input race, modal playlist)' (#197) from dev into main bvandeusen 2026-07-06 21:03:30 -04:00
  • 18bb25f140 fix: ruff C416 (dict() over comprehension) + frontend test playlistIds rename bvandeusen 2026-07-06 19:09:29 -04:00
  • 17433c69d4 test(tag): serialize_tag unit tests include the new source/confirmed keys (m139) bvandeusen 2026-07-06 19:03:51 -04:00
  • 3bf41ecac3 feat(ui): modal prev/next walks the current gallery filter (#1322) bvandeusen 2026-07-06 19:02:38 -04:00
  • bae077e323 feat(ml): CCIP references exclude unconfirmed auto character tags + confirm trips detectors (m139) bvandeusen 2026-07-06 18:59:00 -04:00
  • 775941609d feat(ui): confirm/keep auto-applied tags (milestone 139) bvandeusen 2026-07-06 18:51:39 -04:00
  • d3984ccb0d fix(ui): tag autocomplete no longer shows stale wrong-prefix results (race) bvandeusen 2026-07-06 18:45:25 -04:00
  • 7d3a3b4a83 revert(ml): keep head auto-apply precision at 0.97 (operator: general tuning was fine) bvandeusen 2026-07-06 18:42:08 -04:00
  • 6684907577 feat(ui): "Reject rest" per suggestion category — confirm the good, reject the rest bvandeusen 2026-07-06 18:42:08 -04:00
  • 2d44a26bdf feat(ml): auto-applied tags don't train a head unless confirmed (milestone 139) bvandeusen 2026-07-06 18:28:25 -04:00
  • 0de726ed48 test(ml): bump auto-apply test head n_pos default 30→60 past the new floor (m139) bvandeusen 2026-07-06 18:18:46 -04:00
  • 3006e84cc0 feat(ml): soft auto-apply — retract auto-tags now below threshold (milestone 139) bvandeusen 2026-07-06 18:13:37 -04:00
  • cbc3e11a53 feat(ml): stricter auto-apply defaults to cut misfires (milestone 139) bvandeusen 2026-07-06 18:08:54 -04:00
  • d68f39ca50 Merge pull request 'Suggestions perf + UX polish: incremental CCIP + head training, hover label, scroll/toast fixes, dead-preview removal' (#196) from dev into main bvandeusen 2026-07-06 16:41:08 -04:00
  • 2cfbb284d5 feat(heads): incremental retraining — refit only changed tags (#1317 phase 2, m138) bvandeusen 2026-07-06 16:36:30 -04:00
  • a94f6a2789 feat(ccip): matcher reads the incremental prototype store (#1317, m138 step 4) bvandeusen 2026-07-06 16:21:38 -04:00
  • a1ed53136e feat(ccip): refresh task + beat + retrain hook for character prototypes (#1317, m138 step 3) bvandeusen 2026-07-06 16:13:22 -04:00
  • 9504870c9a feat(ccip): incremental character-prototype builder (#1317, m138 step 2) bvandeusen 2026-07-06 16:07:07 -04:00
  • f24dc81764 feat(ccip): schema for precomputed incremental character prototypes (#1317, m138 step 1) bvandeusen 2026-07-06 15:58:11 -04:00
  • 48be921b8d fix(ui): tag-rail no longer scroll-jumps on accept/reject; keep suggestions clear of the toast bvandeusen 2026-07-06 15:25:04 -04:00
  • 7939dba9ed feat(ui): grounding overlay leads with the hovered tag, crop origin as subtext (#1206) bvandeusen 2026-07-06 15:11:10 -04:00
  • 8f6547f8d7 refactor(subscriptions): remove the dead backfill dry-run preview (#1281) bvandeusen 2026-07-06 14:15:19 -04:00
  • a66a695977 Merge pull request 'Tag-hover → crop-region grounding overlay (#1206, milestone #133)' (#195) from dev into main bvandeusen 2026-07-06 13:29:31 -04:00
  • 2638cf1a35 style(tests): hoist test_api_tags grounding imports to module level (ruff I001) bvandeusen 2026-07-06 13:24:55 -04:00
  • 9bb4211722 feat(ui): hover an applied tag chip → highlight its grounding crop (#133 step 4) bvandeusen 2026-07-06 13:19:41 -04:00
  • 524a26c618 feat(ui): hover a suggestion → highlight the crop region it came from (#133 step 3) bvandeusen 2026-07-05 23:24:18 -04:00
  • dfe2fda564 feat(ml): CCIP character matches ground to the matched figure region (#133 step 2) bvandeusen 2026-07-05 23:18:41 -04:00
  • 409724b981 feat(ml): argmax grounding in score_image → suggestions carry the winning crop (#133 step 1) bvandeusen 2026-07-05 23:13:29 -04:00
  • 5289fa3879 Merge pull request 'Crop-proposer detector config → Settings → Tagging (default-on, lease-announced) (#134)' (#194) from dev into main bvandeusen 2026-07-05 20:10:02 -04:00
  • ab362bc79c feat(ml): Settings → Tagging 'Crop proposers' card (#134 step 3) bvandeusen 2026-07-05 19:51:55 -04:00
  • a4df279343 feat(ml): lease announces detector config; agent builds proposers from it live (#134 step 2) bvandeusen 2026-07-05 19:42:59 -04:00
  • 62ec70b9e4 feat(ml): detector config in MLSettings with working defaults (#134 step 1) bvandeusen 2026-07-05 19:35:59 -04:00
  • ebac34e17b Merge pull request 'Artist identity/storage/display decoupling — rename, move-source, add-time name resolution (#130)' (#193) from dev into main bvandeusen 2026-07-04 22:43:12 -04:00
  • 0963bf0db3 feat(artist): resolve patreon + subscribestar display names at add-time (#130 step 5) bvandeusen 2026-07-04 22:37:50 -04:00
  • 0c4b8aef8c feat(artist): pixiv display-name at add-time + identity-by-source (#130 steps 2+3) bvandeusen 2026-07-04 22:24:25 -04:00
  • a69bd1baa8 feat(artist): move a source into another artist (#130 step 4) bvandeusen 2026-07-04 22:15:38 -04:00
  • 87d53db0cb feat(artist): editable display name + rename surface; drop name-uniqueness (#130 step 1) bvandeusen 2026-07-04 22:04:20 -04:00
  • 4c3ba20198 Merge pull request 'Recapture image→post linking (#1288) + ugoira timings + system suggestion category' (#192) from dev into main bvandeusen 2026-07-04 20:36:58 -04:00
  • 8838b325fb fix(recapture): link on-disk images to their post (#1288) bvandeusen 2026-07-04 20:13:53 -04:00
  • 437bf4d37a feat(suggestions): group wip/banner/editor under a separate 'system' category bvandeusen 2026-07-03 22:00:49 -04:00
  • f33808b977 fix(pixiv): capture ugoira frame timings in the post record (ordering bug) bvandeusen 2026-07-03 19:41:29 -04:00
  • d2acec61ae Merge pull request 'Pixiv native ingester (#129) + SubscribeStar .art fix, disable-clears-failure, system-tag suggestion floor' (#191) from dev into main bvandeusen 2026-07-03 16:36:56 -04:00
  • 6c6e8bdb6d feat(heads): surface system-tag suggestions at a flat 0.65 confidence floor bvandeusen 2026-07-03 14:49:40 -04:00
  • c9696a2faf fix(subscribestar): route .art creators to .adult; clear source failure on disable bvandeusen 2026-07-03 14:43:02 -04:00
  • 544e30bfb9 fix(pixiv): match gallery-dl's exact on-disk filename to avoid re-download at cutover bvandeusen 2026-07-03 13:49:04 -04:00
  • a7f715ec43 test: stub ctx gains the auth_token key run_download now reads bvandeusen 2026-07-03 10:00:14 -04:00
  • 0bbcdee3bd feat(pixiv): flip dispatch to the native ingester (#129 step 4) bvandeusen 2026-07-03 09:54:18 -04:00
  • 4068a97392 test(pixiv): fix downloader tests — skip validation on stub bytes, no media extraction in post-record tests bvandeusen 2026-07-03 09:46:27 -04:00
  • 0563b2d750 feat(pixiv): ledger models + migration 0076 + PixivIngester adapter (#129 step 3) bvandeusen 2026-07-03 09:45:14 -04:00
  • 7ef2ecd82f feat(pixiv): native downloader — gallery-dl layout parity + enriched post record (#129 step 2) bvandeusen 2026-07-03 09:40:59 -04:00
  • 86ae396914 feat(pixiv): native app-API client — gallery-dl-parity profile, post-first seams (#129 step 1) bvandeusen 2026-07-03 09:36:54 -04:00
  • 15ae5ef4fa Merge pull request 'SubscribeStar .art age fix, modal tag-flow sync, system tags / training hygiene (#128)' (#190) from dev into main bvandeusen 2026-07-03 09:16:16 -04:00
  • 65bd1c22c3 test: whole-table tag counts become non-system counts bvandeusen 2026-07-03 08:40:11 -04:00
  • f77e75147d feat(tags): system-tag UI markers + full protection sweep (step 4 of #128) bvandeusen 2026-07-03 08:34:16 -04:00
  • 723f023e6a feat(gallery): similar() hides presentation images (banner / editor screenshot) bvandeusen 2026-07-02 23:23:30 -04:00
  • 19744fa41d fix(tests): resync serial sequences after baseline restore bvandeusen 2026-07-02 23:21:52 -04:00
  • e6f128c894 feat(ml): training hygiene — system-tagged images are absent from other concepts training bvandeusen 2026-07-02 23:19:41 -04:00
  • e9891ee9f3 feat(tags): system tags — is_system column, seeded hygiene tags, protection guards bvandeusen 2026-07-02 23:14:49 -04:00
  • 581b778528 fix(modal): accept-by-known-id keeps the raw suggestion row identity for the drop bvandeusen 2026-07-02 22:02:24 -04:00