jeffrey-platter: scaffold index, archive, face-curation, neo-jeffrey gen
papers/jeffrey-platter/ — sub-platter index (sibling to whistlegraph-platter),
pointer-only README + canonical POI manifest.json (55 shoot + 38 masters + 38
candids = 131 entries, lifted from give.aesthetic.computer/index.html which
now fetches it at runtime via loadJeffreysManifest + buildImageIndex). sync.mjs
keeps system/public/give.aesthetic.computer/jeffreys-manifest.json in step.
portraits/jeffrey/ — bulk archive + face curation pipeline. Local-first, no
API dependency for the identity step:
bin/ig-import-cookies.py browser cookie → instaloader session (works around
2FA-flagged accounts where password flow strips
the auth cookie)
bin/ig-archive.fish bulk pull a profile (posts+highlights+stories,
fast-update incremental)
bin/ig-index.mjs per-account JSON summary by date
bin/fetch-corpus.mjs pulls CDN refs (shoot/masters/candids) per manifest
bin/face-match.py local insightface (buffalo_l) identity match against
reference embeddings — free, ~50ms/image, 95%+
accurate on clear faces
bin/face-describe.py GPT-4o vision tags matched images with the rev2
scene-graph schema (subject/environment/photography
/domain/tags/caption_hint), with cross-check on
face-match identity
bin/face-browser.py static HTML browser of curated/described records
with year/domain/sim filters, video preview
bin/generate-neo.py OpenAI gpt-image-1.5 / gpt-image-2 with multi-ref
identity grounding (default SHOOT_REFS, optional
--use-selfies adds 5 IG-platter selfies)
silo/instagrapi.service systemd unit staged for IG bridge migration
(not deployed; the platter doesn't need it — local
instaloader cookie path bypassed the original block)
reports/instagram-api-migration-2026-03-29.md status update — bypass landed,
bulk archive complete
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>