{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 229,
    "slug": "attraction-by-jos-vromans",
    "title": "Attraction",
    "artistCredit": "Jos Vromans",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "minted-count",
      "topic": "mint",
      "value": 444,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Current index invocations, equal to maximum on this completed project."
    },
    {
      "id": "max-invocations",
      "topic": "mint",
      "value": 444,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "first-mint",
      "topic": "mint",
      "value": "2021-12-08T21:07:49+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "reported"
    },
    {
      "id": "activated-at",
      "topic": "mint",
      "value": "2021-12-10T02:12:54+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "start-datetime",
      "topic": "mint",
      "value": "2021-12-17T20:00:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "completed-at",
      "topic": "mint",
      "value": "2022-01-12T11:34:39+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported"
    },
    {
      "id": "license-label",
      "topic": "rights",
      "value": "CC BY-NC 4.0",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S06"
      ],
      "status": "reported"
    },
    {
      "id": "script-type",
      "topic": "construction",
      "value": "js@na",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified"
    },
    {
      "id": "historic-unit-price-eth",
      "topic": "mint",
      "value": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S01",
        "S02"
      ],
      "status": "unknown",
      "note": "No contemporaneous primary price table recovered this session."
    }
  ],
  "rights": {
    "artwork": {
      "reportedLabel": "CC BY-NC 4.0",
      "category": "creative-commons",
      "termsUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "observedAt": "2026-09-18",
      "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-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "note": "No separate artist-code licence field was present on the project record.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "name": "browser JavaScript (no declared library version)",
        "reportedLabel": "not declared on the project record",
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S03"
        ],
        "note": "Runtime declared js@na. No p5 or three version string is attached to the indexed project record.",
        "unresolvedConflicts": []
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Attraction builds complex surfaces by placing pixels individually. Jos Vromans uses rules inspired by the Chaos Game, sometimes displaced through trigonometric functions, to make repeated arcs and textured concentrations. Dense marks can suggest a continuous stroke even though the process accumulates points. The indexed edition contains 444 works and is project 229. [^S01][^S02]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The artist’s account assigns palette, object placement and drawing rules to the token hash. Familiar mathematical patterns can emerge from these choices. The visible result depends on repeated application of a rule, rather than on a pre-drawn image being selected from a store of assets. [^S01][^S07]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The submitted script inspection identifies the runtime as js@na. Its account of the seed is: Hash sets layout, switch, item count, palette and displacement types. These token-specific choices establish the parameters from which the drawing is generated. The code digest and retrieval locator remain in the research record. [^S03]\n\nThe submitted JavaScript inspection identifies a two-dimensional canvas and requestAnimationFrame accumulation. Rules place successive pixels; trigonometric displacement can bend the emerging distribution into waves. The hash selects layout, palette and rule variants before the marks accumulate. A late preview can therefore resemble a continuous line even though the drawing operation works point by point. A still does not determine whether accumulation has finished at the moment of capture. [^S01][^S02][^S03]\n\nThe comparison below uses static previews. Live rendering is linked separately; animation timing and undocumented controls are not inferred from these images. [^S09][^S10]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The supplied Art Blocks index records 444 minted works against a maximum of 444. Its first-token field gives 8 December 2021; activation is dated 10 December 2021; the scheduled-start field gives 17 December 2021; and completion is dated 12 January 2022. Full timestamps are retained in the evidence record. These fields describe different events and should not be collapsed into a single launch date. [^S02][^S04]\n\nAn earlier first mint does not establish a reserved or artist allocation. The supplied research does not classify those transactions or independently recover the original public unit price. No exact public sellout duration is asserted from the interval between index fields. [^S01][^S02]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The supplied project record reports the artwork licence as CC BY-NC 4.0. The linked terms should be read for their particular conditions; this artwork label is kept separate from rights in the artist’s program and its dependencies. The package does not establish a full history of earlier terms. [^S02][^S06]\n\nNo separate artist-code grant was established in the submitted record. The declared runtime, js@na, is another rights object and its licence does not automatically license the artwork or artist program. Original essay prose is dedicated to CC0; that dedication does not extend to the work discussed. [^S03][^S06]"
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "The comparison uses editions 0, 1, 10 and 20, identified by their canonical token links. These form a small early-edition sample, not a statistical description of the whole series. [^S04][^S05]\n\nIn #0, blue-grey arcs sweep across much of a pale field. Fine irregular marks gather around their edges. The broad repetition is immediately clear, but following any one arc reveals a more fragmented surface. [^S09]\n\nIn #1, a compact multicoloured arch occupies the middle of a mostly empty field. Curving tracks overlap until they become a rough band. The open margins make its outer contour more important than in #0. [^S09]\n\nIn #10, a rank of rising curves progresses across the centre. Darker strokes and warm accents give the curves distinct leading edges. Their repeated sweep links them, while texture prevents exact visual repetition. [^S09]\n\nIn #20, pink and grey marks form a diffuse rectangular band. Diagonal repetitions are present but less cleanly separated than the arcs of #10. The image hovers between a set of paths and a continuous patterned surface. [^S09]\n\nThe supplied AB5D holding record identifies edition 251 as the collection example used above. Ownership evidence is recorded separately from the four-output comparison. [^S08]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Attraction makes a small-scale operation visible through its large-scale consequences. The viewer can recognise a broad gesture while also noticing the scattered marks that deny it the unity of a single brushstroke. [^S09]\n\nThe remaining research questions concern the original public price and allocations, earlier rights terms, and any procedural or live-behaviour details not established above. The supplied script digest identifies an indexed retrieval; it is not a pinned-block chain verification. These limits are retained in the research record."
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "In #0, blue-grey arcs sweep across much of a pale field. Fine irregular marks gather around their edges. The broad repetition is immediately clear, but following any one arc reveals a more fragmented surface."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "In #1, a compact multicoloured arch occupies the middle of a mostly empty field. Curving tracks overlap until they become a rough band. The open margins make its outer contour more important than in #0."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "In #10, a rank of rising curves progresses across the centre. Darker strokes and warm accents give the curves distinct leading edges. Their repeated sweep links them, while texture prevents exact visual repetition."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "In #20, pink and grey marks form a diffuse rectangular band. Diagonal repetitions are present but less cleanly separated than the arcs of #10. The image hovers between a set of paths and a continuous patterned surface."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Grok research session for coordinator handoff",
    "agent": "Grok",
    "model": "Grok 4.6; editorial completion by GPT-6 Astra",
    "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",
    "editorialRevision": {
      "model": "GPT-6 Astra",
      "scope": "Bounded completion from supplied research and official preview comparison; no fresh comprehensive source audit."
    },
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "Grok 4.6; editorial completion by GPT-6 Astra",
      "displayName": "Grok 4.6; edited by GPT-6 Astra",
      "scope": "Grok round 004 research with bounded GPT-6 Astra editorial completion",
      "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; editorial completion by GPT-6 Astra",
        "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.",
        "originalModel": "Grok 4.6",
        "editorialTokens": null,
        "editorialUsageNote": "No isolated per-essay telemetry; do not substitute whole-thread cumulative usage."
      },
      "importReview": "Bounded editorial completion of earlier drafts at user direction; official preview comparisons and existing research reused."
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "projects_metadata.script where slug=_eq attraction-by-jos-vromans",
    "sha256": "4f164fb5120b2f37ee49ba0c8f1afac3658c8a0b50dca7babd6765c4d1c2097b",
    "retrievedAt": "2026-09-18T08:20:00+00:00",
    "method": "graphql-post-full-script-read",
    "executed": false,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "status": "approved",
      "note": "Bounded editorial completion requested by user on 2026-09-20. Repetitive padding removed; concise treatment retains all seven sections and explicit evidence limits.",
      "kind": "concise-completion"
    }
  ],
  "presentation": {
    "editionSize": 444,
    "maximumEdition": 444,
    "mintDate": "2021-12-08T21:07:49+00:00",
    "mintDateMeaning": "first indexed mint",
    "mintDateLabel": "First mint",
    "artwork": {
      "project_id": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270-229",
      "token_id": "229000251",
      "invocation": 251,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "preview_asset_url": "https://media-proxy.artblocks.io/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251.png",
      "live_view_url": "/series/attraction-by-jos-vromans/artwork.html",
      "canonicalLiveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251",
      "mode": "live",
      "aspectRatio": 1,
      "interactionNote": "",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/",
      "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": "229000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000000",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 0.",
      "observationNote": "In #0, blue-grey arcs sweep across much of a pale field. Fine irregular marks gather around their edges. The broad repetition is immediately clear, but following any one arc reveals a more fragmented surface.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000001",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000001",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 1.",
      "observationNote": "In #1, a compact multicoloured arch occupies the middle of a mostly empty field. Curving tracks overlap until they become a rough band. The open margins make its outer contour more important than in #0.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000001.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000001"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000010",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000010",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 10.",
      "observationNote": "In #10, a rank of rising curves progresses across the centre. Darker strokes and warm accents give the curves distinct leading edges. Their repeated sweep links them, while texture prevents exact visual repetition.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000010.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000010"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "229000020",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000020",
      "sourceIds": [
        "S04",
        "S05",
        "S09"
      ],
      "selectionNote": "Specified candidate invocation 20.",
      "observationNote": "In #20, pink and grey marks form a diffuse rectangular band. Diagonal repetitions are present but less cleanly separated than the arcs of #10. The image hovers between a set of paths and a continuous patterned surface.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000020.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000020"
    },
    {
      "tokenId": "229000251",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251.png",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/229000251"
    }
  ],
  "publication": {
    "date": "2026-09-20",
    "url": "https://ab5d.xyz/series/attraction-by-jos-vromans/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/attraction-by-jos-vromans/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
