{
  "sources": [
    {
      "id": "S01",
      "author": "Art Blocks",
      "title": "Chroma Theory by Pawel Dudko, collection page",
      "url": "https://www.artblocks.io/collection/chroma-theory-by-pawel-dudko",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Page rendered in the browser pane and its text extracted, with the PROJECT DETAILS and SALES NOTES panels expanded by clicking before extraction. No display note or charitable giving panel exists for this project.",
      "evidenceLocators": [
        "WHAT TO EXPECT panel: animated badge present, interactive badge absent",
        "Header line: 'Released on 29 October 2021', which is the 2021-10-28T16:00:00Z opening rendered in a timezone ahead of UTC",
        "SALES NOTES panel: 'Drop Mechanic: Dutch Auction, starting price 2 decreasing every 5 minutes to a resting price of 0.1. Pricing Tiers: 2 > 1.75 > 1.5 > 1.25 > 1 > 0.75 > 0.5 > 0.25 > 0.1'",
        "PROJECT DETAILS panel: EDITION SIZE 106, LIBRARY p5@1.0.0, ASPECT RATIO 1, CONTRACT TYPE fully on-chain",
        "PROJECT DETAILS panel: WEBSITE field https://www.pdudko.com/p/chroma-theory.html, the link of record that returns a 404 page",
        "PROJECT DETAILS panel, ATTRIBUTES list: five names, Spots, BackgroundColor, CenterColor, CenterRadius, ColorDeviation",
        "No licence field appears anywhere in the project details panel"
      ]
    },
    {
      "id": "S02",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, projects_metadata for project 170",
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Named operation ProjectBySlug executed by HTTP POST with variables {\"slug\":\"chroma-theory-by-pawel-dudko\"}. Full query text, variables and timings in evidence.json. The returned program is packed; it was unpacked by reimplementing the substitution as string work without executing it, and the resulting 2,651 characters were read in full.",
      "evidenceLocators": [
        "Response field projects_metadata[0].id = 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-170, corroborating contract and project identity",
        "Response fields license = 'NFT License' and link_to_license = null",
        "Response fields activated_at = 2021-10-23T18:04:15+00:00, start_datetime = 2021-10-28T16:00:00+00:00, completed_at = 2022-03-21T07:15:20+00:00",
        "Response fields invocations = 106, max_invocations = 106, script_count = 1, display_static = false",
        "Response field price_per_token_in_wei = 100000000000000000, equal to the published auction resting price",
        "Response field artist_address = 0x7d8d846f24ce0d2c69fcf557edb92f4f8f9aebc1, which is also the owner address of token 170000000",
        "Response field artist_interview = null",
        "Stored script: 2,495 bytes of packed output beginning eval(function(p,a,c,k,e,r)",
        "Unpacked program, seed handling: seed = parseInt(tokenData.hash.slice(0,16),16), a sixteen-character slice of a string that begins with the 0x prefix, so only fourteen hexadecimal digits are parsed",
        "Unpacked program, byte handling: 32 hash byte pairs taken from offset 2, each reduced modulo 10, supplying mainColorH, mainColorS, mainColorB, spots, centerRadius and the two brightness values",
        "Unpacked program, rnd_dec(): xorshift whose output is reduced modulo 1000 and divided by 1000, giving exactly one thousand possible values",
        "Unpacked program, setup(): three WEBGL graphics buffers at pixelDensity 0.2, with a vertex and fragment shader pair compiled twice for a two-pass blur",
        "Unpacked program, fragment shader: sixteen directions by eight radii sampling of the input texture, summed and divided, with the blur size supplied as a uniform",
        "Unpacked program, draw(): spot loop drawing four to six ellipses, then one further centre ellipse from separate parameters",
        "Unpacked program, draw(): background hue computed as (mainColorH + c[1] + c[2] - 120) % 360 and centre hue as abs(c[1]+c[2]+c[3]) % 360",
        "Unpacked program, draw(): b += 0.04 per frame feeding noise() to set the blur radius, and m[i] advanced by a fresh rnd_dec() draw per frame, so the generator state is consumed continuously",
        "Unpacked program: no key or mouse handler, no audio call, and no feature-generating code of any kind"
      ]
    },
    {
      "id": "S03",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, tokens_metadata for all 106 tokens of project 170",
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Named operation TokensByProject executed by HTTP POST with variables {\"pid\":\"0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-170\"}, returning the complete edition. A second operation TokensByIds retrieved the four example tokens by exact composite key. Every reproduction rate and census figure was computed over the full response.",
      "evidenceLocators": [
        "features.Spots reproduced 106 of 106 as the spot-loop count plus the separately drawn centre circle; published values are 5, 6 and 7 across 52, 39 and 15 tokens",
        "features.CenterRadius reproduced 106 of 106 as the centre circle diameter in per cent of canvas, truncated rather than rounded",
        "features.BackgroundColor, features.CenterColor and features.ColorDeviation not reproduced: no match on the program's own formulas, on any single hash byte scaled to 0-360, or on seeds taken from the full hash, the hash without prefix, or its first eight digits",
        "features.ColorDeviation takes 67 distinct values across 106 tokens, ruling out the byte-modulo-10 quantities",
        "Token 170000004 owner_address = 0xdd19308a9731cdecb67e0d80ca6823394208c045, matched against the refreshed AB5D wallet set; minted_at 2021-10-28T16:48:19+00:00",
        "Token 170000000 owner_address = 0x7d8d846f24ce0d2c69fcf557edb92f4f8f9aebc1, identical to the indexed artist_address, so the artist proof is still held",
        "Invocation 0 minted_at 2021-10-09T11:41:28+00:00, the only mint preceding the public opening",
        "Invocation 1 minted_at 2021-10-28T16:28:44+00:00 and invocation 2 at 16:39:28+00:00, the only two mints inside the forty-minute auction descent",
        "Final mint invocation 105 at 2022-03-21T07:15:20+00:00; pace from opening 13, 16, 17, 19 and 40 across the bucket boundaries recorded in evidence.json",
        "Longest consecutive-invocation gap 27.57 days between invocations 99 and 100"
      ]
    },
    {
      "id": "S04",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, user_profiles for the AB5D collection",
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Discovery query for the ab5d profile executed by HTTP POST with variables {}, returning the complete linked_accounts set, with the public profile page also opened in the browser pane.",
      "evidenceLocators": [
        "Response user_profiles[0].linked_accounts returning the complete set of three addresses: 0xce6dc14c5494d8a4325a81d3b257d130fa2039d1, 0x2247247ee0eee59557e6cd14f7e047f6a9309b5c, 0xdd19308a9731cdecb67e0d80ca6823394208c045",
        "The third linked address is the indexed owner of token 170000004, the only match across all 106 tokens in this project"
      ]
    },
    {
      "id": "S05",
      "author": "Art Blocks",
      "title": "Art Blocks live renderer for project 170 tokens",
      "url": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/170000004",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Four tokens opened in the original renderer in the browser pane on the researcher's computer. Canvas contents copied to a 2D surface and sampled, because the artwork renders to a WebGL context. The sketch's own frame counter, noise counter, blur radius, spot count, centre radius, main hue and per-spot hue array were read alongside. Screenshots captured of all four.",
      "evidenceLocators": [
        "Token 170000000: sketch variables c = [59.04, 41.76, 161.28, 137.88], mainColorH 360, spots 3.4444, centerRadius 239.06 on dim 662, giving a background hue of 83.04 and a centre hue of 340.92, matching the independent reimplementation to two decimal places",
        "Token 170000000: published BackgroundColor 183 and CenterColor 328 against those computed 83.04 and 340.92",
        "Token 170000000: rendered canvas sampled at hue 42 in the corner and 58 at centre, matching neither the internal nor the published values",
        "Token 170000000: six distinct canvas signatures over 15.1 seconds, frame counter 3703 to 4457, noise counter advancing exactly 0.04 per frame, blur radius 140.03, 124.53, 115.46, 144.79, 105.26, 129.41",
        "Token 170000004: spot count drawn 5 matching published Spots 5; centre radius 47.22 per cent matching published CenterRadius 47 after truncation; sketch background hue 333.96 against published BackgroundColor 153",
        "Token 170000004: six distinct signatures over 15.1 seconds, frame counter 776 to 1529, blur radius 100.89, 101.08, 116.20, 102.35, 124.59, 143.74",
        "Token 170000013: seven circles drawn matching published Spots 7; centre radius 44.44 per cent matching published 44; canvas signature changed between samples five seconds apart",
        "Token 170000010: centre radius exactly 25.00 per cent matching published 25; five circles drawn matching published Spots 5; canvas signature changed between samples five seconds apart",
        "Audio status: document.querySelectorAll('audio,video') returned 0 and the only loaded script was the p5 library at 1.0.0 with no sound add-on"
      ]
    },
    {
      "id": "S06",
      "author": "Pawel Dudko",
      "title": "Chroma Theory, artist project page",
      "url": "https://pdudko.com/chroma-theory/",
      "publicationDate": "2021-10-26",
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "The artist's own page for this project, read in full. Located by searching the artist's site for the project name after the link of record returned 404. Sibling pages for other projects were not read.",
      "evidenceLocators": [
        "Opening statement: 'Chroma Theory is an infinite scripted digital animation that is based on color theory.'",
        "Second paragraph: 'All of the spots visible in a single rendering are subject to the rules of perception, mixing, matching, or contrasting colors.'",
        "Biography paragraph: the project 'is a homecoming to the beginning of my art creation, photography and CGI'",
        "Biography paragraph naming earlier generative projects The Faces of the Circle (2018), (Un)necessary (2016) and Populations (2016), in which 'final artworks were selected by me and limited to those, I decided to create and exhibit. There are no such limitations in the digital world'",
        "A list of twelve hashes used to render exhibition stills, and a thirteenth for a single still, which are configurations rather than token hashes from the edition",
        "Site-wide theme footer reading 'Copyright all rights reserved', which appears identically on the site index and is therefore not specific to this artwork"
      ]
    },
    {
      "id": "S07",
      "author": "Pawel Dudko",
      "title": "The artist website recorded against project 170 (404)",
      "url": "https://www.pdudko.com/p/chroma-theory.html",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Opened by navigation in the browser pane. Recorded by the rendered result rather than by a read HTTP status code, since no status code was observed for this origin.",
      "evidenceLocators": [
        "Rendered page title 'Page not found' and body text '404 NOT FOUND. OOPS! THAT PAGE CAN'T BE FOUND.'",
        "The same domain root serves a live artist site, so this is a broken link of record rather than a dead domain",
        "The artist's working page for this project exists at a different path on the same domain, reachable by the site's own search"
      ]
    },
    {
      "id": "S08",
      "author": "Pawel Dudko",
      "title": "Dark Chroma Theory, artist project page",
      "url": "https://pdudko.com/dark-chroma-theory/",
      "publicationDate": "2022-01-28",
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "The artist's page for the later revision of this work, read in full. Used to establish, from the artist's own account of what the revision changed, properties of the original. The Dark Chroma Theory collection itself was not inspected on its marketplace.",
      "evidenceLocators": [
        "Opening line: 'Dark Chroma Theory project is a revision of Chroma Theory published on Art Blocks. The code has been updated with certain features, e.g.: dark background only, looped animation, organic movement, wider color range, spots number, and appearance reviewed.'",
        "Description: 'a collection of 16, 10-seconds loop animations based on color theory', minted on OpenSea Polygon",
        "Development note: the revision arose while working on Genuary 2022 prompts",
        "Development note: 'The idea of the center spot was abandoned and replaced with a higher spots number', establishing the centre circle as a deliberate element of the Art Blocks original",
        "Development note: 'The elements movement and dissolution were improved to be more organic and looped', establishing that looping was added in the revision and is therefore absent from the original"
      ]
    },
    {
      "id": "S09",
      "author": "Dapper Labs",
      "title": "NFT License",
      "url": "https://www.nftlicense.org/",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Read in full during this session. Cited as the document that shares the name the index reports, not as the instrument governing this project, because the index supplies no link and no association was established.",
      "evidenceLocators": [
        "Permissions clause: personal non-commercial use; display on a marketplace that cryptographically verifies ownership; display on a third-party site or app that verifies ownership and does not retain the art; merchandise commercialisation under 100,000 dollars of annual revenue",
        "Prohibitions clause: modifying the art; marketing third-party products; use in connection with images of hatred or violence; attempting to trademark the art",
        "The page states no version number anywhere in its text",
        "The site's own License navigation item is not a working link and /license returns an error page, so no operative legal text is reachable",
        "Attribution at the page foot: 'Made with ... by Dapper Labs'"
      ]
    }
  ]
}
