{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 177,
    "slug": "space-birds-by-mark-cotton",
    "title": "Space Birds",
    "artistCredit": "Mark Cotton",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/mark-cotton/"
    ]
  },
  "revision": 4,
  "researchCutoff": "2026-09-20",
  "status": "draft-for-human-review",
  "facts": [],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "observedAt": "2026-09-20",
      "sourceIds": [],
      "note": "Exact field verified; named operative terms inspected. Noncommercial sharing/adaptation with attribution/notices/change/license conditions.",
      "unresolvedConflicts": [],
      "previousRevisionSourceIds": [
        "S02",
        "S13"
      ]
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [],
      "note": "No separate script header; artwork label does not explicitly resolve source program scope.",
      "unresolvedConflicts": [],
      "previousRevisionSourceIds": [
        "S03",
        "S02"
      ]
    },
    "thirdParty": [
      {
        "reportedLabel": "LGPL-2.1",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "observedAt": "2026-09-18",
        "sourceIds": [],
        "note": "p5.js1.0.0 dependency only.",
        "unresolvedConflicts": [],
        "previousRevisionSourceIds": [
          "S14",
          "S15"
        ]
      }
    ]
  },
  "sections": [
    {
      "id": "the-work-and-its-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Space Birds is project 177 on the Art Blocks contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`. The index records 48 invocations against a maximum of 48, the runtime `p5@1.0.0`, a square aspect ratio, the licence label `CC BY-NC 4.0` and the Factory curation status [^S01]. The project text describes the forms: \"three simple polygon forms; triangles, quadrilaterals and pentagons\". Combined and layered, they \"twist and morph their shapes as they rotate in space\" [^S01].\n\nEach output is an animation, not a still. Translucent pointed polygons turn slowly through one another above a vertical colour gradient, while small discs, rings or comma-like shapes orbit them. Holding the mouse button pauses the animation, and pressing \"s\" saves a screenshot [^S01][^S02]. The compositions repeat a single cluster across a grid of one to nine cells, so a Nine Pack reads less as nine birds than as a moving wallpaper.\n\nIt followed Cotton's earlier Factory project, Gizmobotz (project 105) [^S03][^S04]."
    },
    {
      "id": "conception-and-development",
      "heading": "Conception and development",
      "bodyMarkdown": "Cotton set out his process in a Medium essay published on 8 October 2021, six days before release, which the index gives as the project's website [^S04][^S01]. He describes a practice built on accident: \"Experimentation, trial and error, combining unrelated themes and acting impulsively have led to some of my favorite results\" [^S04].\n\nThe starting point was a pair of p5.js functions: one draws a shape's outer perimeter, the other cuts an inner opening, or contour, into it. Cotton found that if he moved \"each corner of the Shape and each corner of the Contour in random directions and for random distances\", the contour could break out of its shape [^S04]. The result was the folded, self-intersecting polygon that became the Space Bird. He then added a colour gradient, real-time morphing, rotation and a shifting background, in that order [^S04]. At one point, he writes, \"the work was actually creating itself while I was following along\" [^S04].\n\nHe considered \"Twisted Polygons\" and \"Qlusters\" as titles before settling on Space Birds. The name joins two references: the bird-of-paradise flower, and Constantin Brancusi's sculpture series Bird in Space. In his words, the polygons \"echo the shapes of both the Bird-of-Paradise flower and Brancusi's Bird in Space series\" [^S04].\n\nThe trait names come from the same essay. The three line weights are named after artists: Mucha (thin), Picasso (medium) and Peter Max (thick). \"X-Ray Mode\" gives dark grounds with pale strokes, and \"Framed\" and \"Unframed\" name the two borders [^S04]. The palette names, set in the program, include Professor Longhair, Ed Paschke, Marfa and Santa Fe; the essay seen here does not explain them [^S01].\n\nCotton came to generative art from painting, mixed media and sculpture. He also makes ambient and experimental music as Another Neglected Hobby [^S04][^S05]. A 2014 review on Hypnagogue of the album *Sleeping With the Window Open* credits the project to him [^S06]."
    },
    {
      "id": "how-the-work-was-constructed",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The program is a single script of 16,801 bytes, SHA-256 `5f72910c1d600d1a5a70ec5fe7cebccbc1342d9037bf47591992f3dfa6be3a26`. It was retrieved from the Art Blocks index on 20 September 2026 and read in full [^S01]. It seeds a xorshift generator from the token hash and makes a fixed sequence of draws: eight general-purpose values used for colours and vertex positions, then a palette, a shape mode, the grid, the morph offset and amplitude, a line-and-mode switch and a border switch [^S01].\n\nThe program itself computes no trait labels. The published traits were therefore produced by a separate feature script. A Python re-implementation of the generator, run against all 48 hashes, reproduces the published palette, orientation, line, X-ray and border of every token (own computation) [^S01].\n\n| Trait | Rule in the program | Published count of 48 |\n| --- | --- | --- |\n| Orientation | columns and rows each 1 to 3, uniform: nine layouts at 1/9 each | Two Across 10, Nine Pack 8, Three Up 7, Four Pack 6, Three Across 5, Singular 4, Six Up 4, Two Up 2, Six Across 2 |\n| Line | a draw of 1 to 99: 1 to 40 thick (Peter Max), 41 to 59 thin (Mucha), 60 to 99 medium (Picasso) | Picasso 22, Peter Max 19, Mucha 7 |\n| X-ray Mode | same draw above 80 (19 in 99): dark grounds, pale strokes | 6 |\n| Border | a draw of 1 to 10: 1 to 5 Unframed, 6 to 10 Framed | 24 / 24 |\n| Color Palette | 29 named palettes, integer weights summing to 339 | 21 palettes seen; Spice Rack and Teal Eaves 4 each; Color Wheel, Sunset, Philco, EdFex, Red Splash and Sandstone 1 each |\n| Shapes | a draw of 1 to 10: 1 to 3 triangle and quadrilateral, 4 to 9 pentagon and triangle, 10 quadrilateral and pentagon | Triangles 46, Pentagons 34, Quadrilaterals 16 (but see quirk 1) |\n| Inertials | two-cell layouts with shape draw 1 to 9, or Singular with 10 | 11 |\n| Magneto Rings | Singular with shape draw 4 to 9, or two-cell layouts with 10 | 3 |\n\nEach shape is one perimeter plus one contour. The triangle has three corners, the quadrilateral four and the pentagon five. Their corner positions mix fixed random offsets with three sine waves that drift very slowly, so the fold of each polygon changes as it turns [^S01]. The three shapes rotate at different rates and in different directions. Fills are 80 per cent opaque palette colours that cross-fade on a 1,200-frame cycle, and the background gradient drifts between two colour pairs on a 5,000-frame cycle (code reading) [^S01].\n\nEvery cell in a grid is drawn from the same random values, so all cells are identical copies turning in step [^S01]. This is why #33, a Six Across, shows six matching pink-and-blue clusters.\n\n![Space Birds #33: six identical clusters of pale blue polygons, pink circles and thin grey spikes in a three-by-two grid, inside a dark grey frame](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033.png)\n*Space Birds #33, Six Across, Bubble Gum, Picasso line, Framed. Held by AB5D. Render: Art Blocks media proxy.*"
    },
    {
      "id": "quirks-in-the-algorithm",
      "heading": "Quirks in the algorithm",
      "bodyMarkdown": "A full read of the program, checked against all 48 published token records, turned up the following.\n\n1. **Seven outputs carry the wrong shape traits.** In grids with three rows or three columns, the program draws a quadrilateral and a pentagon when the shape draw is 1 to 3. The published traits for those tokens instead say triangle and quadrilateral. The re-implemented generator identifies seven such tokens: #1, #11, #20, #21, #23, #37 and #39. Each is labelled \"Twisted Triangles: True, Twisted Pentagons: False\" but draws a pentagon and no triangle (own computation) [^S01]. Corrected, the counts are 39 triangles and 41 pentagons, not 46 and 34. Collectors treating \"no pentagons\" as a rarity should note that seven of the fourteen \"False\" pentagon tokens do in fact draw one.\n2. **Broken colour codes that render as solid white.** Several palette entries are malformed: one lacks its \"#\", one has seven hex digits, one uses the letter \"o\" for a zero, and one carries a stray quotation mark. They occur in Philco, EdFex, Ed Paschke and Warhol [^S01]. In p5.js 1.0.0, a colour string that matches no pattern is read as opaque white [^S07]. Five tokens pick one of these entries somewhere in their colour draws: #1, #36 and #44 (Ed Paschke), #16 (EdFex) and #18 (Philco) (own computation). In #44 both main shapes cross-fade through white. In #1 the pentagon fill and the top of the background fade towards white rather than violet.\n3. **Palettes that never appear, and one that cannot be seen.** Eight of the 29 named palettes appear in no token: Arizona, Citrus, 3D Glasses, Coral, NOLA, Fridge, Warhol and Ghosted [^S01]. With 48 draws from weights summing to 339, this is chance, not a bug. But \"Ghosted\" (weight 1) has only two colours, both fully transparent. Had it been drawn, its shapes would have shown as grey outlines only. Several other palettes end in a transparent colour. Professor Longhair is one, which is why the shapes in #31 read mostly as line drawings.\n4. **X-ray is always Picasso.** The same draw sets both the line weight and X-ray Mode. X-ray needs a value above 80, which always falls in the medium-weight band. All six X-ray tokens are Picasso [^S01].\n5. **\"Unframed\" has the wider border.** Unframed outputs draw a heavy off-white band round the edge, a paper-like mat about 5 per cent of the canvas wide. Framed outputs draw a narrower dark grey frame with an inner line that cycles through palette colours [^S01][^S04]. The contact renders bear this out: #31 has a cream mat, #33 a dark frame.\n6. **An accidental else.** The branch that sets the medium line weight is guarded by an arrow function where a comparison was presumably meant. A function is always truthy, so the branch runs whenever the earlier tests fail, which is the intended behaviour reached by accident (code reading) [^S01].\n7. **Curves with missing arguments.** Several curve calls in the Inertials routine wrap their arguments in parentheses, so JavaScript passes only the last value. With p5.js 1.0.0 on a 2D canvas, those segments reach the browser with undefined control points and are skipped, clipping the comma-like shapes (code reading) [^S01][^S07].\n8. **Dead code.** Each cell sets a translucent \"bubble\" fill that no shape uses, because every shape sets its own fill. A weighted list of palette names is built and never read, and variables named `hash` and `features` are declared and never used [^S01]. The unused palette-name list suggests Cotton began to compute traits in the program before moving that job to the separate feature script, where the shape labels in quirk 1 went wrong.\n9. **Frame-based, slow and heavy.** All motion is counted in frames, not seconds. The morph advances by a tiny angle each frame, so one full cycle of the sine waves takes about 62,800 frames, some 17 minutes at 60 frames per second (own computation) [^S01]. The background gradient is redrawn line by line every frame, one line per pixel of height. On large screens this is costly, and slower machines will run the whole piece more slowly. The canvas is square, sized to the smaller window dimension, and stroke weights scale with it (code reading) [^S01].\n10. **Structural rules in the data.** Inertials appear only in Two Across and Two Up outputs, and Magneto Rings only in Singular and Two Across outputs. Neither ever appears in a Four Pack or in any grid with three rows or columns, and no token has both [^S01]. Only two tokens lack triangles, #4 and #29, and both have shape draw 10 [^S01]."
    },
    {
      "id": "the-most-coveted-variants",
      "heading": "The most coveted variants",
      "bodyMarkdown": "No auction sale, record trade or collector survey of Space Birds was found for this draft. What follows rests on trait rarity in the index and on what the renders show, not on documented market preference [^S01]. At retrieval the index gave a lowest listing of 3.69 ETH [^S01].\n\n**Color Wheel (1 of 48).** #47, the last token minted, is the only Color Wheel. Its rainbow palette gives violet, magenta and green triangles over a gradient from brown through green to navy, repeated three across [^S01].\n\n![Space Birds #47: three clusters of magenta and violet triangles with green discs over a dark brown-to-navy gradient, inside a grey frame](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000047.png)\n*Space Birds #47, the only Color Wheel, and an X-ray output. Render: Art Blocks media proxy.*\n\n**No triangles (2 of 48).** #4 and #29 are the only outputs without a triangle [^S01]. #4 stacks three turquoise quadrilateral-and-pentagon clusters in a Three Up column, with pale discs at their edges.\n\n![Space Birds #4: three stacked turquoise clusters of folded polygons with white discs on a pale pink ground, inside a cream mat](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000004.png)\n*Space Birds #4, Swimming Pool, one of two outputs with no triangle. Render: Art Blocks media proxy.*\n\n**Magneto Rings (3 of 48).** #18, #29 and #43 carry the rings [^S01]. #18 is a Singular in Philco, a grey palette, so the single bird and its two rings of orbiting circles read almost as a pencil drawing on a pale ground.\n\n![Space Birds #18: a single grey spiked form with two sets of concentric ring outlines on a cream-to-green ground, inside a dark frame](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000018.png)\n*Space Birds #18, Singular, Philco, with Magneto Rings. Render: Art Blocks media proxy.*\n\n**X-ray Mode (6 of 48).** The six X-ray outputs are #7, #10, #16, #24, #41 and #47 [^S01]. #7 sets coral polygons against a navy-to-green night gradient with pale strokes.\n\n![Space Birds #7: three coral triangle clusters with pale spikes and red discs over a navy-to-dark-green gradient](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000007.png)\n*Space Birds #7, X-ray Mode, Sea Salt Caramel. Render: Art Blocks media proxy.*\n\n**Singulars (4 of 48).** #6, #18, #41 and #43 show one bird at full scale, the closest the series comes to Cotton's single folded form [^S01].\n\n**The pre-release pair.** #0 and #1 were minted on 5 October 2021, nine days before release [^S01]. #1 is also one of the seven mislabelled tokens: its published traits say triangles, but it draws pentagons (quirk 1)."
    },
    {
      "id": "notable-collectors",
      "heading": "Notable collectors",
      "bodyMarkdown": "No collector of Space Birds is named in any source inspected. At retrieval the 48 tokens sat in 38 addresses. The largest holding was four (#1, #3, #4 and #36), and one address held three (#30, #42 and #43) [^S01]. The artist's address held none [^S01]. AB5D holds #31 and #33 [^S01]."
    },
    {
      "id": "the-mint",
      "heading": "The mint",
      "bodyMarkdown": "Two tokens were minted before release: #0 at 15:32:51 UTC and #1 at 15:48:43 UTC on 5 October 2021 [^S01]. The index records activation on 12 October at 15:52:04 UTC and the auction start at 16:00:00 UTC on 14 October [^S01]. The sale was a Dutch auction starting at 2 ETH and falling by 0.25 ETH every five minutes to 0.25 ETH [^S01][^S02].\n\nOn that schedule, the price reached 0.25 ETH at 16:35 UTC. The first public mint, #2, came at 16:38:54 UTC [^S01]. So, if the schedule ran as published, no one bought above the floor, and every public mint was at 0.25 ETH, the value in the index's price field (own computation) [^S01]. Four tokens were minted in the first hour after the start, 29 within the first day and 39 within a week. #6, #7 and #8 share a timestamp of 18:02:35 UTC [^S01]. The last seven followed slowly: one in November 2021, four in January 2022, one in February and the final token, #47, on 16 April 2022 [^S01].\n\nThe project text pledges 25 per cent of the artist's proceeds to five cancer charities: Alex's Lemonade Stand Foundation for Childhood Cancer, The Leukemia & Lymphoma Society, the Lymphoma Research Foundation, the International Waldenstrom's Macroglobulinemia Foundation and the Ellis Fischel Cancer Center at the University of Missouri [^S01]. The earlier AB5D essay gives a donation figure of $6,400 from an Art Blocks report of December 2021 [^S08]. That figure could not be traced. Druid's \"Charity on Chain\" updates of October 2021 and February 2022 do not mention Space Birds [^S09]."
    },
    {
      "id": "copyright-and-licensing",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The index records `CC BY-NC 4.0` without a link [^S01]. On that label, the images may be shared and adapted for non-commercial purposes with attribution. Commercial use needs permission. The program carries no separate code licence. p5.js is loaded by the platform when the work is viewed [^S01][^S07]."
    },
    {
      "id": "significance-and-limitations",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Space Birds is a small, idiosyncratic Factory project. Its interest lies less in the market than in the way it wears its making on its surface. The contour trick Cotton describes in his essay is visible in every output, and the program keeps the traces of fast, impulsive development: malformed colours, an accidental else, dead code and a feature script that disagrees with the renderer in seven of 48 tokens [^S04][^S01]. Its limitations are those of the record. No sales history, collector commentary, exhibition or print was found, and the charity outcome is unconfirmed.\n\nUnresolved research questions:\n\n1. Did Art Blocks or the artist ever publish the Space Birds donation total, and where does the earlier essay's $6,400 figure come from?\n2. Will Art Blocks or the artist correct the shape traits of #1, #11, #20, #21, #23, #37 and #39?\n3. Did the Dutch auction run on the published schedule, so that every public mint was at 0.25 ETH? Mint transactions would settle it.\n4. Cotton's X account and any Art Blocks community sessions may hold further statements. The quotations above come from an automated extraction of his Medium essay and should be checked against the page."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "177000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000000",
      "sourceIds": [],
      "observationIds": [
        "V01"
      ],
      "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
      "observationNote": "Two vertical ochre/green pointed clusters, cyan/magenta circles, mint gradient, small detached satellites, dark frame. Later: Large areas violet and downturned; blue/green circles relocated, green/cyan gradient and moving satellites.",
      "previousRevisionSourceIds": [
        "S02",
        "S08"
      ]
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "177000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000001",
      "sourceIds": [],
      "observationIds": [
        "V02"
      ],
      "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
      "observationNote": "Three overlapping cream blades/magenta planes/yellow-green discs on lavender, broad pale border. Later: Dark blue planes/discs dominate, pink lower discs and cooler gradient, rotated forms.",
      "previousRevisionSourceIds": [
        "S02",
        "S09"
      ]
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "177000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000010",
      "sourceIds": [],
      "observationIds": [
        "V03"
      ],
      "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
      "observationNote": "Nine repeated brown angular forms, ochre discs and thin white outlines on deep blue-purple, pale border. Later: Teal ground, pale green discs, large brown forms turned; repeated light line network persists.",
      "previousRevisionSourceIds": [
        "S02",
        "S10"
      ]
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "177000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000020",
      "sourceIds": [],
      "observationIds": [
        "V04"
      ],
      "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
      "observationNote": "Nine repeated salmon/red planes with large pale pink discs and thick charcoal outlines, dark frame. Later: Saturated red central discs, dark diagonal blades crossing, background shifts toward mint.",
      "previousRevisionSourceIds": [
        "S02",
        "S11"
      ]
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "177000033",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033",
      "sourceIds": [],
      "observationIds": [
        "V05"
      ],
      "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
      "observationNote": "Two rows of three pale blue elongated clusters, lavender discs, thin dark lines, pink-lilac ground and dark frame. Later: More steeply angled/open blue structures and pink discs against cooler lavender; later hold gives unchanged frame pair, release visibly moves.",
      "previousRevisionSourceIds": [
        "S02",
        "S12"
      ]
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "commissioning-user-coordinator",
    "agent": "OpenAI Codex (editorial synthesis)",
    "provider": "OpenAI",
    "model": null,
    "modelVersion": "gpt-6-astra",
    "tools": [
      "web source bodies",
      "Python HTTPS/JSON/SHA256",
      "CUA original Chrome rendering and control tests",
      "supplied validator"
    ],
    "humanEditorialInvolvement": "Supplied prose preserved and published at Phil’s request. Sources not independently reinspected during import.",
    "originalProseLicense": "CC0-1.0",
    "revisionAttribution": "AB5D editorial synthesis of the supplied revision and earlier essay. Supplied-revision author and model were not specified. Earlier research provenance is retained in previousRevisionResearch.",
    "revisionUsage": null,
    "generation": null
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script exact space-birds-by-mark-cotton slug; project177/V2 identity corroborated; full query/variables in evidence",
    "sha256": "5f72910c1d600d1a5a70ec5fe7cebccbc1342d9037bf47591992f3dfa6be3a26",
    "retrievedAt": "2026-09-18T00:17:37.420449+00:00",
    "method": "Complete16801-byte source personally read; actual hash matched retained bytes; hosted originals executed, no independent sandbox. Coordinator independently reread complete fresh indexed source and matched digest.",
    "executed": true,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "historical-mint",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Original maximum/reduction, early allocation, actual auction transactions and interruptions not established; preserved announced terms distinguished.",
      "resolution": "Reviewed: announced auction tiers distinguished from actual paid prices and uninterrupted availability. Original maximum, early allocation and any reductions remain explicit unknowns."
    },
    {
      "id": "source-code-rights",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Distinct artist-code grant not recovered; outputCCBYNC and dependencyLGPL recorded separately.",
      "resolution": "Reviewed: reported artwork CC BY-NC 4.0, separate p5 LGPL-2.1, and unresolved artist-code grant are accurately separated. No raw artist program included."
    }
  ],
  "manuscriptFormat": "supplied-markdown",
  "manuscriptPreamble": "# Space Birds by Mark Cotton\n\n*Art Blocks Factory, project 177 · 48 outputs · released 14 October 2021 · CC BY-NC 4.0*\n\n![Space Birds #31: a two-by-two grid of grey outline polygons with small purple discs on a pale green ground inside a cream border](https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000031.png)\n*Space Birds #31, a Four Pack in the Professor Longhair palette, held by AB5D. Render: Art Blocks media proxy.*\n\n",
  "bibliographyMarkdown": "\n### Primary\n\n[^S01]: Art Blocks public GraphQL index, `projects_metadata` for project 177 (including the full program) and `tokens_metadata` for all 48 tokens. Retrieved 2026-09-20 via https://artblocks-mainnet.hasura.app/v1/graphql. Collection page: https://www.artblocks.io/collections/factory/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177\n[^S04]: Mark Cotton, \"Inspiration for and Development of 'Space Birds' on ArtBlocks.io\", Medium, 8 October 2021. https://medium.com/@markcotton_81658/inspiration-for-and-development-of-space-birds-on-artblocks-io-560af0d1a6a9\n[^S02]: Art Blocks, \"Space Birds by Mark Cotton\", project page. Read 20 September 2026. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177\n[^S03]: Art Blocks, \"Gizmobotz by Mark Cotton\", project 105. https://www.artblocks.io/collections/presents/projects/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/105\n[^S07]: p5.js 1.0.0, `lib/p5.js` in the npm package `p5@1.0.0`, colour parsing (\"Input did not match any CSS color pattern: default to white\") and the 2D renderer's curve handling. https://www.npmjs.com/package/p5/v/1.0.0\n\n### Video and audio\n\n[^S05]: Another Neglected Hobby, Bandcamp. https://anotherneglectedhobby.bandcamp.com/\n[^S06]: Hypnagogue, \"Another Neglected Hobby: Sleeping With the Window Open\", 23 March 2014. https://hypnagogue.net/2014/03/23/another-neglected-hobby-sleeping-with-the-window-open/\n\nNo video or podcast about Space Birds was found.\n\n### Criticism, collecting and market\n\n[^S08]: AB5D, \"Space Birds by Mark Cotton\", earlier version of this essay. https://ab5d.xyz/series/space-birds-by-mark-cotton/\n[^S09]: Druid, \"Update: Charity on Chain: ~12 Million in September and October\", The Link (Art Blocks), 30 October 2021, https://medium.com/the-link-art-blocks/update-charity-on-chain-12-million-in-september-and-october-a1af7dbb4560; and \"Charity on Chain Update: Just shy of $48m total donations\", 18 February 2022, https://medium.com/the-link-art-blocks/charity-on-chain-update-just-shy-of-48m-total-donations-d8c400983ac1\n\n### Further reading\n\n- Art Blocks Community Wiki, \"Space Birds\" (not accessible when checked). https://artblocks.wiki/en/Factory/Space-Birds\n- OpenSea, Space Birds collection page. https://opensea.io/collection/space-birds-by-mark-cotton\n- Art Blocks, Mark Cotton artist page. https://www.artblocks.io/artists/mark-cotton\n",
  "referenceOrder": [
    "S01",
    "S04",
    "S02",
    "S03",
    "S07",
    "S05",
    "S06",
    "S08",
    "S09"
  ],
  "previousRevisionResearch": {
    "facts": [
      {
        "id": "minted-count",
        "topic": "mint",
        "value": 48,
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "maximum-current",
        "topic": "mint",
        "value": 48,
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "first-token-minted-at",
        "topic": "mint",
        "value": "2021-10-05T15:32:51+00:00",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "activated-at",
        "topic": "mint",
        "value": "2021-10-12T15:52:04+00:00",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "scheduled-start",
        "topic": "mint",
        "value": "2021-10-14T16:00:00+00:00",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "completed-at",
        "topic": "mint",
        "value": "2022-04-16T11:48:07+00:00",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "current-price-wei",
        "topic": "mint",
        "value": "250000000000000000",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": "Fresh indexed observation; historical configuration not inferred."
      },
      {
        "id": "announced-auction",
        "topic": "mint",
        "value": {
          "startETH": 2,
          "stepETH": 0.25,
          "stepMinutes": 5,
          "floorETH": 0.25
        },
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S01"
        ],
        "status": "reported",
        "note": "Preserved official project description, not audited execution."
      },
      {
        "id": "original-maximum",
        "topic": "mint",
        "value": null,
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [],
        "status": "unknown",
        "note": "Original maximum or reduction history not recovered."
      },
      {
        "id": "script-runtime",
        "topic": "construction",
        "value": "p5@1.0.0",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": ""
      },
      {
        "id": "license-label",
        "topic": "rights",
        "value": "CC BY-NC 4.0",
        "observedAt": "2026-09-18T00:17:37.420449+00:00",
        "sourceIds": [
          "S02"
        ],
        "status": "verified",
        "note": ""
      }
    ],
    "rights": {
      "artwork": {
        "reportedLabel": "CC BY-NC 4.0",
        "category": "creative-commons",
        "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S02",
          "S13"
        ],
        "note": "Exact field verified; named operative terms inspected. Noncommercial sharing/adaptation with attribution/notices/change/license conditions.",
        "unresolvedConflicts": []
      },
      "code": {
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S03",
          "S02"
        ],
        "note": "No separate script header; artwork label does not explicitly resolve source program scope.",
        "unresolvedConflicts": []
      },
      "thirdParty": [
        {
          "reportedLabel": "LGPL-2.1",
          "category": "custom",
          "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
          "observedAt": "2026-09-18",
          "sourceIds": [
            "S14",
            "S15"
          ],
          "note": "p5.js1.0.0 dependency only.",
          "unresolvedConflicts": []
        }
      ]
    },
    "examples": [
      {
        "id": "E01",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "177000000",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000000",
        "sourceIds": [
          "S02",
          "S08"
        ],
        "observationIds": [
          "V01"
        ],
        "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
        "observationNote": "Two vertical ochre/green pointed clusters, cyan/magenta circles, mint gradient, small detached satellites, dark frame. Later: Large areas violet and downturned; blue/green circles relocated, green/cyan gradient and moving satellites."
      },
      {
        "id": "E02",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "177000001",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000001",
        "sourceIds": [
          "S02",
          "S09"
        ],
        "observationIds": [
          "V02"
        ],
        "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
        "observationNote": "Three overlapping cream blades/magenta planes/yellow-green discs on lavender, broad pale border. Later: Dark blue planes/discs dominate, pink lower discs and cooler gradient, rotated forms."
      },
      {
        "id": "E03",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "177000010",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000010",
        "sourceIds": [
          "S02",
          "S10"
        ],
        "observationIds": [
          "V03"
        ],
        "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
        "observationNote": "Nine repeated brown angular forms, ochre discs and thin white outlines on deep blue-purple, pale border. Later: Teal ground, pale green discs, large brown forms turned; repeated light line network persists."
      },
      {
        "id": "E04",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "177000020",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000020",
        "sourceIds": [
          "S02",
          "S11"
        ],
        "observationIds": [
          "V04"
        ],
        "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
        "observationNote": "Nine repeated salmon/red planes with large pale pink discs and thick charcoal outlines, dark frame. Later: Saturated red central discs, dark diagonal blades crossing, background shifts toward mint."
      },
      {
        "id": "E05",
        "chainId": 1,
        "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
        "tokenId": "177000033",
        "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033",
        "sourceIds": [
          "S02",
          "S12"
        ],
        "observationIds": [
          "V05"
        ],
        "selectionNote": "Four assignment candidates verified plus AB5D held #33; not rarity/representativeness sample.",
        "observationNote": "Two rows of three pale blue elongated clusters, lavender discs, thin dark lines, pink-lilac ground and dark frame. Later: More steeply angled/open blue structures and pink discs against cooler lavender; later hold gives unchanged frame pair, release visibly moves."
      }
    ],
    "provenance": {
      "operator": "commissioning-user-coordinator",
      "agent": "Codex",
      "provider": "OpenAI",
      "model": "gpt-6-astra",
      "modelVersion": "gpt-6-astra",
      "tools": [
        "web source bodies",
        "Python HTTPS/JSON/SHA256",
        "CUA original Chrome rendering and control tests",
        "supplied validator"
      ],
      "humanEditorialInvolvement": "Commissioned by Phil; independent coordinator source, full-script, ownership and visual review completed by OpenAI Codex.",
      "originalProseLicense": "CC0-1.0"
    },
    "codeInspection": {
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "locator": "projects_metadata.script exact space-birds-by-mark-cotton slug; project177/V2 identity corroborated; full query/variables in evidence",
      "sha256": "5f72910c1d600d1a5a70ec5fe7cebccbc1342d9037bf47591992f3dfa6be3a26",
      "retrievedAt": "2026-09-18T00:17:37.420449+00:00",
      "method": "Complete16801-byte source personally read; actual hash matched retained bytes; hosted originals executed, no independent sandbox. Coordinator independently reread complete fresh indexed source and matched digest.",
      "executed": true,
      "chainBlock": null
    },
    "sources": [
      {
        "id": "S01",
        "title": "Space Birds by Mark Cotton",
        "url": "https://www.artblocks.io/collection/space-birds-by-mark-cotton",
        "author": "Art Blocks",
        "publisher": "Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "Header: Factory, 48 artworks, October 14 2021 release. Description: controls, 2 ETH descending auction in 0.25 ETH/5min steps to0.25, 25% charitable pledge."
        ]
      },
      {
        "id": "S02",
        "title": "Space Birds project and token index",
        "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
        "author": "Art Blocks",
        "publisher": "Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Fresh HTTP200 POST; complete selected metadata response inspected",
        "archiveUrl": null,
        "evidenceLocators": [
          "Actual full query and variables in evidence.json: exact slug and composite project key 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-177; seven exact token IDs.",
          "Returned identity, dates, current invocations/max/price/license/runtime; token owners/hash/transactions/features."
        ]
      },
      {
        "id": "S03",
        "title": "Space Birds complete artist program",
        "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Fresh retrieval, full script reading and actual byte digest; hosted original execution separately inspected",
        "archiveUrl": null,
        "evidenceLocators": [
          "Same exact recorded query; projects_metadata.script, 16801 UTF8 bytes, SHA256 5f72910c1d600d1a5a70ec5fe7cebccbc1342d9037bf47591992f3dfa6be3a26",
          "Full source read: S/R initial state, palettes/weights, setup/draw, mT/mZ/mP, sG, iNert/magnoRings, keyTyped, mousePressed/mouseReleased."
        ]
      },
      {
        "id": "S04",
        "title": "Inspiration for and Development of Space Birds on ArtBlocks.io",
        "url": "https://medium.com/@markcotton_81658/inspiration-for-and-development-of-space-birds-on-artblocks-io-560af0d1a6a9",
        "author": "Mark Cotton",
        "publisher": "Mark Cotton",
        "publicationDate": "2021-10-08",
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "October8 2021 date; opening after Gizmobotz; Forks in the Road development from shape/contour corners to layers/alpha/gradient/motion; Why Space Birds flower and Brancusi associations. Full substantive article read."
        ]
      },
      {
        "id": "S05",
        "title": "Mark Cotton biography",
        "url": "https://www.katevassgalerie.com/mark-cotton",
        "author": "Kate Vass Galerie",
        "publisher": "Kate Vass Galerie",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "Biography lists creative code, photography, fiction, ambient electronic music; brief practice context only."
        ]
      },
      {
        "id": "S06",
        "title": "beginContour reference",
        "url": "https://p5js.org/reference/p5/beginContour/",
        "author": "p5.js",
        "publisher": "p5.js",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "Description/notes: negative space inside flat shapes; nested beginShape/endShape; opposite winding direction. Current documentation, not claimed archived2021."
        ]
      },
      {
        "id": "S07",
        "title": "Charity on Chain: 2021 Wrap-Up",
        "url": "https://medium.com/the-link-art-blocks/charity-on-chain-2021-wrap-up-c69782fa7f4a",
        "author": "Druid / Art Blocks",
        "publisher": "Druid / Art Blocks",
        "publicationDate": "2021-12-19",
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "December19 date; methodology distinguishes artist reports, funds set aside and pledge-based calculation; Space Birds entry $6400/five charities; closing note open-project totals not final."
        ]
      },
      {
        "id": "S08",
        "title": "Space Birds #0 original renderer",
        "url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000000",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Personally viewed two original Chrome renderer screenshots via CUA; not GIF preview",
        "archiveUrl": null,
        "evidenceLocators": [
          "V01, token 177000000: first state Two vertical ochre/green pointed clusters, cyan/magenta circles, mint gradient, small detached satellites, dark frame. Later state Large areas violet and downturned; blue/green circles relocated, green/cyan gradient and moving satellites.",
          "First capture window 2026-09-18T00:18:07Z to00:18:32Z; second00:18:34Z to00:18:51Z. All visibly changed; conservative paired elapsed2–44seconds, not synchronized."
        ]
      },
      {
        "id": "S09",
        "title": "Space Birds #1 original renderer",
        "url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000001",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Personally viewed two original Chrome renderer screenshots via CUA; not GIF preview",
        "archiveUrl": null,
        "evidenceLocators": [
          "V02, token 177000001: first state Three overlapping cream blades/magenta planes/yellow-green discs on lavender, broad pale border. Later state Dark blue planes/discs dominate, pink lower discs and cooler gradient, rotated forms.",
          "First capture window 2026-09-18T00:18:07Z to00:18:32Z; second00:18:34Z to00:18:51Z. All visibly changed; conservative paired elapsed2–44seconds, not synchronized."
        ]
      },
      {
        "id": "S10",
        "title": "Space Birds #10 original renderer",
        "url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000010",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Personally viewed two original Chrome renderer screenshots via CUA; not GIF preview",
        "archiveUrl": null,
        "evidenceLocators": [
          "V03, token 177000010: first state Nine repeated brown angular forms, ochre discs and thin white outlines on deep blue-purple, pale border. Later state Teal ground, pale green discs, large brown forms turned; repeated light line network persists.",
          "First capture window 2026-09-18T00:18:07Z to00:18:32Z; second00:18:34Z to00:18:51Z. All visibly changed; conservative paired elapsed2–44seconds, not synchronized."
        ]
      },
      {
        "id": "S11",
        "title": "Space Birds #20 original renderer",
        "url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000020",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Personally viewed two original Chrome renderer screenshots via CUA; not GIF preview",
        "archiveUrl": null,
        "evidenceLocators": [
          "V04, token 177000020: first state Nine repeated salmon/red planes with large pale pink discs and thick charcoal outlines, dark frame. Later state Saturated red central discs, dark diagonal blades crossing, background shifts toward mint.",
          "First capture window 2026-09-18T00:18:07Z to00:18:32Z; second00:18:34Z to00:18:51Z. All visibly changed; conservative paired elapsed2–44seconds, not synchronized."
        ]
      },
      {
        "id": "S12",
        "title": "Space Birds #33 original renderer",
        "url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033",
        "author": "Mark Cotton / Art Blocks",
        "publisher": "Mark Cotton / Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Personally viewed two original Chrome renderer screenshots via CUA; not GIF preview",
        "archiveUrl": null,
        "evidenceLocators": [
          "V05, token 177000033: first state Two rows of three pale blue elongated clusters, lavender discs, thin dark lines, pink-lilac ground and dark frame. Later state More steeply angled/open blue structures and pink discs against cooler lavender; later hold gives unchanged frame pair, release visibly moves.",
          "First capture window 2026-09-18T00:18:07Z to00:18:32Z; second00:18:34Z to00:18:51Z. All visibly changed; conservative paired elapsed2–44seconds, not synchronized."
        ]
      },
      {
        "id": "S13",
        "title": "Attribution-NonCommercial 4.0 International legal code",
        "url": "https://creativecommons.org/licenses/by-nc/4.0/legalcode.en",
        "author": "Creative Commons",
        "publisher": "Creative Commons",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Substantive source body inspected with web tool",
        "archiveUrl": null,
        "evidenceLocators": [
          "Sections1i definition of noncommercial;2a grants/limitations/downstream restrictions;2b reserved rights;3a attribution/notices/license/changes; sections4–8 also inspected."
        ]
      },
      {
        "id": "S14",
        "title": "p5.js 1.0.0 package manifest",
        "url": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/package.json",
        "author": "p5.js contributors",
        "publisher": "p5.js contributors",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Full package manifest inspected earlier in same conversation",
        "archiveUrl": null,
        "evidenceLocators": [
          "Tagged version1.0.0 license field LGPL-2.1; reused direct inspection from earlier same-session research, not newly fetched."
        ]
      },
      {
        "id": "S15",
        "title": "p5.js 1.0.0 license",
        "url": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "author": "Free Software Foundation / p5.js contributors",
        "publisher": "Free Software Foundation / p5.js contributors",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Full license text inspected earlier in same conversation",
        "archiveUrl": null,
        "evidenceLocators": [
          "Tagged LGPL2.1 operative terms read earlier in same-session research; distinct dependency grant, not artwork grant."
        ]
      },
      {
        "id": "S16",
        "title": "AB5D linked-wallet profile",
        "url": "https://www.artblocks.io/profile/ab5d",
        "author": "Art Blocks",
        "publisher": "Art Blocks",
        "publicationDate": null,
        "accessedAt": "2026-09-18",
        "accessOutcome": "inspected",
        "accessMethod": "Fresh HTTPS HTTP200 server-payload inspection",
        "archiveUrl": null,
        "evidenceLocators": [
          "Fresh server-rendered linked_accounts[].public_address complete list; matched #33 owner; exact time and set in evidence.holdingCheck."
        ]
      }
    ]
  },
  "suppliedRevision": {
    "batch": "ab500-essays-for-codex-2026-09-21",
    "date": "2026-09-21",
    "sourceFile": "essays/space-birds-by-mark-cotton.md",
    "sourceSha256": "8ba1e641292a0b3cd0b6d643e773ead0ac14f0b98e647d4066aaea511399b90e",
    "sourceCount": 9,
    "imageCount": 6,
    "headerLine": "Art Blocks Factory, project 177 · 48 outputs · released 14 October 2021 · CC BY-NC 4.0",
    "author": null,
    "usage": null,
    "draftNoticeRemoved": true,
    "importMode": "Supplied prose preserved; footnote labels normalized and draft notice removed under prior user instruction."
  },
  "presentation": {
    "editionSize": 48,
    "maximumEdition": 48,
    "mintDate": "2021-10-05T15:32:51+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-177",
      "token_id": "177000033",
      "invocation": 33,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033.gif",
      "live_view_url": "/series/space-birds-by-mark-cotton/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/177000033",
      "mode": "live",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "interactionNote": "Hold the mouse button on the artwork to pause; release to resume. Open the original artwork and press S to save a screenshot.",
      "displayBasis": "Remote original renderer for verified AB5D-held token, attributed noncommercial editorial presentation under reported CC BY-NC4.0; preserve license/link and original behavior. No local art/code supplied."
    }
  },
  "observationImages": [],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/space-birds-by-mark-cotton/",
    "authorization": "Phil requested publication of the supplied essays on 2026-09-21.",
    "reviewSnapshot": "/docs/series-essays/production/space-birds-by-mark-cotton/record.json",
    "unresolvedResearchQuestionsRetained": true,
    "revisionDate": "2026-09-21"
  }
}
