{
  "sources": [
    {
      "id": "S01",
      "author": "Art Blocks",
      "title": "Amoeba by last-even, collection page",
      "url": "https://www.artblocks.io/collection/amoeba-by-last-even",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Page rendered in the browser pane and its visible text extracted. The detail accordions were not expanded; their contents were not read and this is recorded as a gap rather than as an absence.",
      "evidenceLocators": [
        "Header block: 'View live', 'Amoeba', 'by last-even', 'An Art Blocks 500 release, in the Factory category', 'Fixed edition of 213 unique artworks', 'Released on 29 October 2021'",
        "A 'View live' control appears at the head of the page, unlike several other projects in this batch",
        "WHAT TO EXPECT panel reproduces the mint description including 'View in live mode to watch it dance', 'Press [1] - [4] to adjust rendering quality' and 'Press [s] to take a snapshot of the Amoeba'",
        "Charity clause as printed on the page: '25% of sales for the first 24 hours will be donated to Meals For Unity'",
        "Page title renders 'Amoeba by last even' while the header credits 'last-even' and the index returns 'last even'; the slug is amoeba-by-last-even",
        "The displayed release date of 29 October 2021 is the 2021-10-28T19:00:00Z opening rendered in a timezone ahead of UTC"
      ]
    },
    {
      "id": "S02",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, projects_metadata for project 182",
      "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\":\"amoeba-by-last-even\"}. Full query text, variables and timings recorded in evidence.json. The complete returned program, 3,259 bytes, was read end to end.",
      "evidenceLocators": [
        "Response field projects_metadata[0].id = 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-182, corroborating contract and project identity",
        "Response fields license = 'CC BY' and link_to_license = null; the identifier carries no version, no jurisdiction and no link",
        "Response fields activated_at = 2021-10-23T18:04:15+00:00, start_datetime = 2021-10-28T19:00:00+00:00, completed_at = 2024-02-20T02:10:11+00:00, updated_at = 2021-10-06T17:01:45.639977",
        "Response fields invocations = 213, max_invocations = 213, script_count = 1, display_static = false, aspect_ratio = 1, vertical_name = 'factory'",
        "Response fields price_per_token_in_wei = 100000000000000000, artist_name = 'last even', artist_address = 0xc7cf7edd6ea7aac57db1929d74a013366cacf0df, artist_interview = null, website = https://lasteven.xyz",
        "Response field description: 'The Amoeba is a study of repetition, patterns, and harmony.' and 'View in live mode to watch it dance. Press [1] - [4] to adjust rendering quality. Press [s] to take a snapshot of the Amoeba.'",
        "Program, setup: seed taken as parseInt(hash.slice(0,16),16), a slice that includes the 0x prefix, so fourteen hexadecimal digits are parsed; fifty-six bits exceeds double-precision exactness before the generator coerces to 32 bits",
        "Program, rand(): three-shift xorshift whose output is the absolute value of the state modulo 1000 divided by 1000, so every random draw in the work is one of exactly 1,000 values",
        "Program, weighted picker: sums the weights, draws an integer up to that sum, and walks the table subtracting weights until the running total goes non-positive",
        "Program, brush table: six entries at weights 32, 12, 12, 4, 2 and 2, being a circle, a square, a triangle, a rounded square, a pair of crossed lines, and a displaced circle with a heavy stroke and a nearly transparent fill",
        "Program, palette table: four branches at weights 31, 31, 1 and 1; the two weight-1 branches are fixed greys, black and mid-grey over white with a multiply blend, and white and mid-grey over black with a screen blend",
        "Program, palette table: neither grey branch assigns the global that scales the stroke weight, so strokeWeight receives an undefined value on those tokens",
        "Program, harmony table: six entries whose angular offsets from the base hue are the intervals of colour theory, giving near monochrome, complementary, analogous, split complement, triad and tetrad",
        "Program, five motion tables keyed by numeric names: four of the five selections become published traits and the fifth, four sign pairs controlling the direction of both placement sinusoids, does not",
        "Program, draw(): the canvas is cleared and redrawn every frame; 160 copies of the selected brush are placed by paired sinusoids of elapsed wall-clock time since load and of each copy's own phase",
        "Program, setup: the canvas is created at the full browser window size and re-created on resize, so the work has no fixed aspect ratio despite the index reporting 1",
        "Program, keypress listener: digits 1 to 4 set the resolution scale and force a resize, 's' calls saveCanvas; no mouse or touch handler, no audio call, no external fetch"
      ]
    },
    {
      "id": "S03",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, tokens_metadata for all 213 tokens of project 182",
      "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-182\"}, returning the complete edition. An independent reimplementation of the exact draw order was run against all 213 returned hashes.",
      "evidenceLocators": [
        "features.baseHue reproduced 213 of 213 as a direct integer draw in the range 0 to 359",
        "features.brush reproduced 213 of 213 from the weighted brush table; counts circle 113, square 38, triangle 37, leaf 10, cross 8, blob 7",
        "features.offset reproduced 213 of 213 from the five-option motion table; counts enigmatic 50, jumpy 47, shy 44, knotted 37, doubled 35",
        "features.shift reproduced 213 of 213 from one four-option motion table; counts orderly 63, undulating 60, enigma 50, harmonic 40",
        "features.size reproduced 213 of 213 from a second four-option motion table; counts vortex 69, gasket 53, amoeba 47, pinch 44",
        "features.speed reproduced 213 of 213 from a third four-option motion table; counts reserved 59, driven 53, cruising 51, oriented 50",
        "The fourth four-option motion table, holding four sign pairs, cross-tabulates against every published trait without structure and corresponds to no published trait key",
        "features.coloring has three values for four program branches: neon 86 maps to the first coloured branch, halogen 125 to the second, and ghost 2 to the fourth; the third branch, black and mid-grey over white, was drawn zero times in 213 invocations",
        "features.harmony reproduced 213 of 213 once the ghost override is applied: both ghost tokens report monochrome irrespective of which harmony table entry the draw selected",
        "Mint timestamps: exactly one token, invocation 0, was minted before the public opening, at 2021-10-15T03:57:44+00:00, by the artist address, eight days before the recorded activation",
        "Mint pace anchored on the 2021-10-28T19:00:00Z opening: 47 within one hour, 70 within 24 hours, 106 within seven days, 131 within thirty days, 195 within a year, 212 in total; median mint 2021-11-04T21:26:43+00:00",
        "First public mint 2021-10-28T19:19:39+00:00, 19.65 minutes after the opening; final mint 2024-02-20T02:10:11+00:00, 844.30 days after the opening",
        "142 of the 212 public mints fall outside the first 24 hours and therefore outside the stated charity window",
        "Ownership across the edition: 170 distinct owner addresses; the artist address holds invocations 0, 69, 88 and 212",
        "Exactly one token, 182000181, is held by an address in the refreshed AB5D linked-wallet set"
      ]
    },
    {
      "id": "S04",
      "author": "Art Blocks",
      "title": "Art Blocks public GraphQL index, tokens_metadata for the four example tokens of project 182",
      "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Named operation TokensByIds executed by HTTP POST with the four exact composite token keys, issued so that every example token's hash, owner and mint timestamp is read from a response rather than from working memory.",
      "evidenceLocators": [
        "Token 182000181: hash 0x97c6026d6a4b3519208ad34aa73f81f418acf05a8bc3a47c9cecc1766cadb451, owner 0xdd19308a9731cdecb67e0d80ca6823394208c045, minted_at 2022-07-17T02:46:59+00:00, invocation 181, baseHue 149, brush triangle, harmony splitComplementary",
        "Token 182000037: hash 0xeec9f7f7d5e990eba1ec34fc43f02f00c5535a6649f7b30f6e550b31ff6c4ac2, owner 0x3e5da3e1f890c94312bc21a443f06eeccbcca9f1, minted_at 2021-10-28T19:46:16+00:00, invocation 37, coloring ghost, baseHue 146, harmony monochrome",
        "Token 182000161: hash 0xe6c82ba1bbf9e32a128b61a90be81fe9520f8633169452ce5f43479968b2f290, owner 0x14a493e5fd5988d7a9a569c9f1728ac717db92d1, minted_at 2022-07-02T18:37:07+00:00, invocation 161, coloring ghost, baseHue 83",
        "Token 182000008: hash 0x13b5cedd66e09f51618ec18ca338b47e1332ce4ceb29ff94c585098319482cd3, owner 0xf7a2843e1c03764f453e8e51b3d2a76c5245a2cb, minted_at 2021-10-28T19:32:53+00:00, invocation 8, brush blob, baseHue 220, harmony triad"
      ]
    },
    {
      "id": "S05",
      "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. Refreshed once this session and reused across the batch; no wallet count was assumed in advance.",
      "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 182000181, the only match across all 213 tokens in this project"
      ]
    },
    {
      "id": "S06",
      "author": "Art Blocks",
      "title": "Art Blocks live renderer for project 182 tokens",
      "url": "https://generator.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/182000181",
      "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, with the pane displayed so that the page's own animation loop drove every observation. Each canvas was copied to an offscreen 2D surface and sampled on a fixed 81-point grid plus a strided full-canvas census. The sketch's own global variables were read alongside each observation. Screenshots captured of three. Canonical token page status checks were issued by fetch from the artblocks.io origin. The artist website of record was also attempted from this pane.",
      "evidenceLocators": [
        "All four tokens: the sampled grid differed between every pair of samples taken three to four seconds apart while the frame counter advanced by roughly 240 per four seconds, establishing continuous animation with no settled state",
        "Token 182000181 canvas measured 1324 by 1820 device pixels in a 662 by 910 CSS-pixel pane, confirming that the sketch fills the window rather than producing the square the index's aspect ratio implies",
        "Token 182000181 live globals: motion table keys F=1, G=9, I=10, H=17, which reproduce the published shift enigma, offset jumpy, speed reserved and size pinch; the fifth table key J=21, which corresponds to no published trait",
        "Token 182000181 live palette: rgba(0,168,81), rgba(165,0,168) and rgba(168,0,3) over rgba(251,253,252) with a hard-light blend, being hues 149, 299 and 359, which is the published baseHue 149 with the split-complement offsets of plus and minus 150 applied",
        "Token 182000181 controls: digits dispatched as keypress events in the order 3, 2, 4, 1 set the resolution scale to 0.5, 0.75, 0.25 and 1 and resized the canvas to 662x910, 993x1365, 331x455 and 1324x1820 device pixels respectively",
        "Token 182000037 live palette: rgba(255,255,255) and rgba(119,119,119) over rgba(0,0,0) with a screen blend, identifying the fourth program branch; strided census returned 0 of 24,843 sampled pixels with a channel spread above 12",
        "Token 182000037 and token 182000161: the stroke-weight global read literally undefined in the running instance and the canvas context line width read 1, while the coloured tokens carried a defined stroke-weight global of 0.0025",
        "Token 182000161 live palette read identically to token 182000037, establishing that both ghost tokens in the edition are the same branch and that the black-on-white branch was never drawn",
        "Token 182000008 live palette: rgba(0,56,168), rgba(168,0,56) and rgba(56,168,0) over a near-white ground, being hues 220, 340 and 100, which is the published baseHue 220 with triad offsets applied",
        "Audio status: document.querySelectorAll('audio,video') returned 0 and p5.SoundFile is undefined in the running instance",
        "Canonical token page checks by fetch from the artblocks.io origin: 182000181, 182000037, 182000161 and 182000008 each returned HTTP 200 with a final URL of the form https://www.artblocks.io/token/1/<contract>/<tokenId>",
        "Artist website of record: navigation to https://lasteven.xyz/ from the browser pane failed to reach the host on two attempts at 2026-09-18T22:03Z, and the domain had already been allowed for this session, so the failure is the host rather than an access restriction"
      ]
    },
    {
      "id": "S07",
      "author": "Processing Foundation",
      "title": "p5.js reference: strokeWeight",
      "url": "https://p5js.org/reference/p5/strokeWeight/",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "Reference page for the p5 function whose argument the two greyscale palette branches leave undefined. Rendered in the browser pane and read for the documented behaviour. The library's own licence terms were not established from this page.",
      "evidenceLocators": [
        "Reference text: 'Sets the width of the stroke used for points, lines, and the outlines of shapes.'",
        "Reference text: 'In 2D mode, strokeWeight() is affected by transformations, especially calls to scale().'",
        "The page documents the intended use but not the behaviour on a non-numeric argument, which was established instead by reading the running instance on two tokens"
      ]
    },
    {
      "id": "S08",
      "author": "Creative Commons",
      "title": "Deed: Attribution 4.0 International",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "publicationDate": null,
      "accessedAt": "2026-09-18",
      "accessOutcome": "inspected",
      "inspectionScope": "The canonical deed for the current version of the Attribution licence family, read in full in the browser pane. Consulted because the project record names the family without a version; this package does not assert that 4.0 is the version meant. The full legal code behind the deed was not opened.",
      "evidenceLocators": [
        "Deed heading: 'Attribution 4.0 International', canonical URL https://creativecommons.org/licenses/by/4.0/",
        "You are free to: 'Share — copy and redistribute the material in any medium or format for any purpose, even commercially' and 'Adapt — remix, transform, and build upon the material for any purpose, even commercially'",
        "Under the following terms: Attribution only, plus 'No additional restrictions'",
        "Notices: 'No warranties are given. The license may not give you all of the permissions necessary for your intended use.'",
        "The deed is version-specific; the project record's bare 'CC BY' does not select between versions 1.0, 2.0, 2.5, 3.0 and 4.0 or between unported and ported forms"
      ]
    }
  ]
}
