Re-illustrate Series Three from real photographs (40 of 50) - #14
Merged
Conversation
Replaces the withdrawn art. Every portrait is now generated image-to-image from an identified photograph of the actual person, so the faces are likenesses rather than inventions. The 10 cards with no verified photograph carry a plate saying so — nobody gets a fabricated face. Finding the photographs (scripts/security-refs.mjs) --------------------------------------------------- Identity is verified, not assumed, because a name search returns humans rather than the right human. Left unchecked this pipeline wanted to put the British Conservative Party leader on Michael Howard's card, a Confederate general on Robert M. Lee's, a Liverpool councillor on Mark Dowd's, a Canadian rugby player on Jeff Williams', and an art historian on Ivan Ristic's. So the resolver requires a surname match against the Wikidata label, rejects photographs dated before 1950, requires a Commons filename to *open* with the person's full name, and carries an explicit reject list with a written reason per entry. Everything that survived was still reviewed by eye against a contact sheet, which is what caught the remaining bad matches. Sources, in order of authority: hand-verified overrides, Wikidata P18, Commons search, then nothing. 24 are confirmed by the file being used on that person's own Wikipedia article. Openverse turned up CC BY-SA conference photography for Venema, Deraison and Ptacek, including a hack.lu 2006 set that also proved the Wikidata P18 for Venema is a different man. Attribution ----------- Most references are CC BY or CC BY-SA and a conditioned portrait is a derivative work, so the photographer is credited on the card back and on the card page, and data/security-references.json carries source, licence and licence URL. Photos that are ordinary bio shots rather than freely licensed are recorded as "supplied" instead of claiming CC terms the deck cannot back. The reference photographs themselves are gitignored. Painting from them is a different act from redistributing them, and `security-refs.mjs fetch` re-obtains the set from the manifest. Still faceless (10), pending a licensed photograph -------------------------------------------------- Gerald Combs, Robert Hansen, Jeff Williams, Gary McGraw, Michael Howard, Ivan Ristic, Mark Dowd, Thomas Dullien, Heather Adkins, Katie Nickels. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014htrUgbnoKQt9iT4G7hUpy
ThreatCrush Security Scan4 finding(s) MEDIUM: 4
Snippets are redacted; ThreatCrush never prints matched credential material. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the art withdrawn in #12. Every portrait is now generated image-to-image from an identified photograph of the actual person, so the faces are likenesses instead of inventions. The 10 cards with no verified photograph carry a plate saying so — nobody gets a fabricated face.
Finding the photographs
New
scripts/security-refs.mjs. Identity is verified, not assumed, because a name search returns humans rather than the right human. Left unchecked, this pipeline wanted to put:So the resolver requires a surname match against the Wikidata label, rejects photographs dated before 1950, requires a Commons filename to open with the person's full name, and carries an explicit reject list with a written reason per entry. Everything that survived was still reviewed by eye against a contact sheet — which is what caught the rest.
Sources in order of authority: hand-verified overrides → Wikidata P18 → Commons search → nothing. 24 are independently confirmed by the file being used on that person's own Wikipedia article. Openverse turned up CC BY-SA conference photography for Venema, Deraison and Ptacek, including a hack.lu 2006 set that incidentally proved the Wikidata P18 for Venema is a different man.
Attribution
Most references are CC BY or CC BY-SA, and a conditioned portrait is a derivative work, so the photographer is credited on the card back and in a "Portrait" block on the card page.
data/security-references.jsoncarries source, licence and licence URL per card. Photos that are ordinary bio shots rather than freely licensed are recorded assuppliedrather than claiming CC terms the deck cannot back.The reference photographs themselves are gitignored — painting from them is a different act from redistributing them, and
security-refs.mjs fetchre-obtains the set from the manifest.Verified
tsc --noEmitandpnpm buildclean; 50 card fronts, 50 card pages, credits rendering.Still faceless (10), pending a licensed photograph
Gerald Combs, Robert Hansen, Jeff Williams, Gary McGraw, Michael Howard, Ivan Ristić, Mark Dowd, Thomas Dullien, Heather Adkins, Katie Nickels.
🤖 Generated with Claude Code
https://claude.ai/code/session_014htrUgbnoKQt9iT4G7hUpy