{
  "schema": "ab5d-series-essay/1",
  "identity": {
    "chainId": 1,
    "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
    "projectId": 86,
    "slug": "stroming-by-bart-simons",
    "title": "Stroming",
    "artistCredit": "Bart Simons",
    "artistDossierUrls": [
      "https://ab5d.xyz/artists/bart-simons/"
    ]
  },
  "revision": 2,
  "researchCutoff": "2026-09-18",
  "status": "published-with-research-limitations",
  "facts": [
    {
      "id": "edition-size",
      "topic": "work-context",
      "value": 256,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "Indexed invocations 256 against max_invocations 256; page states a fixed edition of 256."
    },
    {
      "id": "project-id",
      "topic": "work-context",
      "value": 86,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "On-chain project id. The AB5D atlas position for this series is also 86, which is a coincidence."
    },
    {
      "id": "script-bytes",
      "topic": "construction",
      "value": 6820,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Single script fragment."
    },
    {
      "id": "static-render",
      "topic": "examples",
      "value": "static; the animation loop is disabled in the first statement of setup",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S05"
      ],
      "status": "verified",
      "note": "noLoop inspected; two coordinator screenshots of #80 unchanged. Submitted pixel-signature experiment not independently repeated."
    },
    {
      "id": "index-flag-wrong",
      "topic": "work-context",
      "value": "Submitted display_static=false observation; field semantics not independently established",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S05",
        "S01"
      ],
      "status": "reported",
      "note": "Do not infer animation solely from this field."
    },
    {
      "id": "scene-library",
      "topic": "construction",
      "value": "16 selection slots containing 14 distinct routines",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "verified",
      "note": "grO occurs three times; no feature-extractor implementation inspected."
    },
    {
      "id": "tenprint-reference",
      "topic": "construction",
      "value": "10PRINT scene label suggests a reference",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "inferred",
      "note": "Artist intention and any reuse grant not established."
    },
    {
      "id": "palette-rule",
      "topic": "construction",
      "value": "the first two colours of the chosen palette are always ground and underlay",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S07"
      ],
      "status": "verified",
      "note": "Eligible palettes reverse before extraction; first two entries are ground and geometry, remainder streams. No universal harmony claim."
    },
    {
      "id": "base-fifteen-seed",
      "topic": "construction",
      "value": "the random seed slice is parsed in base fifteen",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Base15 parser stops at f; leading f returns NaN. Non-f digits still use base15 place values. Exact downstream dependency behaviour not independently reconstructed."
    },
    {
      "id": "flow-field",
      "topic": "construction",
      "value": "180 by 180 Perlin noise angle grid with hash-derived minimum and maximum angles",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S04"
      ],
      "status": "verified",
      "note": "Angular grid inspected; Wildness feature extractor not located."
    },
    {
      "id": "view-distribution",
      "topic": "examples",
      "value": "Single Scene 249, Split Scene 5, Quad Scene 2",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S04",
        "S02"
      ],
      "status": "verified",
      "note": "The code bands producing split and quad views are 6 and 3 hash values wide out of 256, giving expected counts of about six and three. The two Quad Scene tokens are invocations 249 and 254."
    },
    {
      "id": "stream-shapes",
      "topic": "examples",
      "value": "Rectangles 185, Circles 71",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S04",
        "S07"
      ],
      "status": "verified",
      "note": "Rectangles rotated to the field angle read as brushstrokes; circles read as beads on a thread."
    },
    {
      "id": "dutch-naming",
      "topic": "work-context",
      "value": "all sixteen palette names are Dutch",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S04"
      ],
      "status": "verified",
      "note": "The names are not in the retrieved script, which holds unlabelled colour arrays, so they come from a trait extractor that was not located."
    },
    {
      "id": "first-token-minted",
      "topic": "mint",
      "value": "2021-06-11T13:36:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "Six days before activation, consistent with a proof, and still held by the artist address. Calendar date 11 June 2021 in UTC."
    },
    {
      "id": "activated",
      "topic": "mint",
      "value": "2021-06-17T15:54:17+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Recorded activation date; interval before next mint does not establish availability of public purchasing."
    },
    {
      "id": "second-token-minted",
      "topic": "mint",
      "value": "2021-06-20T19:06:00+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S03"
      ],
      "status": "verified",
      "note": "start_datetime carries the same value. This timestamp is what the project page renders as 21 June 2021 in a UTC+10 browser; in UTC it is 20 June."
    },
    {
      "id": "completed",
      "topic": "mint",
      "value": "2021-06-20T19:49:08+00:00",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "verified",
      "note": "Calendar date 20 June 2021 in UTC."
    },
    {
      "id": "second-to-complete-interval",
      "topic": "mint",
      "value": "43 minutes 8 seconds",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "inferred",
      "note": "Arithmetic on the two indexed timestamps, covering invocations 1 through 255. Not a verified public sellout time."
    },
    {
      "id": "current-price",
      "topic": "mint",
      "value": "85000000000000000 wei (0.085 ETH)",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02"
      ],
      "status": "reported",
      "note": "Currently configured price on a completed project. Not proof of the price paid at mint."
    },
    {
      "id": "audio",
      "topic": "examples",
      "value": "No mechanism found in script; not auditioned",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S05",
        "S02"
      ],
      "status": "verified",
      "note": "No independent audio audition."
    },
    {
      "id": "interaction",
      "topic": "examples",
      "value": "none",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "status": "verified",
      "note": "The script registers no event listeners and the page documents no controls."
    },
    {
      "id": "artist-record-gap",
      "topic": "conception",
      "value": "Artist project page located; detailed development chronology not recovered",
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S14"
      ],
      "status": "reported",
      "note": "Corrects submitted claim that no artist website exists."
    }
  ],
  "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",
        "S12"
      ],
      "note": "Current reported CC BY-NC 4.0 label; standard deed identified independently despite null index link. Historical revisions not recovered.",
      "unresolvedConflicts": []
    },
    "code": {
      "reportedLabel": null,
      "category": "unknown",
      "termsUrl": null,
      "observedAt": "2026-09-18",
      "sourceIds": [
        "S02",
        "S01"
      ],
      "note": "No licence statement accompanies the artist script. Fully on-chain storage establishes readability, not redistribution rights.",
      "unresolvedConflicts": []
    },
    "thirdParty": [
      {
        "component": "p5.js",
        "reportedLabel": "LGPL-2.1",
        "category": "custom",
        "termsUrl": "https://raw.githubusercontent.com/processing/p5.js/1.0.0/license.txt",
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S13"
        ],
        "note": "Upstream p5.js 1.0.0 licence title and opening text inspected; separate from artist-code rights."
      },
      {
        "component": "10PRINT algorithm",
        "reportedLabel": null,
        "category": "unknown",
        "termsUrl": null,
        "observedAt": "2026-09-18",
        "sourceIds": [
          "S02",
          "S04"
        ],
        "note": "10PRINT trait name suggests a reference; no specific reuse grant or public-domain dedication established."
      }
    ]
  },
  "sections": [
    {
      "id": "work-context",
      "heading": "The work and its context",
      "bodyMarkdown": "Stroming sets curved sequences of coloured marks against circles, grids and other geometric forms. Some marks appear to cross the geometry; others disappear behind it. In the four outputs examined here, this alternation makes a static picture suggest directional movement without requiring the image itself to animate. The relationships between ground, geometry and stream are more consequential than any one motif in isolation. [^S05][^S07]\n\nBart Simons released the 256-work project through Art Blocks Factory in June 2021. It is project 86 on its Ethereum contract, and the current index records 256 invocations against a maximum of 256. The artist's own project page also identifies the edition size and month. These records establish the series around which the following code and visual analysis is organised. [^S01][^S02][^S14]\n\nSimons describes a system in which hash-derived attributes vary scene, colour and other properties. The inspected program makes those decisions concrete through a scene-selection array, literal palettes and a field of angles that guides repeated marks. The normal rendering path calls noLoop; the inspected #80 also remained visibly unchanged between two observations. [^S14][^S02][^S05]"
    },
    {
      "id": "conception",
      "heading": "Conception and development",
      "bodyMarkdown": "The artist's own Stroming page supplies a concise description of colourful streams arranged around geometric shapes and identifies the work as a June 2021 Art Blocks edition. It also provides a numbered gallery of the mints. The inspected description does not, however, supply a detailed chronology of experiments, revisions or influences. [^S14]\n\nThe program offers evidence of design decisions without standing in for such a development account. Its scene-selection array repeats one grid routine while retaining several other geometric arrangements. This lets a related drawing mechanism encounter different structures: a circular centre, a divided grid or a set of diagonals can direct attention differently even before coloured marks are added. The repetition in the selection array also means that the number of slots is not the number of distinct routines. [^S02]\n\nColour is constrained across the whole picture. After an optional reversal, two palette entries determine ground and geometry, while the remaining entries supply the streams. That is a rule joining different visual roles rather than a series of unrelated colour choices. Its aesthetic consequences can be assessed in individual works without claiming that the artist intended a particular emotional response. [^S02]\n\nThe token metadata includes a scene named 10PRINT. That name suggests a reference, but this review recovered no artist explanation of the name or the lineage it might imply. Similarly, the palette names are not present in the literal colour arrays of the inspected program. They can identify recorded traits without being treated as evidence of an otherwise undocumented development story. [^S04][^S02]"
    },
    {
      "id": "construction",
      "heading": "How the work was constructed",
      "bodyMarkdown": "The inspected program combines a geometric scene with trails of repeated marks. Its sixteen-entry scene-selection array contains fourteen distinct routines: the grid routine occupies three entries. Counting entries as sixteen different algorithms would overstate the library. The routines include rings, nested squares, grids, arcs, bars and a diagonal pattern, as well as a stream-only arrangement. Their differences provide compositional structures against which the flowing marks can be read. [^S02]\n\nThe token hash supplies both direct parameters and seeds. Thirty-two hexadecimal byte values determine such properties as scene selection, palette, padding, mark shape, stream count, step length and angular range. Separately, the noise seed parses the first sixteen characters of the full hash string, including its initial 0x. That means fourteen hexadecimal digits follow the prefix, rather than sixteen. A second slice, characters at indices sixteen through thirty, is parsed in base fifteen for the random seed. [^S02]\n\nThe base-fifteen expression deserves particular care in any reconstruction. A hexadecimal f is not a valid base-fifteen digit, so parsing stops there. If it is the first character in the slice, the result is NaN rather than a numeric prefix. If there is no f, the remaining digits are still interpreted with base-fifteen place values. This is an observed property of the expression, not evidence of the artist's intention. Its downstream effect must be checked against the exact p5 implementation rather than assumed from a different random generator. [^S02]\n\nSixteen literal palettes contain between five and seven HSB colours. For eligible palettes, an inversion condition reverses their order before the first two colours become background and geometric colour. Those entries are then removed from the pool available to streams. The rule relates ground, geometry and marks without guaranteeing that every resulting image will seem harmonious. Palette names in token metadata are a descriptive layer; they do not appear in these colour arrays. [^S02][^S04]\n\nThe flow field stores 180 by 180 angles. Perlin noise sampled at each grid position is mapped between two hash-derived angular limits. A wider range can make nearby sampled values point in more varied directions, but a label such as Wildest belongs to the feature record and should not be treated as a separately inspected feature-extraction algorithm. Grid lookup also depends on viewport-derived quantities, so the rendering dimensions matter when studying exact reproduction. [^S02]\n\nEach stream begins at a pseudorandom position within a padded region and chooses one available colour. Successive marks use the field angle at the current point, then the point advances by a hash-derived step length. Hue and saturation increase with the step index while brightness decreases. Rectangles rotate with the field; circles make direction legible through their succession. These mechanisms can produce a ribbon-like sequence without drawing one continuous path. [^S02]\n\nMark size uses an absolute-value expression involving the step index. It can decrease toward a minimum and then increase; the program does not prescribe a simple progression from thin to thick at every step. Rectangles retain a fixed width while their height changes, and circles vary in diameter. The visible outline consequently depends on mark overlap, field direction and size variation together. [^S02]\n\nMany scene routines interleave geometric marks with stream calls, giving later elements opportunities to cover earlier ones. The stream-only routine is an exception to the idea that every scene has an underlay. The split and quad branches also alter the available scene list before selecting multiple scenes. Under a uniformly distributed first byte, their conditions cover six and three values respectively out of 256. These are conditional input ranges, not a promise of six split and three quad outputs in a particular minted edition. [^S02]\n\nThe texture sequence contains an easily missed discarded intermediate result. The program builds a first graphics buffer and copies it into another, but then replaces the destination with a new graphics object. That replacement receives a second noise-based texture, and only this final texture is drawn onto the artwork in multiply mode. The earlier work can still advance the seeded random sequence, so it cannot simply be deleted from a reconstruction without checking the consequences. It is inaccurate to describe two visible texture layers being applied to the finished canvas. [^S02]\n\nThe setup routine calls noLoop, and the drawing routine constructs the image once under normal p5 operation. No artist-defined input handlers or audio mechanism appear in the inspected program. These code findings support describing its normal output as static. They do not independently establish what a particular browser displayed or what a researcher heard. The submitted runtime observations are retained separately from this code review. [^S02][^S05]"
    },
    {
      "id": "mint",
      "heading": "The mint",
      "bodyMarkdown": "The fresh index records a first mint on 11 June 2021, activation on 17 June, and both the second mint and completion on 20 June. The collection page presents 20 June as its release date. Those records refer to different events; the first token's earlier existence does not itself establish when public purchasing opened. Full timestamps remain in the evidence record. [^S01][^S02]\n\nThe interval from the second mint at 19:06:00 to completion at 19:49:08 is 43 minutes and 8 seconds. This is arithmetic between named indexed events, not a verified public sellout duration. Likewise, a gap between activation and the second mint cannot prove that purchasing was impossible throughout that gap. Transaction classifications and contemporary sale information would be needed to establish the public-sale chronology. [^S02]\n\nThe token records place #10 at 19:06:08 and #20 at 19:06:31. Since #0 existed earlier, the later invocation number should not be converted into a claim that twenty-one new works minted during those thirty-one seconds. The AB5D holding, #80, is recorded at 19:14:12. These observations locate particular tokens within the sequence without reconstructing every recipient or payment. [^S03]\n\nThe currently configured price is 0.085 ETH. No contemporary announcement establishing the original public price was recovered in this review, so this setting is not presented as proof of what every recipient paid. Current secondary-market listings are excluded because they do not resolve the original mint terms. [^S02]"
    },
    {
      "id": "rights",
      "heading": "Copyright and licensing",
      "bodyMarkdown": "The current indexed artwork label is CC BY-NC 4.0. Although the record supplies no terms link, the named Creative Commons standard can be identified. Its deed describes sharing and adaptation subject to attribution, indication of changes and a noncommercial restriction. Linking that standard explains the reported label; it does not establish the history of earlier grants or revisions. [^S02][^S12]\n\nThe submitted contract-wide census found variation in licence labels and missing links. That observation is not a reason to treat this recognisable standard as unidentifiable. The specific project label remains the relevant record, while historical terms remain an unresolved research question. [^S08][^S02]\n\nNo separate permission notice was found in the inspected artist program. Public availability of that program does not by itself establish a reuse grant. Its declared p5.js 1.0.0 dependency has a separate upstream licence file identifying LGPL version 2.1; that library licence should not be attributed to Simons's program without evidence. [^S02][^S13]\n\nThe metadata's 10PRINT scene name suggests a historical reference, but neither a public-domain dedication nor a particular third-party code licence was recovered for that reference. The resemblance is therefore not classified as proof of a rights grant. This essay's original prose is dedicated to CC0, separately from the artwork, artist software and dependency. [^S04][^S02]"
    },
    {
      "id": "examples",
      "heading": "Close reading of examples",
      "bodyMarkdown": "The comparison uses #0, #6, #80 and #249, with full token identifiers 86000000, 86000006, 86000080 and 86000249 on the project's Ethereum contract. Each was inspected in its original renderer, and a fresh retrieval of the complete edition corroborates the token identities. The selection includes different scene arrangements and mark shapes, rather than treating four early tokens as a representative survey. [^S03][^S04][^S05][^S07]\n\nIn #0, lighter green concentric rings remain clearly visible against a dark green ground. Cream, pink and ochre strips pass across and around them. The centre disc gives the eye a fixed point, but the brighter marks repeatedly draw attention outward. Long arcs crowd the upper and right portions of the square, while shorter, more isolated runs occupy the lower left. The result is less symmetrical than the circular scaffold initially suggests. [^S07]\n\nThe rings also interrupt the strips. A broad green curve can obscure part of a brighter run, while another run crosses a ring without interruption. This change of apparent depth makes it difficult to settle on one simple foreground and background. The code's interleaving of geometry and stream calls offers an explanation for that effect. The image reads as an accumulation of operations, yet its shared colour family keeps those operations related. This is an interpretation of the observed output, not an attributed statement of intention. [^S07][^S02]\n\nThe AB5D holding, #80, uses a sage field and pale circular forms: a disc toward the upper left, a large central ring and a smaller ring at lower right. They are lighter than the ground. Coral, cream and ochre strips form a strong diagonal gathering from the lower left toward the middle right. The circles differ in size and treatment, so the geometric scaffold has a more uneven rhythm than #0's concentric arrangement. Fresh ownership data places this token in the current linked-wallet set returned for AB5D. [^S03][^S05][^S11]\n\nIn #80, brightness can compete with scale. The large pale ring occupies much of the middle, but a narrow coral run can be more conspicuous against the muted field. Several strips disappear into the light geometry and re-emerge beyond it. That alternation makes the eye follow colour across interruptions rather than simply trace a complete contour. Fine grain is visible across both quieter fields and more active regions, lending the whole image a common surface. The inspected program supports one final composited texture, not two visible texture layers. [^S05][^S02]\n\nThe lower-right ring in #80 provides a useful counterweight to the upper-left disc. Its open centre leaves room for coloured marks to remain visible inside the geometric form. By contrast, the disc presents a broad, relatively quiet patch. Their difference creates two kinds of pause within the busier sweep of strips. The composition's apparent flow is therefore partly established by places where the marks are interrupted or given more space. [^S05]\n\nIn #249, four groups share a red ground. White pane-like grids occupy the upper-left and lower-right groups; broad white arcs appear at upper right, and a grid of white squares occupies the lower left. Navy and pale blue strips bend across all four groups in a related direction. There are no dividing rules around the quadrants. Separation comes from the placement of the groups and the intervening red space. The common colour and directional tendency hold the four arrangements together while their distinct geometry makes comparison immediate. [^S07][^S04]\n\nIn #6, broad grey-blue diagonals sit against a nearly black field. Pink, crimson, pale and burgundy circles form curved chains over and around them. The chains have scalloped edges and separate ends, so their direction emerges through succession rather than the orientation of each mark. Some diagonals interrupt the chains, while elsewhere circles cover a bar. Beside the rectangular marks of #0 and #80, these circles make the individual units more conspicuous. The same field-driven principle can therefore suggest either strips or strings of beads. [^S07][^S02]\n\nTwo screenshots of #80 showed no visible change after the image had rendered. This limited observation is consistent with the program's noLoop call. It does not independently reproduce the submitted pixel-signature test or prove behaviour across every browser. No audio was auditioned and no interaction test was performed in this coordinator review; the inspected artist program contains no audio mechanism or artist-defined controls. [^S05][^S02]"
    },
    {
      "id": "significance",
      "heading": "Significance and limitations",
      "bodyMarkdown": "Stroming places two ways of organising a picture in contact: recognisable geometry and sequences of marks guided by a field. The geometric elements can supply centres, divisions and intervals, while the marks complicate those structures through overlap and directional change. Interleaving their drawing operations allows one kind of form to interrupt the other. This relationship is a more specific account of the work than a general claim about randomness or uniqueness. [^S02][^S07]\n\nThe palette rule similarly creates relationships rather than independent colour choices. Background and geometric colour are extracted from an ordered palette, leaving the other entries for streams. Inversion can alter that order before extraction. The program therefore coordinates several parts of the composition through one decision while leaving placement and field-driven movement to create further differences. Whether those relationships feel quiet or forceful remains a matter for looking at individual outputs. [^S02]\n\nThe visual comparison spans single and quad compositions, and rectangular and circular marks. These distinctions matter because they change how the eye follows a sequence. A rectangle can indicate direction through its own orientation; a circle relies more heavily on its neighbours. A divided composition reveals several scene choices at once. The comparison should not be mistaken for a visual census of every work. [^S04][^S07]\n\nFor preservation, the base-fifteen seed and discarded texture buffer show why apparently incidental details deserve attention. Changing the parser base would change the numeric input, while removing earlier random draws could change the final texture. A faithful reconstruction needs the actual procedure and compatible library behaviour, not only a description of its apparent intention. These are findings from code inspection; no independent reconstruction is claimed here. [^S02]\n\nUnresolved research questions:\n\n- Locate further primary artist accounts of development and scene selection.\n- Recover contemporary price and allocation evidence before defining a public-sale duration.\n- Compare the indexed program with a pinned chain retrieval and test its library-dependent seed handling.\n- Locate the feature extractor and establish the origin of palette and scene labels.\n- Recover any separate artist-code grant and historical artwork terms. [^S02][^S04]"
    }
  ],
  "examples": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000000",
      "sourceIds": [
        "S03",
        "S07"
      ],
      "selectionNote": "Invocation 0, the artist's own proof, minted six days before activation and still held by the artist address recorded on the project. Selected for sustained analysis as the clearest illustration of the underlay-and-overlay structure.",
      "observationNote": "Coordinator original-renderer observation: Dark green ground with lighter concentric green rings and centre disc. Cream, pink and ochre ribbon-like marks sweep around and across the rings. Large arcs occupy the upper/right field, shorter isolated runs sit lower left. Several broad green rings interrupt brighter marks."
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000080",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080",
      "sourceIds": [
        "S03",
        "S05",
        "S07",
        "S11"
      ],
      "selectionNote": "The AB5D holding, verified against the current linked wallet set. Selected for the sustained analysis and the static verification, and recommended as the header work.",
      "observationNote": "Coordinator original-renderer observation: Sage ground, pale upper-left disc, large pale central ring and smaller lower-right ring. Coral, cream and ochre strips curve across them; strong diagonal cluster rises from lower left toward middle right. Fine grain visible throughout. Two screenshots showed no visible change; no pixel signature measured."
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000249",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000249",
      "sourceIds": [
        "S04",
        "S07"
      ],
      "selectionNote": "One of only two Quad Scene tokens in the edition, identified from the sweep. Substituted for a suggested candidate because all four suggested tokens are Single Scene, and adopting them unchanged would have left the project's rarest configuration undocumented.",
      "observationNote": "Coordinator original-renderer observation: Red ground divided compositionally into four groups. White pane grids upper left/lower right, broad white arcs upper right, white square grid lower left. Navy and pale blue strips bend similarly down/right in each group. No explicit border lines between quadrants."
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000006",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000006",
      "sourceIds": [
        "S04",
        "S07"
      ],
      "selectionNote": "A 10PRINT scene drawn with circular stream marks. Added as a second substitution to document both the Commodore 64 reference in the scene library and the minority Circles stream shape, neither of which appears in the suggested sample.",
      "observationNote": "Coordinator original-renderer observation: Near-black ground with broad grey-blue diagonal bars. Chains of pink, crimson, pale and burgundy circles curve across them. Circle chains repeatedly bend and terminate in separate scalloped ends. Grey bars interrupt some chains while other chains overlay bars."
    }
  ],
  "mediaIds": [],
  "provenance": {
    "operator": "Phil (AB5D coordinator), via the Claude desktop application",
    "agent": "Claude in Cowork mode, Claude Agent SDK session",
    "model": "Claude (submitted claude-opus-5), reviewed by OpenAI Codex",
    "modelVersion": "claude-opus-5 (session-reported exact model id; the routing label on this batch was 'claude', which is not a model identifier)",
    "tools": [
      "Art Blocks public GraphQL index over HTTP POST",
      "browser pane on the operator's computer for page rendering, text extraction, image inspection, live renderer execution and canvas sampling",
      "SHA-256 over the retrieved script bytes computed in the browser using the Web Crypto API",
      "web search for artist material",
      "local shell and file tools for package assembly and validation"
    ],
    "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",
    "coordinatorReview": {
      "reviewer": "OpenAI Codex",
      "scope": "Complete independent script reading; four original-renderer inspections; fresh edition and holding query; artist project page found; rights and chronology corrected. Submitted runtime pixel signatures and contract-wide licence census not independently repeated.",
      "usage": null,
      "usageNote": "No separately metered per-essay review usage."
    },
    "generation": {
      "schema": "ab5d-essay-generation/1",
      "model": "Claude (submitted claude-opus-5), reviewed by OpenAI Codex",
      "displayName": "Claude (submitted model: claude-opus-5), reviewed and revised by OpenAI Codex",
      "scope": "One submitted Claude essay with independent source, script, visual, chronology and rights review",
      "essayCount": 1,
      "usage": null,
      "perEssayUsage": null,
      "usageDetail": "Claude supplied no token telemetry. Review usage is not separately measured. Submitted model identifier is retained without independent runtime verification.",
      "contributors": {
        "operator": "Phil (AB5D coordinator), via the Claude desktop application",
        "agent": "Claude in Cowork mode, Claude Agent SDK session",
        "model": "claude-opus-5",
        "modelVersion": "claude-opus-5 (session-reported exact model id; the routing label on this batch was 'claude', which is not a model identifier)",
        "tools": [
          "Art Blocks public GraphQL index over HTTP POST",
          "browser pane on the operator's computer for page rendering, text extraction, image inspection, live renderer execution and canvas sampling",
          "SHA-256 over the retrieved script bytes computed in the browser using the Web Crypto API",
          "web search for artist material",
          "local shell and file tools for package assembly and validation"
        ],
        "humanEditorialInvolvement": "None. No human reviewed, edited or fact-checked the prose before submission. Status is draft-for-human-review.",
        "originalProseLicense": "CC0-1.0",
        "coordinatorReview": {
          "reviewer": "OpenAI Codex",
          "scope": "Complete independent script reading; four original-renderer inspections; fresh edition and holding query; artist project page found; rights and chronology corrected. Submitted runtime pixel signatures and contract-wide licence census not independently repeated.",
          "usage": null,
          "usageNote": "No separately metered per-essay review usage."
        }
      }
    }
  },
  "codeInspection": {
    "url": "https://artblocks-mainnet.hasura.app/v1/graphql",
    "locator": "POST projects_metadata where slug _eq stroming-by-bart-simons, selecting script and scripts{index script}; identity corroborated by contract_address 0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270 and project_id 86",
    "sha256": "9cdc8edd366835b058de3c2f97da7497e53c980f4e049d23e276daf40e9bb148",
    "retrievedAt": "2026-09-18T00:29:00+00:00",
    "method": "Index retrieval over HTTPS, not a direct read of contract storage. SHA-256 computed over the UTF-8 bytes of the returned script field. The single indexed script fragment reproduces the script field exactly.",
    "executed": true,
    "chainBlock": null
  },
  "editorialExceptions": [
    {
      "id": "index-static-flag-wrong",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Submitted display flag has not had its semantics independently established; normal code rendering is static."
    },
    {
      "id": "rights-terms-missing",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Standard CC BY-NC 4.0 deed identified; historical changes remain unknown."
    },
    {
      "id": "code-rights-unknown",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "No licence statement was located for the artist script."
    },
    {
      "id": "artist-record-gap",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Artist project page located; detailed development account remains unrecovered."
    },
    {
      "id": "trait-vocabulary-unexplained",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The sixteen Dutch palette names and the nineteen scene names come from a trait extractor not present in the retrieved script and not located. The essay uses the names without being able to attribute them."
    },
    {
      "id": "base-fifteen-seed",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "Base15 parse includes possible leading-f NaN case; downstream library behaviour remains to be reconstructed."
    },
    {
      "id": "original-price-unverified",
      "status": "pending",
      "reviewer": "publication coordinator",
      "reason": "The 0.085 ETH figure is the currently configured project price, not a verified original mint price."
    }
  ],
  "presentation": {
    "editionSize": 256,
    "maximumEdition": 256,
    "mintDate": "2021-06-11T13:36:00+00:00",
    "mintDateMeaning": "First indexed mint",
    "artwork": {
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "token_id": "86000080",
      "invocation": 80,
      "owner_address": "0xdd19308a9731cdecb67e0d80ca6823394208c045",
      "canonicalUrl": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080",
      "preview_asset_url": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080.png",
      "live_view_url": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080",
      "mode": "image",
      "copyrightStatus": "CC BY-NC 4.0",
      "copyrightUrl": "https://creativecommons.org/licenses/by-nc/4.0/"
    }
  },
  "observationImages": [
    {
      "id": "E01",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000000",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000000",
      "sourceIds": [
        "S03",
        "S07"
      ],
      "selectionNote": "Invocation 0, the artist's own proof, minted six days before activation and still held by the artist address recorded on the project. Selected for sustained analysis as the clearest illustration of the underlay-and-overlay structure.",
      "observationNote": "Coordinator original-renderer observation: Dark green ground with lighter concentric green rings and centre disc. Cream, pink and ochre ribbon-like marks sweep around and across the rings. Large arcs occupy the upper/right field, shorter isolated runs sit lower left. Several broad green rings interrupt brighter marks.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000000.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000000"
    },
    {
      "id": "E02",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000080",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080",
      "sourceIds": [
        "S03",
        "S05",
        "S07",
        "S11"
      ],
      "selectionNote": "The AB5D holding, verified against the current linked wallet set. Selected for the sustained analysis and the static verification, and recommended as the header work.",
      "observationNote": "Coordinator original-renderer observation: Sage ground, pale upper-left disc, large pale central ring and smaller lower-right ring. Coral, cream and ochre strips curve across them; strong diagonal cluster rises from lower left toward middle right. Fine grain visible throughout. Two screenshots showed no visible change; no pixel signature measured.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000080"
    },
    {
      "id": "E03",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000249",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000249",
      "sourceIds": [
        "S04",
        "S07"
      ],
      "selectionNote": "One of only two Quad Scene tokens in the edition, identified from the sweep. Substituted for a suggested candidate because all four suggested tokens are Single Scene, and adopting them unchanged would have left the project's rarest configuration undocumented.",
      "observationNote": "Coordinator original-renderer observation: Red ground divided compositionally into four groups. White pane grids upper left/lower right, broad white arcs upper right, white square grid lower left. Navy and pale blue strips bend similarly down/right in each group. No explicit border lines between quadrants.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000249.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000249"
    },
    {
      "id": "E04",
      "chainId": 1,
      "contract": "0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270",
      "tokenId": "86000006",
      "url": "https://www.artblocks.io/token/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000006",
      "sourceIds": [
        "S04",
        "S07"
      ],
      "selectionNote": "A 10PRINT scene drawn with circular stream marks. Added as a second substitution to document both the Commodore 64 reference in the scene library and the minority Circles stream shape, neither of which appears in the suggested sample.",
      "observationNote": "Coordinator original-renderer observation: Near-black ground with broad grey-blue diagonal bars. Chains of pink, crimson, pale and burgundy circles curve across them. Circle chains repeatedly bend and terminate in separate scalloped ends. Grey bars interrupt some chains while other chains overlay bars.",
      "previewUrl": "https://media-proxy.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000006.png",
      "liveUrl": "https://generator.artblocks.io/1/0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270/86000006"
    }
  ],
  "publication": {
    "date": "2026-09-18",
    "url": "https://ab5d.xyz/series/stroming-by-bart-simons/",
    "authorization": "Phil requested website publication on 2026-09-17.",
    "reviewSnapshot": "/docs/series-essays/production/stroming-by-bart-simons/record.json",
    "unresolvedResearchQuestionsRetained": true
  }
}
