chore: migrate HeeJin's archive from 0ct0ber19 to heejin

Her Instagram handle changed and the old one is now permanently dead
(no redirect, "Sorry, this page isn't available"). Verified @heejin
is her before touching anything. Renamed 3,353 files across her
archive directories on the NAS, matching only the exact username
token so real collab posts physically stored there but owned by
someone else were correctly left untouched. Updated both account-link
files to the new URL. Full record in TOOLING.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011qAds5qr7nZRq5R4yAuxUk
This commit is contained in:
2026-09-14 13:20:32 -04:00
co-authored by Claude Sonnet 5
parent 5148b677ce
commit 8275416b6e
2 changed files with 46 additions and 1 deletions
+45
View File
@@ -67,6 +67,51 @@ Long runs: `setsid nohup ~/gdl/run-profiles.sh >/dev/null 2>&1 &` (or `run-full-
Nothing reaches the archive until a run finishes, so killing one midway is
safe.
## 2026-09-14 — a tracked account renamed on Instagram: 0ct0ber19 → heejin
HeeJin's handle changed and the old one is now fully dead — `instagram.com/
0ct0ber19/` returns "Sorry, this page isn't available", no redirect. Verified
`@heejin` is her (verified badge, ARTMS affiliation, followed by
`official_artms`, same profile picture) before touching anything.
Directory naming is forced from **our own tracked profile name**, not derived
from Instagram's live username (see `gdl_command()` in `gdl-sync.py`) — so
updating the URL alone would have started a brand-new `heejin/` directory
tree alongside the existing `0ct0ber19/` one, splitting one person into two
profiles. Fixed by migrating the existing archive instead of leaving it
stale:
- `0ct0ber19` → `heejin`, `0ct0ber19 - reels` → `heejin - reels`,
`story - 0ct0ber19` → `story - heejin`, and both her highlight directories
— 3,353 files total, done directly on the NAS (`ana-nas.lan.1qaz.ca`,
`/volume1/rslsync/sync/Instagram-archive/archives`), not via `gdl-sync.py`.
- Only files whose embedded `{username}` token was **exactly** `0ct0ber19`
were renamed — matched as `_0ct0ber19 - ` (dated stem) or `^0ct0ber19 - `
(the older undated highlight naming) or the bare `0ct0ber19.<ext>` profile
picture, never a substring match. 7 files inside her own directories were
correctly left untouched: real collab posts (`chuuo3o`, `findyourmapp`)
physically stored there but truly owned by someone else — see "Where a
shared reel lands" above for why that happens at all.
- Verified by content after each `rename()`, not exit code — this volume can
report a rename as failed when it actually succeeded (see
`instaarchive-deployment` in project memory). Every directory came back
with zero missing targets and zero leftover old names.
- `docs/artms-instagram-accounts.txt` and `~/gdl/artms_account_links.txt`
updated to the new URL. The live site picked up the rename immediately, no
cache-bust needed — the archive index invalidates on directory mtime, which
a rename changes.
- **Not changed:** the skip-archive DB (`artms.db`) keys purely on
`instagram_<media_id>`, no username involved, so it needed nothing. The
per-source `state.json` timestamps *are* keyed by URL, though, so `heejin`'s
entries look "never seeded" to `gdl-sync.py` now — the next run against her
will do one seeding listing pass to catch up, same as any newly added
profile. Cheap, and expected.
If this happens again for another tracked account: confirm the new handle is
really the same person before touching anything (verified badge + a mutual
signal like "Followed by official_artms" + matching profile picture is
usually enough), then this section is the template.
## Safety net: a global gallery-dl config
`~/.config/gallery-dl/config.json` on `mattellite` exists so that a **plain
+1 -1
View File
@@ -1,4 +1,4 @@
https://www.instagram.com/0ct0ber19/
https://www.instagram.com/heejin/
https://www.instagram.com/kimxxlip/
https://www.instagram.com/withaseul/
https://www.instagram.com/cher_ryppo/