{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 150,
    "slug": "primilife-by-wuwa",
    "title": "PrimiLife",
    "artistCredit": "wuwa",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/wuwa/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-17",
  "status": "published-with-research-limitations",
  "completionStatus": "reviewed-for-publication",
  "mediaIds": [],
  "provenance": {
    "operator": "AB5D commissioned research agent",
    "agent": "OpenAI Codex research agent and coordinating editor",
    "model": "gpt-6-astra",
    "modelVersion": null,
    "tools": [
      "Official GraphQL via Python urllib",
      "web reader",
      "CUA Chrome original renderer attempts and artist essay reading",
      "CUA in-app browser original review"
    ],
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking.",
    "originalProseLicense": "CC0-1.0",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "gpt-6-astra",
      "displayName": "GPT-6 Astra",
      "scope": "PrimiLife research, writing and coordinator review",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Exact per-essay token telemetry unavailable. No count estimated.",
      "contributors": {
        "operator": "AB5D commissioned research agent",
        "agent": "OpenAI Codex research agent and coordinating editor",
        "model": "gpt-6-astra",
        "modelVersion": null,
        "tools": [
          "Official GraphQL via Python urllib",
          "web reader",
          "CUA Chrome original renderer attempts and artist essay reading",
          "CUA in-app browser original review"
        ],
        "humanEditorialInvolvement": "Commissioned for publication by Phil; source, code and original-artwork review by OpenAI Codex.",
        "originalProseLicense": "CC0-1.0"
      }
    }
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "PrimiLife makes a creature out of parts that remain unmistakably geometric. Eyes can be spheres inside rings, a torso a stack of swollen volumes, a tail a cone. The five original works examined here turn in space, alternately presenting something like a face and exposing the improbable assembly that sustains it. Their animation makes recognition temporary. A convincing pair of eyes in one view can overlap into a single glowing cluster in the next.[^S09][^S10][^S11][^S12][^S13]\n\nReleased through Art Blocks Factory on 7 September 2021, the series comprises 1,024 works. It is the middle chapter of wuwa's Primitive Trilogy, following PrimiDance and preceding PrimiEnd. The canonical project record credits wuwa; the current artist profile identifies Ben Benhorin. The [artist dossier](https://ab5d.xyz/artists/wuwa/) places this series within the broader practice. Here the focus is narrower: how a small set of three-dimensional solids becomes a cast of animated figures.[^S01][^S02][^S03]\n\nThese creatures neither walk across a landscape nor respond like simulated organisms. They revolve on an implied display axis, with local movements inside the assembly. This staging gives the viewer time to examine them as constructed objects. Their apparent personality emerges from proportion, spacing and orientation, rather than from a narrative explaining who they are.[^S02][^S09][^S13]"
    },
    {
      "id": "conception",
      "heading": "From collisions to creatures",
      "bodyMarkdown": "In his account of the trilogy, wuwa recalls finding faces and animal-like configurations while watching PrimiDance. PrimiLife deliberately developed those accidental suggestions. He retained the earlier three-dimensional setup and colour mechanism, but replaced its looser constellation of primitives with more controlled combinations. The continuity is material: similar building blocks are asked to support a different degree of recognition.[^S03]\n\nThe artist says he worked directly in code, without preliminary visual sketches, developing more than fifty small routines for parts. He also describes extensive testing of combinations and adjustments to the relationships among them. This first-person account establishes a process of iterative composition, although it does not provide dated versions from which every development stage could be reconstructed.[^S03]\n\nThat process is visible in the finished program's conditional relationships. A body choice can alter the available tail or core arrangement; paired creatures can repeat or modify component selections. The project therefore does more than shuffle an inventory of ready-made symbols. Each routine contains further changes of scale, count and placement, while some combinations receive special handling.[^S02]\n\nWuwa deliberately left some distinctions out of the published feature lists. A label for a kind of eye, for example, does not exhaust the variations produced inside that routine. This decision gives comparison a purpose beyond consulting metadata. The viewer must look at distances, size differences and overlaps to understand how two nominally similar figures diverge.[^S03]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete indexed artist script contains 13,679 characters and specifies p5.js 1.0.0. It was retrieved again for this review, read from beginning to end and checked against the earlier recorded digest. This is inspection of the platform's indexed source, not an independent retrieval pinned to an Ethereum block. The original program remains with its official renderer; it is not republished as part of the essay.[^S02]\n\nA seed derived from the beginning of the token hash enters a custom pseudorandom generator. Its successive bitwise operations produce a repeatable sequence used to select components and parameters. The program also reads the final five digits of the token identifier. Those digits supply an invocation number that affects particular exceptions, including special palettes. The hash is therefore central to the composition, but it is not the only token input used.[^S02]\n\nThe colour system contains twenty-nine ordinary arrays and three special ones. Specific pairs of invocation numbers select the special arrays: 55 and 555, 66 and 666, 77 and 777. Other choices distribute the selected colours between background, surfaces and details. A darkened version supplies the ground. These relationships help account for outputs that seem largely monochromatic despite having several available colours; palette selection alone does not describe their visible balance.[^S02]\n\nDuring setup, the program selects body, eyes, hair, mouth, extras and tail, along with core shape, direction and speed. Arrays of thirty values provide additional variation in dimensions, offsets and colour choices. Local transformations position the parts independently. A sphere can acquire a ring, a box can carry a textured front, and a cylinder can become a stalk. The assembly is hierarchical without becoming anatomically plausible.[^S02]\n\nThree graphics buffers generate textures procedurally. They draw markings such as bars, ellipses, crosses, stripes and dots, then apply those surfaces to selected primitives. The script does not need a downloaded portrait or skin image to make an eye readable. A few flat marks, wrapped onto a sphere or placed on a box, are sufficient to activate the expectation of a face.[^S02]\n\nThe body routines include cones, rounded volumes, boxes, rings, flattened cylinders and elongated forms. Changes in subdivision also alter the appearance of the basic solids. Wireframe mode switches off their filled surfaces and uses lower-resolution versions of several primitives. This is a different presentation of the construction, not evidence that the solid versions were sculpted by hand and later simplified.[^S02]\n\nTwo counters separate overall orbit from the movement of parts. One advances the rotation of the assembly and surrounding debris; another drives local turns and oscillations. The drawing loop requests thirty frames per second, but actual playback depends on the browser and hardware. The counters advance with rendered frames, so this inspection does not establish identical elapsed-time behaviour across every device.[^S02]\n\nThe seed determines structural selections, yet one branch uses p5's ordinary random function during drawing to change party lighting. An exact, universally repeatable video sequence should therefore not be inferred from the existence of a seeded composition. None of the five viewed examples establishes the full range of that lighting branch. The inspected artist script contains no audio mechanism.[^S02]\n\nThe published controls distinguish orbit, parts, trails and camera. The p key toggles the orbit counter; 0 toggles the parts counter. The t key changes whether the background is cleared between frames. The r key resets the camera, while o moves the scene toward a top view. Mouse or touch dragging is documented, and the source enables orbit control following a touch-start event.[^S01][^S02]\n\nOn AB5D's #622, successive untouched views showed the rounded orange body and its purple rings turning relative to the viewer. After p, the next observed overall orientation remained stable. A later sequence of 0, t and p produced long curved traces behind the surrounding debris. Those traces were visibly different from the isolated solids of the default presentation. The test confirmed trails and resumed motion, but did not isolate every control independently.[^S13]\n\nTrails make duration accumulate on the surface. A passing bar becomes an arc; a small sphere leaves a rounded streak. The figure no longer occupies an entirely clean field because earlier positions remain visible. This is a consequential viewing choice: the same token can be encountered as a discrete object or as an object entangled with its recent movement. A still preview cannot demonstrate that change.[^S02][^S13]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The official collection page gives 7 September 2021 as the release date. The index separately records the first token on 29 August at 06:36:32 and the second on 4 September at 06:14:56. Activation follows on 6 September at 19:34:18. These early records should not be collapsed into the public release date. The available evidence does not classify those tokens as purchases, artist allocations or another kind of mint.[^S01][^S02]\n\nThe scheduled start is 7 September at 16:00:00, and the completion field is 17:18:44 that day. Their difference is seventy-eight minutes and forty-four seconds. That calculation measures two named index fields; it is not a transaction-by-transaction reconstruction of public sellout time. The current record reports 1,024 invocations against a maximum of 1,024 and a price setting of 0.25 ETH.[^S02]\n\nBailey Reutzel's contemporary account in The Defiant reports watching PrimiLife reach its 0.25 ETH resting price before selling out. This supports a historical resting price independently of the current configuration. Her rounded description of the duration is not a precise clock measurement. The complete opening schedule, the number sold at each price and individual gas costs have not been established here.[^S04]\n\nDruid's year-end Art Blocks charity report associates PrimiLife with $30,000 for Carbon180 and LetLive. Its methodology includes donations, funds set aside and estimated pledges. The entry is therefore retained as a reported charitable contribution figure, not converted into a claim that a particular recipient received a verified transaction of that value. Recipient receipts and final payment dates remain unresolved.[^S05]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current project record labels the artwork CC BY-NC 4.0 and supplies no separate terms link. The linked Creative Commons legal code allows noncommercial sharing and adaptation subject to its conditions, including attribution and identification of modifications. The label is recorded as observed; no complete history of changes to the artwork terms has been recovered.[^S02][^S06]\n\nThat artwork label does not by itself resolve the scope of permission for reusing the artist's program. A separate artist-code grant was not identified in the inspected material. The p5.js 1.0.0 dependency carries LGPL 2.1 terms, which concern that library rather than automatically licensing the artwork or the artist's own routines. AB5D's original prose is CC0; the featured artwork retains its separately stated rights.[^S02][^S07]"
    },
    {
      "id": "examples",
      "heading": "Five creatures, five ways of holding together",
      "bodyMarkdown": "The comparison comprises editions 0, 1, 10, 20 and 622 on Ethereum contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270. Their full identifiers are 150000000, 150000001, 150000010, 150000020 and 150000622. The first four provide an early-edition comparison; #622 is the collection example. Its indexed owner matches an address linked to the AB5D profile.[^S08] All five official original renderers were viewed successfully. This selection is a close-reading sample, not a survey of trait frequencies.[^S09][^S10][^S11][^S12][^S13]\n\nIn #0, a mustard field holds a figure organised around a broad horizontal ring and a long cream cone pointing down. Two blue-grey eyes sit inside yellow rims, conspicuously unequal in size. Beneath them, two pale horizontal mouth bars seem almost too blunt to belong to the slender structure below. The contrast gives the face a directness that the rest of the figure refuses: the body is mostly pointed geometry and open space.[^S09]\n\nAs #0 turns, the ring's apparent depth changes and the eyes overlap differently. The thin supports become easier or harder to distinguish from the outer contour. Its coherence depends less on a continuous body than on the alignment of separate signals. The eyes, mouth and downward point establish a vertical axis, while the broad ring interrupts that axis with a lateral reach. The figure can seem both securely balanced and barely connected.[^S09]\n\nThe held #622 uses a warmer, denser arrangement. An orange rounded mass sits against burnt orange, with dark purple rings crossing its middle. Two purple boxes carry eye-like protrusions marked with small crosses. The upper boxes are unequal, and the face looks assembled from equipment rather than modelled as flesh. A narrow pointed tail pulls the composition downward, countering the small striped sphere and bars hovering above.[^S13]\n\nIts surrounding debris prevents the creature from becoming a completely isolated emblem. Yellow spheres and purple bars cross the same field at different apparent depths. During rotation, the crossing rings alternately read as an encircling support and an obstruction across the body. With trails enabled, the debris makes large curves that compete with the central figure. The creature persists, but its environment becomes a record of movement instead of an empty stage.[^S13]\n\nIn #1, cyan eyes and details emerge from a nearly black green field. Much of the vertical body is so dark that its mass recedes, leaving the bright rings to carry recognition. A later side view compresses the eye assembly into an overlapping cyan cluster. The work demonstrates how a face can depend on contrast and angle rather than on a stable silhouette. The darker parts remain present even when they cease to organise the first glance.[^S10]\n\nNumber 10 shares the orange family seen in #622, but its shape is markedly different. A horizontal row of swollen lobes forms the body, supported by a narrow stalk ending in a purple cube. A long upper bar and small ring suggest eyes and mouth without providing a conventional head. As it turns, the lobes overlap and the broad figure narrows. Colour similarity does not make the two outputs interchangeable: one gathers weight in a compact rounded torso, the other stretches it sideways.[^S11]\n\nNumber 20 sets blue and white against pale grey. Blue spheres gather above white ring-like features, while a pointed white central form extends downward. Blue rods project laterally around the middle. In the inspected view, the clean contrast makes the parts easy to separate, yet their alignment still invites a creature reading. It sits usefully beside #1: both expose the construction through selective contrast, but the pale field of #20 makes its central volume far more explicit.[^S12]"
    },
    {
      "id": "significance",
      "heading": "A grammar that can look back",
      "bodyMarkdown": "PrimiLife's achievement is not that a program can combine shapes. It is that these combinations repeatedly hover between an inventory of solids and a figure that appears to regard the viewer. The parts remain ordinary enough to identify, but the relationship among them can feel surprisingly particular. Rotation keeps reopening that relationship, showing how much of a perceived character depends on one view.[^S02][^S09][^S10][^S13]\n\nThe series also offers a concrete reason to preserve interaction with the original renderer. Pausing, turning and accumulating trails alter the experience without replacing the token's underlying composition. Its place in the AB[500] rests partly on this insistence that an edition can be an ongoing viewing situation, rather than only a fixed image. The unresolved sale allocations, full price history, recipient receipts and artist-code licence should remain research questions; they need not be filled with invented certainty to recognise the work's formal accomplishment.[^S01][^S02][^S13]"
    }
  ],
  "facts": [
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-08-29T06:36:32+00:00",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 1024,
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "maximum",
      "topic": "mint",
      "value": 1024,
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "activation",
      "topic": "mint",
      "value": "2021-09-06T19:34:18+00:00",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "start",
      "topic": "mint",
      "value": "2021-09-07T16:00:00+00:00",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "completion",
      "topic": "mint",
      "value": "2021-09-07T17:18:44+00:00",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "price-wei",
      "topic": "mint",
      "value": "250000000000000000",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000000",
      "sourceIds": [
        "S09"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Mustard ground, yellow ringed blue-grey unequal eyes, cream horizontal mouth bars, broad segmented blue-yellow horizontal ring and long cream downward cone. Two untouched views changed orientation.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000000.png",
      "mintedAt": "2021-08-29T06:36:32+00:00"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000001",
      "sourceIds": [
        "S10"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Near-black green ground, bright cyan ringed eyes and small upper sphere, very dark vertical body and projecting mouth; cyan diamond shape near waist. Second view rotated to narrow profile, overlapping eyes.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000001.png",
      "mintedAt": "2021-09-04T06:14:56+00:00"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000010",
      "sourceIds": [
        "S11"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Orange ground, orange lobed horizontal body, purple cube beneath on orange stalk, horizontal eye-like bar, small ring mouth, detached upper ring and scattered debris. Two views show rotation from broad body to overlapping lobes.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000010.png",
      "mintedAt": "2021-09-07T16:28:54+00:00"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000020",
      "sourceIds": [
        "S12"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Pale grey ground, blue spheres stacked above white ring/eye forms, central white pointed diamond/cone, blue radial rods around middle. One original view inspected so far.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000020.png",
      "mintedAt": "2021-09-07T17:05:26+00:00"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000622",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622",
      "sourceIds": [
        "S13"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Orange ground, orange rounded body with purple orbit-like rings, two purple box eyes with X marks, pointed lower tail, floating striped sphere and scattered geometric debris. Two untouched views changed orientation. p left overall orientation stable in next view. After 0,t,p sequence, broad curved trails visible behind debris. Parts pause not separately isolated.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622.png",
      "mintedAt": "2021-09-07T17:13:38+00:00"
    }
  ],
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "query { projects_metadata(where:{slug:{_eq:\"primilife-by-wuwa\"}}){name artist_name slug contract_address project_id description license link_to_license invocations max_invocations activated_at first_token_minted_at second_token_minted_at completed_at start_datetime price_per_token_in_wei currency_symbol script_type_and_version dependency_name_and_version website artist_interview sales_notes script} tokens_metadata(where:{token_id:{_in:[\"150000000\", \"150000001\", \"150000010\", \"150000020\", \"150000622\", \"150001023\"]},project_id:{_eq:\"0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-150\"}}){token_id invocation owner_address hash minted_at mint_transaction_hash preview_asset_url primary_asset_url live_view_url features} }",
    "sha256": "743926ca958535bd044e9203edcd3b7e5b1ac39ccefa3f1667232be95a187079",
    "retrievedAt": "2026-09-17T23:19:32.767717+00:00",
    "method": "Full indexed source read, not direct chain.",
    "executed": true,
    "chainBlock": null,
    "executionNote": "Unmodified official originals rendered successfully for 0,1,10,20,622. Automatic motion and trails observed; not every control isolated."
  },
  "editorialExceptions": [
    {
      "id": "runtime-blocked",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Zero successfully rendered original outputs; required visual and motion minimum unmet.",
      "resolution": "Five originals rendered successfully; automatic rotation and trails visually observed. Remaining unisolated controls stated as source findings."
    },
    {
      "id": "unfinished-essay",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Research checkpoint under word floor, no close readings; not publication-ready.",
      "resolution": "Completed2230-plus-word essay with five original observations and sustained readings of0 and622."
    },
    {
      "id": "historical-sale",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Full schedule and early allocations unresolved.",
      "resolution": "Contemporary resting-price testimony separated from current configuration. Full schedule and allocations explicitly unknown, not invented."
    },
    {
      "id": "software-rights",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Separate artist-source scope unresolved.",
      "resolution": "Artwork CC BY-NC4.0 and p5 LGPL2.1 verified separately; artist-code licence scope unresolved and explicitly stated."
    },
    {
      "id": "telemetry",
      "status": "resolved",
      "reviewer": "OpenAI Codex",
      "reason": "Null for coordinator delta.",
      "resolution": "Exact essay telemetry unavailable, retained as null rather than estimated."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/legalcode.en",
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "note": "Noncommercial sharing and adaptation with conditions; indexed link null.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-17T23:19:32.767717+00:00",
      "sourceIds": [
        "S02"
      ],
      "note": "Separate artist-code grant unknown.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "reportedLabel": "GNU LGPL 2.1",
        "category": "custom",
        "termsUrl": "https://cdn.jsdelivr.net/npm/p5@1.0.0/license.txt",
        "observedAt": "2026-09-17T23:19:32.767717+00:00",
        "sourceIds": [
          "S07"
        ],
        "note": "p5 runtime only.",
        "unresolvedConflicts": []
      }
    ]
  },
  "presentation": {
    "editionSize": 1024,
    "maximumEdition": 1024,
    "mintDate": "2021-08-29T06:36:32+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-150",
      "token_id": "150000622",
      "invocation": 622,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622.png",
      "live_view_url": "/series/primilife-by-wuwa/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622",
      "mode": "live",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/legalcode.en",
      "interactionNote": "Moves automatically. p: orbit, 0: moving parts, t: trails, r: reset camera, o: top view. Drag to change the view.",
      "displayBasis": "Attributed collection display under reported CC BY-NC4.0; original and licence linked. Original successfully rendered and current owner verified."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000000",
      "sourceIds": [
        "S09"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Mustard ground, yellow ringed blue-grey unequal eyes, cream horizontal mouth bars, broad segmented blue-yellow horizontal ring and long cream downward cone. Two untouched views changed orientation.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000000.png",
      "mintedAt": "2021-08-29T06:36:32+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000001",
      "sourceIds": [
        "S10"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Near-black green ground, bright cyan ringed eyes and small upper sphere, very dark vertical body and projecting mouth; cyan diamond shape near waist. Second view rotated to narrow profile, overlapping eyes.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000001.png",
      "mintedAt": "2021-09-04T06:14:56+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000010",
      "sourceIds": [
        "S11"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Orange ground, orange lobed horizontal body, purple cube beneath on orange stalk, horizontal eye-like bar, small ring mouth, detached upper ring and scattered debris. Two views show rotation from broad body to overlapping lobes.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000010.png",
      "mintedAt": "2021-09-07T16:28:54+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000020",
      "sourceIds": [
        "S12"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Pale grey ground, blue spheres stacked above white ring/eye forms, central white pointed diamond/cone, blue radial rods around middle. One original view inspected so far.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000020.png",
      "mintedAt": "2021-09-07T17:05:26+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000020"
    },
    {
      "id": "E05",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "150000622",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622",
      "sourceIds": [
        "S13"
      ],
      "selectionNote": "Original viewed; early editions plus verified collection example, not a statistical sample.",
      "observationNote": "Orange ground, orange rounded body with purple orbit-like rings, two purple box eyes with X marks, pointed lower tail, floating striped sphere and scattered geometric debris. Two untouched views changed orientation. p left overall orientation stable in next view. After 0,t,p sequence, broad curved trails visible behind debris. Parts pause not separately isolated.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622.png",
      "mintedAt": "2021-09-07T17:13:38+00:00",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/150000622"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/primilife-by-wuwa/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/primilife-by-wuwa/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
