{
  "schema": "ab5d-series-evidence/2",
  "slug": "little-boxes-on-the-hillsides-child-by-lia",
  "chainId": 1,
  "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
  "projectId": 185,
  "timezoneNote": "Every timestamp is UTC with an explicit offset or trailing Z, as the source returned it.",
  "codeSha256": "e5598752cc15c83d5942ef48b20fb03e6e6dbab2bfb7fdee0cc2c54466ad056f",
  "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": "little-boxes-on-the-hillsides-child-by-lia"
      },
      "identityFilter": "projects_metadata where slug _eq \"little-boxes-on-the-hillsides-child-by-lia\"; identity corroborated by the returned composite id",
      "compositeKeyNote": "Project identity is the composite key 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-185, joining lowercase contract address and on-chain project ID.",
      "requestedAt": "2026-09-18T07:47:44.249Z",
      "respondedAt": "2026-09-18T07:47:44.498Z",
      "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-185"
      },
      "identityFilter": "tokens_metadata where project_id _eq the composite project key, ordered by invocation ascending",
      "requestedAt": "2026-09-18T07:47:44.499Z",
      "respondedAt": "2026-09-18T07:47:44.977Z",
      "httpStatus": 200,
      "outcome": "ok",
      "rowsReturned": 777,
      "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-185000064",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-185000004",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-185000018",
          "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-185000000"
        ]
      },
      "identityFilter": "tokens_metadata where id _in the four exact composite token keys for the example tokens",
      "requestedAt": "2026-09-18T21:48:35.541Z",
      "respondedAt": "2026-09-18T21:48:35.840Z",
      "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": 3519,
    "sha256": "e5598752cc15c83d5942ef48b20fb03e6e6dbab2bfb7fdee0cc2c54466ad056f",
    "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:44.498Z",
    "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": "A three-shift xorshift generator seeded from hash.slice(2,12) parsed base 16, which skips the 0x prefix correctly. Its output is the absolute value of the 32-bit state modulo 65536 divided by 65536, so at most 65,536 distinct fractions are producible.",
      "parameterSelection": "Independent of the generator. The 64 hex characters after the prefix are cut into ten six-character slices, each parsed and divided by 16777215, and assigned in order to central hue (fraction times 360), saturation (linear onto 10 to 100), brightness (linear onto 71 to 100), hue spread (squared map onto 14 to 71), shape angle (fraction times 360), rows and columns (squared map onto 2 to 14 each), stroke count (50, 200 or 600 at thresholds 0.05 and 0.1), opacity (1, 0.15 or 0.30166 at thresholds 0.05 and 0.8) and a frame flag (fraction below 0.7). The invert flag alone comes from the invocation number rather than the hash.",
      "renderingSequence": "Column and row boundaries are laid at even divisions and then displaced by up to three tenths of a division, except the first of each. Each cell becomes an element that draws its rectangle outline plus two beziers per pass, sliding downward and fading its alpha toward the token opacity, reinitialising with a fresh hue and stroke budget when its budget runs out. The first call to draw runs the full stroke-count number of passes inside one frame; later frames do nothing unless the 'a' toggle is set. Framed tokens repaint a four-rectangle border every frame.",
      "timeAndInteraction": "No time uniform and no ongoing animation in the default state. Two key handlers only: 'a' toggles the accumulation flag, 's' calls saveCanvas. No mouse or touch handler.",
      "externalDependencies": "p5.js version 1.0.0, supplied by the renderer. No network fetches, no external assets, no audio library.",
      "notableDefect": "The drawn hue is taken modulo 255 while the colour mode uses the p5 default hue maximum of 360. The upper tail wraps and is named 'cheeky' in the trait vocabulary; the lower tail is clamped to hue 0 by p5 and is unnamed."
    },
    "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 were read. Reading and execution are recorded as separate activities."
  },
  "tokenPageChecks": [
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "status": 200,
      "observedAt": "2026-09-18T21:39:59.406Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "status": 200,
      "observedAt": "2026-09-18T21:40:00.089Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "status": 200,
      "observedAt": "2026-09-18T21:40:00.894Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018"
    },
    {
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "status": 200,
      "observedAt": "2026-09-18T21:40:01.289Z",
      "method": "GET via fetch from the artblocks.io origin in the browser pane",
      "outcome": "fetched",
      "finalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000"
    }
  ],
  "tokenObservations": [
    {
      "token_id": "185000064",
      "invocation": 64,
      "hash": "0xf3b0ec1b362ed431fc03a81080ff8def8ff405ee82234cd7f8df32643af1b5e9",
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "minted_at": "2021-10-19T16:56:34+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "brightness": "luminous",
        "central hue": "green",
        "columns": 2,
        "frame": "yes",
        "hue deviation": "narrow",
        "invert": "no",
        "opacity": "0.30166 (tested in LIA lab)",
        "rows": 12,
        "saturation": "low",
        "shape": "loopback",
        "strokes": "many"
      }
    },
    {
      "token_id": "185000004",
      "invocation": 4,
      "hash": "0xd3e8c7830de7d21345ecd5c0f72f86877e47956f9e9da88d24e3196cfcc6f023",
      "owner_address": "0x26d39fc7341567c8b0bb96382fc54f367f4298ea",
      "minted_at": "2021-10-19T16:34:49+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "brightness": "luminous",
        "central hue": "cheeky yellow",
        "columns": 6,
        "frame": "yes",
        "hue deviation": "wide",
        "invert": "yes",
        "opacity": "low",
        "rows": 5,
        "saturation": "full",
        "shape": "bulge",
        "strokes": "many"
      }
    },
    {
      "token_id": "185000018",
      "invocation": 18,
      "hash": "0x92f7042cd8efbc77b0f021ae6e4e8d735fb4af05863d5a4b48d52d6a06125ae4",
      "owner_address": "0x0871e6872f0cdeb32eb013648a76575b4d2dba80",
      "minted_at": "2021-10-19T16:53:21+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "brightness": "luminous",
        "central hue": "cheeky teal",
        "columns": 7,
        "frame": "yes",
        "hue deviation": "standard",
        "invert": "no",
        "opacity": "low",
        "rows": 4,
        "saturation": "natural",
        "shape": "loopback",
        "strokes": "many"
      }
    },
    {
      "token_id": "185000000",
      "invocation": 0,
      "hash": "0x1249e90f644b306388bf3af38ae51c80637f656a5e2f58bbb3ac9edfaa714872",
      "owner_address": "0xf48e3a3bcca259005527f395c4080cd68a80a0fe",
      "minted_at": "2021-10-13T21:43:19+00:00",
      "identitySource": "G04",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "mediaType": "text/html, original live renderer",
      "publishedFeatures": {
        "brightness": "regular",
        "central hue": "red",
        "columns": 3,
        "frame": "no",
        "hue deviation": "narrow",
        "invert": "no",
        "opacity": "low",
        "rows": 5,
        "saturation": "low",
        "shape": "loopback",
        "strokes": "many"
      }
    }
  ],
  "visualObservations": [
    {
      "id": "V01",
      "kind": "sustained",
      "token_id": "185000064",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "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, so the page's own requestAnimationFrame loop drove the sketch. Canvas copied to an offscreen 2D surface; sampled on a fixed 81-point grid and by a strided full-canvas census. Sketch globals read directly. Controls exercised by synthetic KeyboardEvents. Screenshot captured.",
      "observedFrom": "2026-09-18T21:40:32Z",
      "observedTo": "2026-09-18T21:42:00Z",
      "observations": [
        "Canvas 1324 by 1324. Two tall columns of stacked gable forms, twelve bands high, pale sage green on black, inside a wide dark olive border.",
        "Sampled grid identical across a five-second interval while the frame counter advanced from 359 to 600; the work is a still in its default state.",
        "Live globals gave central hue 342.691 with spread 14. The interval lies entirely above 255, so every draw wraps by the same amount and the rendered hue is 87.691, which is why a nominally magenta parameter produces a green picture published as green.",
        "The 'a' key toggled the accumulation flag from false to true and the sampled grid then changed between every pair of samples taken three and seven seconds apart.",
        "Toggling back required dispatching keyup before keydown, because p5 suppresses repeat keydowns for a key it believes is held. After the second toggle the grid was identical across five seconds while the counter advanced by 300.",
        "The 's' handler was not exercised, because it calls saveCanvas and would initiate a file download."
      ]
    },
    {
      "id": "V02",
      "kind": "sustained",
      "token_id": "185000004",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded while the browser pane was hidden, so the browser suspended animation frames and the sketch's frame counter stayed at 0. The sketch was advanced by calling p5's own redraw 1,004 times. Canvas copied to an offscreen 2D surface and sampled on the 81-point grid, on a 28-pixel line crossing the inner frame boundary, and on a 20-pixel interior run. Screenshot captured.",
      "observedFrom": "2026-09-18T21:42:40Z",
      "observedTo": "2026-09-18T21:43:40Z",
      "observations": [
        "A white field, six uneven columns by five rows, with white cell outlines and translucent forms in lavender, olive, tan, sage and mauve.",
        "One of only four tokens in the edition with invert true, and simultaneously one of only ten cheeky yellow tokens.",
        "A single frame completed the entire 600-pass accumulation in 42 milliseconds, confirming that the whole composition is the product of one frame.",
        "Live globals gave central hue 297.997 with spread 62, an interval from 235.997 to 359.997 that straddles 255, so violet-range draws and wrapped red-to-green draws appear in the same picture; both families are visible on screen.",
        "Live saturation 56 and brightness 70 are the post-clamp values applied to inverted tokens, while the published traits report full saturation and luminous brightness derived before the clamp.",
        "Pixels crossing the inner frame boundary differed between frame 1 and frame 200 and were identical from frame 200 to frame 1,004; the canvas interior was unchanged throughout. The border's antialiased edge converges rather than being idempotent."
      ]
    },
    {
      "id": "V03",
      "kind": "focused",
      "token_id": "185000018",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the pane hidden; sketch advanced by 220 manual redraw calls to complete the composition, then stepped in blocks of 40 to 60 frames around each control toggle. Canvas copied to an offscreen 2D surface and sampled on the 81-point grid. Screenshot captured.",
      "observedFrom": "2026-09-18T21:44:20Z",
      "observedTo": "2026-09-18T21:44:47Z",
      "observations": [
        "Seven columns by four rows on black inside a slate border. Pale teal and sage columns sit directly beside salmon and dusty pink columns at the same saturation.",
        "One of exactly three cheeky teal tokens in the edition, the rarest value of the largest trait.",
        "Live globals gave central hue 206.669 with spread 64, an interval from 142.669 to 270.669 which crosses 255; the base name comes from 206.669 falling in the teal band.",
        "Static across 60 stepped frames before the toggle, changing across 40 stepped frames with the flag set, and static again across 40 stepped frames after it was cleared, reproducing the V01 control result on a second token."
      ]
    },
    {
      "id": "V04",
      "kind": "focused",
      "token_id": "185000000",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "inspectedMediaUrl": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "observer": "this agent, Anthropic claude-opus-5, operating the browser pane on the coordinator's macOS computer",
      "method": "Original renderer loaded with the pane hidden; sketch advanced by 5 manual redraw calls to complete the composition and then by a further 120 to test for change. Canvas copied to an offscreen 2D surface and sampled on the 81-point grid. p5 colour clamping probed in the same running instance. Screenshot captured.",
      "observedFrom": "2026-09-18T21:45:10Z",
      "observedTo": "2026-09-18T21:45:40Z",
      "observations": [
        "Three columns by five rows of muted olive and dusty mauve on black, running to the canvas edge with no border. The quietest of the four.",
        "Invocation 0, minted six days before the public opening and still held by the artist address.",
        "Live globals gave central hue 25.719 with spread 45, an interval from -19.281 to 70.719, so roughly a fifth of its draws fall below zero.",
        "Probing the same p5 instance with hue -45, -20 and -1 returned the same colour as hue 0 and read back a hue of 0, establishing that the lower tail of the bug is clamped rather than wrapped. The token's reds accordingly pile up at hue 0 instead of spreading.",
        "Sampled grid identical across 120 stepped frames, consistent with a frameless token having no border to settle."
      ]
    }
  ],
  "statusByOriginal": [
    {
      "token_id": "185000064",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000064",
      "observedAcrossChangingStates": "yes, under the page's own frame loop",
      "controlsTested": "yes, the 'a' toggle exercised in both directions; the 's' save handler deliberately not exercised",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "185000004",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000004",
      "observedAcrossChangingStates": "yes, by manual frame stepping because the browser pane was hidden and animation frames were suspended",
      "controlsTested": "no, not exercised on this token; the control is established from code and from the two tokens where it was tested",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "185000018",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000018",
      "observedAcrossChangingStates": "yes, by manual frame stepping because the browser pane was hidden and animation frames were suspended",
      "controlsTested": "yes, the 'a' toggle exercised in both directions; the 's' save handler deliberately not exercised",
      "audioAuditioned": "not applicable, established as silent: no audio or video elements in the page and p5.SoundFile undefined in the running instance"
    },
    {
      "token_id": "185000000",
      "opened": "yes, in the original renderer at https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/185000000",
      "observedAcrossChangingStates": "yes, by manual frame stepping because the browser pane was hidden and animation frames were suspended",
      "controlsTested": "no, not exercised on this token; the control is established from code and from the two tokens where it was tested",
      "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": "bitforms gallery, Synthetic Imagination exhibition page",
      "urlsTried": [
        "https://www.bitforms.art/exhibition/synthetic-imagination/",
        "https://www.bitforms.art/?s=Synthetic+Imagination",
        "https://www.bitforms.art/?s=LIA",
        "https://www.bitforms.art/exhibitions/",
        "https://www.bitforms.art/artists/lia/"
      ],
      "observedAt": "2026-09-18T21:47:00Z",
      "outcome": "inconclusive",
      "note": "The first path rendered the gallery's own not-found page and the last returned 404. The search and exhibition index pages returned HTTP 200 but their fetched markup contains no titles or exhibition links, indicating client-side rendering, so a text search of that markup cannot establish absence. This is recorded as an inconclusive check, not as evidence that the exhibition is unlisted. The exhibition claim in this package rests on the Art Blocks description and the artist's own site, which agree on gallery and city."
    }
  ],
  "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, synthetic key dispatch and screenshots",
      "an independent reimplementation of the trait derivation run against all 777 token hashes, validated against four running tokens by reading their sketch globals",
      "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": "cheeky-variants-undercounted-by-the-artist",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The mint description names two cheeky features. The edition contains four: cheeky red 62, cheeky blue 45, cheeky yellow 10 and cheeky teal 3. Thirteen tokens carry a published trait value the artist's own account of the bug does not mention. A dossier quoting the description should not present it as a complete enumeration."
    },
    {
      "id": "hue-deviation-unreproduced",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Ten of eleven traits reproduce at 777 of 777 and are validated against four running tokens. Hue deviation does not, and the hypotheses tested are recorded. A reviewer may wish to seek the feature-generating software."
    },
    {
      "id": "control-undocumented-in-page-chrome",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The 'a' key control is described only in the body of the mint text; the collection page carries no interactive or animated badge. Any presentation that offers a still without the renderer will silently drop the work's one documented interaction."
    },
    {
      "id": "stillness-is-approximate-on-framed-tokens",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "On framed tokens the border's antialiased edge continues to settle for roughly 200 frames after the composition completes. The phrase 'rendered in stillness' is accurate about the composition and approximate about the canvas. A still capture taken in the first seconds may differ very slightly from one taken later."
    },
    {
      "id": "lower-tail-of-the-bug-unnamed",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Seventy-five tokens sample below hue zero, where p5 clamps rather than wraps. This is the same arithmetic defect as the cheeky wrap but has no trait label and is not mentioned anywhere in the published material. If a dossier explains the bug it should explain both tails."
    },
    {
      "id": "activated-at-postdates-first-mint",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The index reports activation on 2021-10-15 while the first mint is timestamped 2021-10-13. Whatever activated_at marks, it is not the first acceptance of a mint. This affects any catalogue that treats the field as a first-mint date."
    },
    {
      "id": "auction-rungs-are-reconstructed",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The per-rung mint counts are inferred from the published schedule and indexed mint timestamps, not read from transaction values. The inference bounds the charity clause at 26 of 776 public mints; it does not measure what was paid or donated. Present it as a reconstruction with its endpoints stated."
    },
    {
      "id": "licence-unlinked",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The licence identifier CC BY-NC-SA 3.0 is reported with a null link, and the project page's details accordion could not be expanded to check for a licence field. The canonical deed was read, but the association rests on the identifier alone. Terms URL recorded as null."
    },
    {
      "id": "dependency-rights-unknown",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The work declares p5@1.0.0 and does not render without it, while the artist's site describes the medium as on-chain generative art. The library's own licence was not established in this session and is not stated in the project record."
    }
  ]
}
