Skip to content

Add museum collection with per-institution search#8

Merged
jwahdatehagh merged 1 commit into
networked-art:masterfrom
seanbonner:feat/museum-collection
May 28, 2026
Merged

Add museum collection with per-institution search#8
jwahdatehagh merged 1 commit into
networked-art:masterfrom
seanbonner:feat/museum-collection

Conversation

@seanbonner
Copy link
Copy Markdown
Contributor

Second curated collection from #6, built on the layer that landed in #7: museum — 16 Punks held in the permanent collections of art institutions, with each institution independently searchable. This is the institution-level granularity raised in #6 ("even specific institutions like MOMA or ZKM").

What's in it

  • Nested institutions. A collection can now carry institutions, each with its own aliases and ids. The collection's ids is the union of them. So:
    punks.search({ text: 'museum punks' }) // every institution-held Punk (16)
    punks.search({ text: 'MOMA' })         // just MoMA's (8)
    punks.search({ text: 'zkm' })          // just ZKM's (4)
    Institution aliases resolve through the same whole-phrase, on-by-default path as top-level collections.
  • Lookup API. New CuratedCollectionInstitution type; punks.collections.get('museum') carries the institutions array. The bundle's deep-freeze (added in Add curated-collections layer with burned set #7) extends into the nested institutions; the facade still hands out mutable clones.
  • Tests + changeset (minor).

Source data

MoMA, ZKM Karlsruhe, LACMA, Centre Pompidou, ICA Miami, and Toledo Museum of Art, per museumpunks.com. The six institutions' holdings union to exactly the 16-Punk set.

V1 / V2 and overlap with burned

standard is v2. Two of the museum Punks — #2838 and #5449, both ZKM acquisitions — were sent to the CryptoPunksMarket contract and are therefore also in the burned set (#7). The nested-institution shape represents that overlap with its proper context rather than flattening it, exactly as #6 described.

🤖 Generated with Claude Code

Extend the curated-collections layer with `museum`: 16 Punks across 6
institutions, each independently searchable.

- A collection may nest `institutions`; each institution's aliases resolve to
  its own ids, and the collection's `ids` is the union of them all. So
  `museum punks` returns the whole set while `MOMA` / `zkm` /
  `museum of modern art` return just that institution's Punks.
- The bundle's deep-freeze extends into the nested institutions.
- Add the `CuratedCollectionInstitution` type; `collections.get('museum')`
  carries the `institutions` array.
- Source: MoMA, ZKM Karlsruhe, LACMA, Centre Pompidou, ICA Miami, Toledo
  Museum of Art (museumpunks.com). #2838 and #5449 (both ZKM) overlap the
  burned set, as expected.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@jwahdatehagh jwahdatehagh merged commit ce06729 into networked-art:master May 28, 2026
@github-actions github-actions Bot mentioned this pull request May 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants