{
  "schema": "ab5d-series-evidence/2",
  "slug": "the-source-code-by-ofir-liberman",
  "chainId": 1,
  "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
  "projectId": 187,
  "timezoneNote": "Every timestamp is UTC with an explicit offset or trailing Z, as the source returned it.",
  "codeSha256": "feec2a97e2f31acd738c977cd2068c4d49298954146fe7beaad473a7074a75c7",
  "graphqlRetrievals": [
    {
      "id": "G01",
      "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "method": "HTTP POST",
      "operation": "ab5d-linked-wallets",
      "query": "query { user_profiles(where: {username: {_eq: \"ab5d\"}}) { username name linked_accounts { public_address } } }",
      "variables": {},
      "identityFilter": "user_profiles where username _eq \"ab5d\" (inline filter, no variables sent)",
      "requestedAt": "2026-09-18T07:47:43.026Z",
      "respondedAt": "2026-09-18T07:47:43.751Z",
      "httpStatus": 200,
      "outcome": "ok",
      "returnedFields": [
        "username",
        "name",
        "linked_accounts.public_address"
      ],
      "result": {
        "username": "ab5d",
        "name": "AB5D",
        "linkedAccounts": [
          "0xce6dc14c5494d8a4325a81d3b257d130fa2039d1",
          "0x2247247ee0eee59557e6cd14f7e047f6a9309b5c",
          "0xdd19308a9731cdecb67e0d80ca6823394208c045"
        ],
        "count": 3
      },
      "dataClass": "indexed data, not a direct chain call",
      "chainBlock": null,
      "note": "Complete set refreshed once this session. No fixed wallet count was assumed; the returned count of three was read from the response and every returned address was checked against every token in this edition."
    },
    {
      "id": "G02",
      "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "method": "HTTP POST",
      "operation": "ProjectBySlug",
      "query": "query ProjectBySlug($slug: String!) {\n  projects_metadata(where: {slug: {_eq: $slug}}) {\n    id project_id contract_address slug name artist_name artist_address description\n    invocations max_invocations complete paused\n    activated_at completed_at start_datetime updated_at\n    license link_to_license script_type_and_version aspect_ratio display_static\n    price_per_token_in_wei currency_symbol vertical_name website artist_interview\n    script_count script scripts { index script }\n  }\n}",
      "variables": {
        "slug": "the-source-code-by-ofir-liberman"
      },
      "identityFilter": "projects_metadata where slug _eq \"the-source-code-by-ofir-liberman\"; identity corroborated by the returned composite id",
      "compositeKeyNote": "Project identity is the composite key 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187, joining lowercase contract address and on-chain project ID.",
      "requestedAt": "2026-09-18T07:47:46.903Z",
      "respondedAt": "2026-09-18T07:47:47.157Z",
      "httpStatus": 200,
      "outcome": "ok",
      "rowsReturned": 1,
      "returnedFields": [
        "id",
        "project_id",
        "contract_address",
        "slug",
        "name",
        "artist_name",
        "artist_address",
        "description",
        "invocations",
        "max_invocations",
        "complete",
        "paused",
        "activated_at",
        "completed_at",
        "start_datetime",
        "updated_at",
        "license",
        "link_to_license",
        "script_type_and_version",
        "aspect_ratio",
        "display_static",
        "price_per_token_in_wei",
        "currency_symbol",
        "vertical_name",
        "website",
        "artist_interview",
        "script_count",
        "script",
        "scripts{index script}"
      ],
      "dataClass": "indexed data, not a direct chain call",
      "chainBlock": null
    },
    {
      "id": "G03",
      "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "method": "HTTP POST",
      "operation": "TokensByProject",
      "query": "query TokensByProject($pid: String!) {\n  tokens_metadata(where: {project_id: {_eq: $pid}}, order_by: {invocation: asc}) {\n    id token_id invocation hash owner_address minted_at features\n  }\n}",
      "variables": {
        "pid": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187"
      },
      "identityFilter": "tokens_metadata where project_id _eq the composite project key, ordered by invocation ascending",
      "requestedAt": "2026-09-18T07:47:47.157Z",
      "respondedAt": "2026-09-18T07:47:47.446Z",
      "httpStatus": 200,
      "outcome": "ok",
      "rowsReturned": 180,
      "returnedFields": [
        "id",
        "token_id",
        "invocation",
        "hash",
        "owner_address",
        "minted_at",
        "features"
      ],
      "dataClass": "indexed data, not a direct chain call",
      "chainBlock": null
    },
    {
      "id": "G04",
      "endpoint": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "method": "HTTP POST",
      "operation": "TokensByIds",
      "query": "query TokensByIds($ids: [String!]) {\n  tokens_metadata(where: {id: {_in: $ids}}) {\n    id token_id invocation hash owner_address minted_at features\n  }\n}",
      "variables": {
        "ids": [
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187000040",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187000000",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187000027",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-187000015"
        ]
      },
      "identityFilter": "tokens_metadata where id _in the four exact composite token keys for the example tokens",
      "requestedAt": "2026-09-19T07:25:29.956Z",
      "respondedAt": "2026-09-19T07:25:30.293Z",
      "httpStatus": 200,
      "outcome": "ok",
      "rowsReturned": 4,
      "returnedFields": [
        "id",
        "token_id",
        "invocation",
        "hash",
        "owner_address",
        "minted_at",
        "features"
      ],
      "dataClass": "indexed data, not a direct chain call",
      "chainBlock": null,
      "note": "Issued so that every example token's hash, owner and mint timestamp is read from a response rather than from working memory."
    }
  ],
  "codeInspection": {
    "retrievalId": "G02",
    "sourceField": "projects_metadata.script",
    "bytes": 10392,
    "sha256": "feec2a97e2f31acd738c977cd2068c4d49298954146fe7beaad473a7074a75c7",
    "digestMethod": "SHA-256 over the UTF-8 bytes of the returned script field, computed with the Web Crypto API in the browser pane",
    "retrievedAt": "2026-09-18T07:47:47.157Z",
    "runtime": "p5@1.0.0 as declared by script_type_and_version; the renderer supplies the library, which is not part of the retrieved bytes",
    "scriptCount": 1,
    "concatenationCheck": "The single-element scripts array concatenates to the same bytes as the flat script field.",
    "fullReadCoverage": {
      "seedHandling": "parseInt(tokenData.hash.slice(0,16),16). The slice includes the 0x prefix, so fourteen hexadecimal digits are parsed; fifty-six bits exceeds the fifty-three a double represents exactly, and the generator's first shift then coerces to a signed 32-bit integer. Fourth occurrence of this exact construction in the batch.",
      "parameterSelection": "A three-shift xorshift whose output is the absolute value of the state modulo 1000 divided by 1000. Eight draws in one statement: point-of-view selector 1 to 100, action index 0 to 9, base symbol index 0 to 9, base density 3 to 6, vision symbol index 0 to 9, vision density 3 to 9, two colour indices 0 to 8. A colour collision triggers a redraw from the narrower range 0 to 5. Invocation 0 overwrites all eight with hard-coded literals. The point-of-view switch then reassigns which colour role the drawn indices occupy.",
      "renderingSequence": "Two off-screen buffers are tiled with a glyph at the base and vision densities; two more are filled with a silhouette chosen by the action index and converted to an alpha mask by moving the red channel into alpha and zeroing the colour channels. Each glyph layer is masked and composited. The central figure, the border, three boxed glyphs across the top and an eight-glyph parameter row along the bottom are drawn on top. The bottom row encodes the token's eight parameters, one glyph each.",
      "timeAndInteraction": "noLoop is never called, so draw runs at full frame rate indefinitely and rebuilds both masks every frame, each rebuild copying and reading back a full canvas of pixels, for an image that never changes. No key, mouse or touch handler anywhere in the program.",
      "externalDependencies": "p5.js version 1.0.0, supplied by the renderer. No network fetches, no external assets, no audio library.",
      "canvasGeometry": "A portrait rectangle at roughly 1 to 1.625, sized to fit the window; measured 1120 by 1820 device pixels, a ratio of 0.6154 against the indexed 0.6153.",
      "notableDefects": "The features object is built after the point-of-view reassignment, misspells two of its own keys as Dmension, and builds the base dimension string by indexing a variable holding the number 1/1.625 rather than the ten-name dimension list, yielding the literal string undefined. The action name list misspells one entry as Settelment. The point-of-view selector uses strict inequalities on both sides of each band, so the exact values 60, 70, 80 and 95 fall through to the final category. A random-choice helper is defined, never used, and would have made the last list item unreachable. Three console.log statements survive.",
      "uncertainReading": "The mask routine calls shape-begin and shape-end on the off-screen buffer it was handed while issuing vertex and curve calls without a receiver, which addresses the main canvas. Reported as read from the source; not demonstrated to produce a visible defect."
    },
    "executed": true,
    "executionDisclosure": "The program was read in full from the retrieved text without executing it locally. Separately it was executed by the official Art Blocks renderer during the token observations, where its global variables, its internal features object and its console output were read. Reading and execution are recorded as separate activities."
  },
  "tokenPageChecks": [
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "status": 200,
      "observedAt": "2026-09-19T07:25:30.293Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "status": 200,
      "observedAt": "2026-09-19T07:25:30.773Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "status": 200,
      "observedAt": "2026-09-19T07:25:31.142Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "status": 200,
      "observedAt": "2026-09-19T07:25:31.694Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015"
    }
  ],
  "tokenObservations": [
    {
      "token_id": "187000040",
      "invocation": 40,
      "hash": "0x612eeee48de273e8bb50270f8452709c2adb39c185eab7971512e96fbdc69ab2",
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "minted_at": "2021-11-06T20:02:45+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "Action": "Fight",
        "BaseDensity": 5,
        "BaseDimension": "Blue soil",
        "PointOfView": "Light",
        "VisionDensity": 8,
        "VisionDimension": "Yellow unknown"
      }
    },
    {
      "token_id": "187000000",
      "invocation": 0,
      "hash": "0xcd27763a34c27a0f16c20ff171bb64042829848a09f10ba2a9169d62b714411b",
      "owner_address": "0x298c75883ffe510dad92e5a0ecca9bcc8d77c013",
      "minted_at": "2021-10-18T06:02:50+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "Action": "End",
        "BaseDensity": 6,
        "BaseDimension": "Yellow skin",
        "PointOfView": "Normal",
        "VisionDensity": 3,
        "VisionDimension": "Braun basalt"
      }
    },
    {
      "token_id": "187000027",
      "invocation": 27,
      "hash": "0xc983b7401a9a376aaa678a89e3c640aa82561bd762f5c89319ed0d53f781f1b8",
      "owner_address": "0x665654f2d2a151be2d0f8e3697e6ce780f732af2",
      "minted_at": "2021-11-06T03:16:57+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "Action": "End",
        "BaseDensity": 3,
        "BaseDimension": "Grey water",
        "PointOfView": "Dream",
        "VisionDensity": 9,
        "VisionDimension": "White skin"
      }
    },
    {
      "token_id": "187000015",
      "invocation": 15,
      "hash": "0x64aa0cb78e612f263db811cdc1a8980c9e4f9fa193074091bb7174fd62266110",
      "owner_address": "0x074fdc302f8d3c0e8b11c80f2a07bf2a3b8ca855",
      "minted_at": "2021-11-05T16:32:12+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "Action": "Settlement",
        "BaseDensity": 5,
        "BaseDimension": "Braun soil",
        "PointOfView": "Chaotic",
        "VisionDensity": 9,
        "VisionDimension": "Grey blood"
      }
    }
  ],
  "visualObservations": [
    {
      "id": "V01",
      "kind": "sustained",
      "token_id": "187000040",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the browser pane displayed. Canvas copied to an offscreen 2D surface and sampled on a fixed 81-point grid across a four-second interval. Sketch globals, the internal features object and the handler globals read directly. Renderer console read. Screenshot captured.",
      "observedFrom": "2026-09-19T07:26:10Z",
      "observedTo": "2026-09-19T07:26:35Z",
      "observations": [
        "A cream card with a faint blue grid across the whole field, a figure with a circular head, two solid almond eyes and a small rune between them, and a triangular robe hatched in yellow standing on a horizon line. Three boxed glyphs along the top and eight small marks along the bottom edge.",
        "Canvas 1120 by 1820 device pixels, a ratio of 0.6154 against the indexed 0.6153.",
        "Live globals: point-of-view selector 97, which lands legitimately in the final band; drawn colour indices 6 and 3, being Blue and Yellow, preserved in the stroke variables with both fill indices set to 0, being White. This is why the grid lines are blue and the robe hatching yellow while everything they fill is cream.",
        "The program's own features object read {Action: 'Fight', BaseDensity: 5, BaseDmension: 'White undefined', PointOfView: 'Light', VisionDensity: 8, VisionDmension: 'White unknown'}, against published BaseDimension 'Blue soil' and VisionDimension 'Yellow unknown': wrong in three independent ways at once, with the published version right in all three.",
        "The eight-mark row along the bottom encodes the colour indices after the point-of-view reassignment, so the card's own summary records White and White while its metadata records Blue and Yellow.",
        "Sampled canvas identical across four seconds while the frame counter advanced from 1030 to 1240; keyPressed and mousePressed undefined."
      ]
    },
    {
      "id": "V02",
      "kind": "sustained",
      "token_id": "187000000",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the browser pane displayed. Sketch globals and the internal features object read directly, with attention to the invocation-0 override. Screenshot captured.",
      "observedFrom": "2026-09-19T07:26:55Z",
      "observedTo": "2026-09-19T07:27:10Z",
      "observations": [
        "A field of overlapping yellow arcs, a brown hooded figure filling the lower two thirds, and a cream skull-like head with crossed eyes and a straight mouth. Its published Action value is End and the card looks like it.",
        "The artist's proof, minted seventeen days before the public opening and still held by the artist address.",
        "Every one of its eight parameters read in the running sketch matches the literals hard-coded in the source for invocation 0, even though the point-of-view selector drawn from its hash was 18 and would have produced a different result had it been used. This token's appearance is not a function of its hash.",
        "Its features object read BaseDmension 'Yellow undefined' while reading VisionDmension 'Braun basalt' correctly, localising that fault precisely to one line of the program.",
        "Live colour indices 3 and 1 with the stroke variables left at the default near-black, which is the Normal arrangement: the drawn colours fill the layers and the outlines are dark."
      ]
    },
    {
      "id": "V03",
      "kind": "focused",
      "token_id": "187000027",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the browser pane displayed. Sketch globals and the internal features object read directly. Screenshot captured.",
      "observedFrom": "2026-09-19T07:27:28Z",
      "observedTo": "2026-09-19T07:27:36Z",
      "observations": [
        "A night plate: a very dark blue ground, pale grey wave glyphs across the upper field, a robe of fine white arcs, and a large circular head with crossed eyes.",
        "One of 17 Dream cards in the edition.",
        "Live globals show both fill indices set to the near-black and the drawn indices 7 and 0, being Grey and White, moved to the strokes.",
        "Its features object read 'Black undefined' and 'Black skin' where the published metadata reads 'Grey water' and 'White skin', which is the same disagreement seen on the Light card arriving by a different route."
      ]
    },
    {
      "id": "V04",
      "kind": "focused",
      "token_id": "187000015",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the browser pane displayed. Canvas copied to an offscreen 2D surface and sampled on the 81-point grid across a five-second interval. Sketch globals and the internal features object read directly. Screenshot captured.",
      "observedFrom": "2026-09-19T07:28:03Z",
      "observedTo": "2026-09-19T07:28:12Z",
      "observations": [
        "The upper brown band is filled not with one repeated glyph but with a different glyph in almost every cell, while the lavender lower field keeps a single regular motif; between them sits a plain cream dome with no face.",
        "One of only 9 Chaotic cards, the rarest point of view in the edition.",
        "Live globals confirm the per-cell randomisation flag set and the two layer densities at 5 and 9. The chaos affects the base layer and only the base layer.",
        "Its features object read Action 'Settelment', the misspelling from the program's own list, against a published value of 'Settlement'.",
        "Sampled canvas identical across five seconds while the frame counter advanced from 796 to 1061, so the per-cell randomisation happens once at setup and is then redrawn identically forever."
      ]
    }
  ],
  "statusByOriginal": [
    {
      "token_id": "187000040",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000040",
      "observedAcrossChangingStates": "yes, sampled across a four-second interval while the frame counter advanced by 210; the canvas did not change, which is the designed behaviour despite a full-rate loop",
      "controlsTested": "not applicable, established as absent: the program defines no key, mouse or touch handler, and keyPressed and mousePressed are undefined in the running instance",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "187000000",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000000",
      "observedAcrossChangingStates": "yes, observed with the page's own loop running at full rate; the canvas does not change between frames",
      "controlsTested": "not applicable, established as absent: the program defines no key, mouse or touch handler, and keyPressed and mousePressed are undefined in the running instance",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "187000027",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000027",
      "observedAcrossChangingStates": "yes, observed with the page's own loop running at full rate; the canvas does not change between frames",
      "controlsTested": "not applicable, established as absent: the program defines no key, mouse or touch handler, and keyPressed and mousePressed are undefined in the running instance",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "187000015",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/187000015",
      "observedAcrossChangingStates": "yes, sampled across a five-second interval while the frame counter advanced by 265; the canvas did not change",
      "controlsTested": "not applicable, established as absent: the program defines no key, mouse or touch handler, and keyPressed and mousePressed are undefined in the running instance",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    }
  ],
  "corrections": [],
  "mediaIds": [],
  "negativeChecks": [
    {
      "id": "N01",
      "target": "the ORACLE and the Discord promised on the artist's project page",
      "urlsTried": [
        "http://ofir-liberman.com/the-source-code/"
      ],
      "observedAt": "2026-09-19T07:29:00Z",
      "outcome": "not pursued",
      "note": "The artist's page tells holders to expect 'A visit to the ORACLE where you can get a reading of a card meaning' and links a Discord. Neither was followed in this session, so this package makes no claim about whether either exists. Recorded so that a later reviewer knows the gap is deliberate rather than overlooked."
    }
  ],
  "provenance": {
    "operator": "Phil (AB5D coordinator), via the Claude desktop application",
    "originalAuthor": {
      "provider": "Anthropic",
      "model": "claude-opus-5",
      "modelVersion": "claude-opus-5 as reported by the session environment; the batch routing label 'claude' is a routing label and not a model identifier and has not been recorded as one",
      "agent": "Claude in Cowork mode on the Claude Agent SDK"
    },
    "revisions": [],
    "revisionNote": "No other model or human has revised this package. A later reviser must preserve the original author credit above and record the reviser, changed scope and revision-specific usage separately here.",
    "tools": [
      "Art Blocks public GraphQL index over HTTP POST, with full query text, variables and timings retained in this file",
      "browser pane on the coordinator's computer for page rendering, text extraction, canonical token page status checks, live renderer execution, canvas sampling, reading the sketch's internal features object, console reading and screenshots",
      "an independent reimplementation of the draw order, the collision redraw and the invocation-0 override run against all 180 token hashes, validated against four running tokens",
      "SHA-256 over the retrieved script bytes computed with the Web Crypto API",
      "local shell and file tools for package assembly, and the supplied validator"
    ],
    "humanEditorialInvolvement": "None. No human reviewed, edited or fact-checked the prose before submission. Status is draft-for-human-review.",
    "originalProseLicense": "CC0-1.0"
  },
  "editorialExceptions": [
    {
      "id": "published-traits-are-not-the-artists",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The program's own features object disagrees with the published metadata in three independent ways, confirmed live on three tokens: misspelled keys, a base dimension value of the literal string 'undefined', and colour words read after rather than before the point-of-view reassignment. The published metadata is correct in all three. Any catalogue built from on-chain artefacts alone would be worse than the platform's record."
    },
    {
      "id": "edition-size-contradicts-the-description",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The description on the collection page promises 'a set of unique 1024 karma cards minted in the Genesis phase' while the same page states a fixed edition of 180 and the index reports 180 of 180 complete. The artist's site repeats the 1024 figure. Do not reprint the description without the edition size."
    },
    {
      "id": "rights-conflict",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index records CC BY-NC 4.0 with a null link; the artist's own project page, the website of record, carries 'all rights reserved Ofir Liberman'. The two cannot both be operative as written. This package reports both with access times and resolves neither. A rights decision is needed before reproduction."
    },
    {
      "id": "point-of-view-band-edge-defect",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The selector uses strict inequalities on both sides of each band, so the exact values 60, 70, 80 and 95 fall through to the last category. Seven of 180 tokens drew one of those values, so seven of the nineteen Light tokens are there by that route. Rarity tables for this trait should carry the caveat."
    },
    {
      "id": "invocation-zero-is-hard-coded",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Token 187000000 has all eight parameters overwritten with literals in the source, so its appearance does not depend on its hash. It is an artist's proof in the strict sense and should be described as one rather than presented as a generative outcome."
    },
    {
      "id": "continuous-redraw-of-a-static-image",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The program never calls noLoop and rebuilds two full-canvas pixel masks on every frame, about sixty times a second, to produce an unchanging image. The browser emits a performance warning on every frame. A gallery running several of these on one machine should expect the load; a still is visually equivalent."
    },
    {
      "id": "display-static-flag-misleading",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports display_static false. The loop does run, so the flag is not simply wrong as it is on other projects here, but the image never changes. Do not present this work with a play control or imply motion."
    },
    {
      "id": "black-unreachable-in-dimension-traits",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The colour name list contains ten entries including Black, but the drawn indices span only 0 to 8, so no published Dimension value in the edition is Black. A dossier listing the colour vocabulary should say which member never occurs."
    },
    {
      "id": "licence-unlinked",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The identifier is fully specified but carries a null link, and the project page's details accordion was not expanded to check for a licence field. Terms URL recorded as null."
    },
    {
      "id": "activated-at-postdates-first-mint",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports activation on 2021-11-01 while the first mint is timestamped 2021-10-18. The same pattern appears on four other projects in this batch, so it is a property of the field rather than of this project."
    },
    {
      "id": "shared-generator-idiom",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The random generator, its 1,000-value output step and the seed slice are identical in construction to the Amoeba, Blockbob Rorschach and Mental pathways projects in this batch, by three other artists. This package records the match without claiming to have found its source."
    },
    {
      "id": "unpursued-artist-promises",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The artist's page promises holders an ORACLE reading and links a Discord, and still shows an expired drop countdown. Neither was pursued here. If the dossier describes what holders were promised, someone should establish what was delivered."
    }
  ]
}
