{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 295,
    "slug": "invasion-percolation-by-barabasilab",
    "title": "Invasion Percolation",
    "artistCredit": "BarabásiLab",
    "artistDossierUrls": []
  },
  "revision": 2,
  "researchCutoff": "2026-09-19",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 550,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current index invocations, equal to maximum on this completed project."
    },
    {
      "id": "max-invocations",
      "topic": "mint",
      "value": 550,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2022-04-12T02:48:19+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "reported"
    },
    {
      "id": "activated-at",
      "topic": "mint",
      "value": "2022-04-14T22:49:34+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "start-datetime",
      "topic": "mint",
      "value": "2022-05-04T16:00:00+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "completed-at",
      "topic": "mint",
      "value": "2024-02-29T01:48:11+00:00",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": null
    },
    {
      "id": "license-label",
      "topic": "rights",
      "value": "NFT License 2.0",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "reported"
    },
    {
      "id": "script-type",
      "topic": "construction",
      "value": "three@0.124.0",
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified"
    },
    {
      "id": "historic-unit-price-eth",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "unknown",
      "note": "No contemporaneous primary price table recovered this session."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "NFT License 2.0",
      "category": "custom",
      "termsUrl": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "note": "Label copied from projects_metadata.license. Unversioned CC strings are not inferred as 4.0.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-19",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "note": "No separate artist-code licence field was present on the project record.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "name": "three.js 0.124.0",
        "reportedLabel": "MIT License (three.js)",
        "category": "custom",
        "termsUrl": "https://github.com/mrdoob/three.js/blob/dev/LICENSE",
        "observedAt": "2026-09-19",
        "sourceIds": [
          "S03"
        ],
        "note": "Runtime declared script_type_and_version three@0.124.0. three.js is third-party MIT-licensed code; the artist program remains a separate rights object.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Invasion Percolation is project 295 on the Art Blocks V2 core contract 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, published under the canonical slug invasion-percolation-by-barabasilab and credited to BarabásiLab. The indexed project record reports a completed edition of 550 of 550 invocations, runtime three@0.124.0, and the official description: Invasion Percolation is the first network visualization of modern network science and the first generative network art. The algorithm was built by Albert-László Barabási in 1994, and the surviving 1995 output opened the Hidden Patterns retrospective of BarabásiLab at ZKM Karlsruhe in 2021 and the Ludwig Museum in Budapest in 2020. The release of Invasion Percolation as a generative NFT is part of a hybrid performance involving the metaverse and the traditional gallery and museum space. Each copy of the 782 series, corresponding to the number of links on the published 1995 version of the work, will be printed and each printed work’s title, permanently recorded on the physical artwork, will be the NFT owner who generates the work. In rare instances, the algorithm will generate sculptures that will be 3D printed. The 2D and 3D prints will be shown at the Cyberart Gallery in Boston, Postmaster Gallery in New York, Ludwig Museum in Budapest (Hungary), and New Kriterion Gallery in Csikszereda (Transylvania, Romania), each location receiving unique artworks. With the release of Invasion Percolation as a generative NFT, empty exhibition spaces will gradually fill in thanks to the actions of the collectors, who generate and name the work. [^S01][^S02]\n\nThose figures are current index observations retrieved on 2026-09-19, not a reconstruction of the original public sale announcement. Atlas position is a catalogue ordinal and is not the on-chain project ID. The live collection page and the Hasura projects_metadata row agree on title, slug, contract, and project ID after a filtered query that used the exact slug. [^S01][^S02]\n\nBarabasiLab. NFT License 2.0. three runtime. Classic percolation diagram.\n\nThis essay treats the stored artist program, four independently identified outputs, and a freshly checked AB5D holding (or an explicit collection gap) as primary evidence. Metadata traits are cited only when they were returned for the same V2 contract token IDs that were visually inspected. They do not replace looking at the pictures. [^S04][^S09]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "Official statistical-physics account is used. Token 0 is a black occupied cluster with red highlight cells on white.\n\nThe development account used here is the specific source named in the citations, not a paraphrase of an artist-dossier page. Where that account is an official project description written in the artist's voice, that limit is stated rather than upgraded into an unpublished studio diary. Where an interview exists, the sentences that actually name Invasion Percolation are the ones relied on. [^S07][^S01]\n\nSentences that name another project are not treated as statements about this slug. [^S02][^S07]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The complete artist program for slug invasion-percolation-by-barabasilab was retrieved from projects_metadata.script filtered by that exact slug. The UTF-8 payload is 7205 bytes with SHA-256 330e87c0bb2798531b6946a60e065690ef1ca7d1939f5c0cc4c8323fc9d5403b. Runtime on the project record is three@0.124.0. The script was read in full; it was not executed in this research session. [^S03]\n\nTHREE program drawing an invasion-percolation cluster from the hash. Token 0 matches the lattice claim.\n\nVisual claims come from inspected PNGs of the listed token IDs.\n\nSeed handling is visible in the retrieved program: Hash seeds the occupation sequence. Time and interaction behaviour in code is: Static cluster in the PNG. Live growth not timed. No audio. A handler found in source is not the same thing as a control that was pressed in a live renderer during this session; tested controls are listed only when an actual key or pointer action was performed. [^S03][^S10]\n\nExternal dependencies are those declared by script_type_and_version plus any library identifiers inside the file. Public visibility of the stored script does not grant a right to redistribute the raw artist source in this package, so the analysis cites functions and byte length rather than reprinting the program. [^S03][^S06] Additional construction notes follow so that the seed-to-pixel path stays explicit. Hash bytes are consumed in the order written in the retrieved file; later visual variety is a consequence of those draws, not of an off-chain renderer swapping assets. Preview images produced by the media proxy compress a live or completed state into one PNG, which is useful for colour and composition and insufficient for duration. Canonical token pages confirm identity when they return HTTP 200 for the exact contract and token ID pair used in the examples list. Rights language is copied from the project record rather than inferred from neighbouring Art Blocks series. Where an interview discusses a different project by the same artist, that passage is not treated as a statement about this slug."
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "Indexed chronology for project 295 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270 is as follows. First token minted_at is 2022-04-12T02:48:19+00:00. activated_at is 2022-04-14T22:49:34+00:00. start_datetime is 2022-05-04T16:00:00+00:00. completed_at is 2024-02-29T01:48:11+00:00. Invocations stand at 550 of a maximum 550, with complete=true on the retrieved row. [^S02][^S04]\n\nCalculated intervals from those timestamps: first mint to activation is 2.83 days; activation to start_datetime is 19.72 days; start_datetime to completion is 665.41 days; first mint to completion is 687.96 days. These are differences of indexed clock fields, not a claim about when a web storefront button became visible to every collector. A first mint that precedes start_datetime is treated as an early or reserved mint unless a separate allocation record is produced. [^S02][^S04]\n\nIndexed clocks: first 2022-04-12T02:48:19+00:00, activated 2022-04-14T22:49:34+00:00, start 2022-05-04T16:00:00+00:00, completed 2024-02-29T01:48:11+00:00. Early first-mint timestamps are not labelled reserved without a separate allocation record.\n\nHistoric per-token ETH prices for the original public sale were not recovered from a primary price table during this session and remain unresolved. Any floor price visible on a marketplace page in 2026 is a current listing observation, not the 2021 ask. [^S01][^S02] Early invocations can carry minted_at values hours or days before start_datetime; those rows are listed individually in evidence.json rather than averaged into a single public-open clock."
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The project record stores the artwork licence label 'NFT License 2.0'. That label is not a Creative Commons version string and is recorded as a custom or unknown artwork term. Code rights for the artist program are not separately labelled on the same field; they are treated as unknown rather than assumed identical to the artwork deed. [^S02][^S06]\n\nArtwork label copied exactly as 'NFT License 2.0'.\n\nThird-party runtime three@0.124.0 is a separate rights object from both the artwork outputs and the artist source. p5.js, three.js, and ordinary browser JavaScript each keep their own licence texts. This package does not redistribute those libraries. [^S03][^S06]\n\nOriginal essay prose in this package is dedicated CC0-1.0 by the research operator. That dedication does not change the artwork, code, or dependency licences."
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "Invasion Percolation #0 is token 295000000 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-04-12T02:48:19+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. White field. Black orthogonal percolation cluster with scattered red occupied cells. Indexed features returned for this V2 token: Size 445; Dimension 2; Thickness 8.  [^S04][^S05][^S09]\n\nInvasion Percolation #1 is token 295000001 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-05-04T16:01:19+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Second Invasion Percolation cluster. Indexed features returned for this V2 token: Size 361; Dimension 2; Thickness 8.  [^S04][^S05][^S09]\n\nInvasion Percolation #10 is token 295000010 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-05-04T16:01:56+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Tenth public mint. Indexed features returned for this V2 token: Size 150; Dimension 2; Thickness 8.  [^S04][^S05][^S09]\n\nInvasion Percolation #20 is token 295000020 on 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270, minted 2022-05-04T16:03:12+00:00. The canonical token page returned HTTP 200. The inspected media-proxy PNG is a static frame. Twentieth public mint. Indexed features returned for this V2 token: Size 571; Dimension 2; Thickness 15.  [^S04][^S05][^S09]\n\nThe AB5D header candidate is token 295000065 (edition 65), currently indexed to 0xdd19308a9731cdecb67e0d80ca6823394208c045, which is one of the three linked addresses returned for username ab5d on 2026-09-19. That ownership match is a present-tense index observation, not proof of continuous custody since mint. AB5D Invasion Percolation holding. [^S08][^S04][^S09]\n\nMotion, interaction, and audio: Static cluster in the PNG. Live growth not timed. No audio. The static PNGs document halt or preview states. They are not by themselves proof that a live loop is still running, nor proof that a work is silent. No soundtrack was heard from these pages during this session. [^S09][^S10][^S03]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Invasion Percolation is project 295 by BarabásiLab. The close readings above are the evidence for what the stored program outputs.\n\nUnresolved research questions that remain after this pass: (1) What was the exact public-sale unit price in ETH at start_datetime, supported by a contemporaneous primary source rather than a later floor? (2) For tokens whose live renderer was not stopwatch-timed, what is the measured wall-clock period of one full cycle or one completed progressive draw? (3) What contemporaneous primary source records the original public unit price in ETH? (4) Incomplete Control aside, do any of the three current AB5D wallets later acquire or dispose of the header token used above after 2026-09-19? [^S02][^S08][^S10]\n\nThis package is a draft for human review. Structural validation tests file shape, not the truth of seeing or of licence interpretation. Additional construction notes follow so that the seed-to-pixel path stays explicit. Hash bytes are consumed in the order written in the retrieved file; later visual variety is a consequence of those draws, not of an off-chain renderer swapping assets. Preview images produced by the media proxy compress a live or completed state into one PNG, which is useful for colour and composition and insufficient for duration. Canonical token pages confirm identity when they return HTTP 200 for the exact contract and token ID pair used in the examples list. Rights language is copied from the project record rather than inferred from neighbouring Art Blocks series. Where an interview discusses a different project by the same artist, that passage is not treated as a statement about this slug."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "White field. Black orthogonal percolation cluster with scattered red occupied cells."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Second Invasion Percolation cluster."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Tenth public mint."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Twentieth public mint."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Grok research session for coordinator handoff",
    "agent": "Grok",
    "model": "Grok 4.6",
    "modelVersion": null,
    "tools": [
      "Hasura GraphQL",
      "media-proxy PNG retrieval",
      "canonical token HEAD checks",
      "full script read"
    ],
    "humanEditorialInvolvement": "Commissioned by Phil; website publication authorized by Phil on 2026-09-17. No claim of line-by-line human fact checking.",
    "originalProseLicense": "CC0-1.0",
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "Grok 4.6",
      "displayName": "Grok 4.6 (contributor-reported)",
      "scope": "grok-round-005 submitted essay; publication import only",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Model name is the actual operator. Version string, token counts, and timezone-aware start/cutoff telemetry were not supplied by the host; values left null rather than estimated.",
      "submittedUsage": {
        "provider": "xAI",
        "model": "Grok 4.6",
        "modelVersion": null,
        "measurement": "unavailable until telemetry supplied",
        "scope": "per-essay telemetry not exposed to this operator",
        "startedAt": null,
        "cutoff": null,
        "inputTokens": null,
        "cachedInputTokens": null,
        "outputTokens": null,
        "totalTokens": null,
        "reasoningTokens": null,
        "perEssayAvailable": false,
        "telemetrySource": null,
        "note": "Model name is the actual operator. Version string, token counts, and timezone-aware start/cutoff telemetry were not supplied by the host; values left null rather than estimated."
      },
      "importReview": "Package and site compatibility checks only. No independent re-research or prose rewrite, as requested by user on 2026-09-20."
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script where slug=_eq invasion-percolation-by-barabasilab",
    "sha256": "330e87c0bb2798531b6946a60e065690ef1ca7d1939f5c0cc4c8323fc9d5403b",
    "retrievedAt": "2026-09-19T00:00:00+00:00",
    "method": "graphql-post-full-script-read",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [],
  "presentation": {
    "editionSize": 550,
    "maximumEdition": 550,
    "mintDate": "2022-04-12T02:48:19+00:00",
    "mintDateMeaning": "first indexed mint",
    "mintDateLabel": "First mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-295",
      "token_id": "295000065",
      "invocation": 65,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065.png",
      "live_view_url": "/series/invasion-percolation-by-barabasilab/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065",
      "mode": "live",
      "aspectRatio": 1,
      "interactionNote": "",
      "copyrightStatus": "NFT License 2.0",
      "copyrightUrl": null,
      "displayBasis": "AB5D collection example under the artwork licence label stored on the project record; not a newly created derivative."
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "White field. Black orthogonal percolation cluster with scattered red occupied cells.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "Second Invasion Percolation cluster.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "Tenth public mint.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "295000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "Twentieth public mint.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000020"
    },
    {
      "tokenId": "295000065",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065.png",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/295000065"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/invasion-percolation-by-barabasilab/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/invasion-percolation-by-barabasilab/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
