Pixiv native ingester (#129) + SubscribeStar .art fix, disable-clears-failure, system-tag suggestion floor #191
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?
Merges dev → main. All CI-green on dev head
6c6e8bd(run 1919: lint, backend-unit, frontend, integration).Migrations on this merge: 0075 (system-tag seeds wip/banner/editor — carried from the previous still-undeployed main state) + 0076 (pixiv seen/failed ledgers).
Pixiv → native post-first ingester (milestone #129)
Third native platform alongside patreon/subscribestar. gallery-dl 1.32.5-parity app-API client (iOS headers, OAuth refresh, /v1/user/illusts, next_url cursor), layout-parity downloader (byte-exact gallery-dl filename via gdl_clean_filename → tier-2 disk-skip recognizes pre-cutover files, no re-download), enriched
_post_<id>.json(JP+EN tags, rating, series, view/bookmark/comment counts, AI flag, dims, ugoira frame delays → Post.raw_metadata + title/body), pixiv ledgers (0076), dispatch flipped, legacy gallery-dl pixiv path removed.Pre-merge fixes
.art;_normalize_ss_hostroutes.art→.adultat request time (walk + verify), logged.SourceService.updatewipes last_error/error_type/consecutive_failures on explicit disable, so paused subs stop showing as failing.Post-deploy operator action: label ~8+ each of wip/banner/editor to arm the system-tag heads (training hygiene + the 0.65 reject-to-train surfacing both need ≥8 labels).
🤖 Generated with Claude Code
https://claude.ai/code/session_01CDgx8bQS5YrGRK76v8HUnM
PixivDownloader writes originals to the exact pre-cutover gallery-dl layout (<artist_slug>/pixiv/pixiv/{id}_{title[:50]}_{NN}.{ext} — flat, double platform segment) so tier-2 disk-skip recognizes existing files. Post-first: per-media sidecar is identity-only; the post record (_post_<id>.json — id suffix because the flat layout would collide a bare _post.json) carries the enrichment: tags + EN translations, rating from x_restrict, series, view/bookmark/comment counts, AI flag, dimensions, author, and ugoira frame delays (the zip has no timings). i.pximg.net media GETs ride the app-header profile (403 without the app-api Referer). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01CDgx8bQS5YrGRK76v8HUnM