# Research notes: FOCUS by Matto

Status: draft-for-human-review. No human reviewed, edited or fact-checked this package.

Submission state: **complete-draft**.

## Per-essay checks report

| Check | Report |
| --- | --- |
| Identity and package | Chain 1, contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, project ID 181, slug `focus-by-matto`, title `FOCUS`, artist credit `Matto` as the roster spells it, against the page byline's lowercase `matto`. Identity checked against the returned composite key `...-181`, not against the atlas position 177. All seven required files present. |
| Structure and citations | 4,536 words in the seven canonical sections in the required order, generated into essay.md from `record.json.sections` by the same expression the supplied validator uses, so Markdown and JSON cannot drift. Eight unique source IDs, all cited and all resolving in both directions. Citations sit at the paragraphs carrying the supported claims, with multiple IDs where a paragraph combines index data, code reading, live observation and the artist's statement. The edition-size discrepancy, the aspect-ratio discrepancy and the artist's perceptual claims are each marked as what they are rather than asserted as verified fact. |
| Source research | Eight materially cited inspected sources with specific locators: project page panels by panel name; four GraphQL retrievals by operation, variables and returned field; script findings by function; the artist statement by section and quoted phrase; licence terms by clause; live observations by token and state. Primary bodies inspected rather than snippets: the artist's roughly 24,000-character project statement was read in full, as was the CC BY-NC 4.0 deed, and the Ensō page's opening sections. Remaining access gaps: the CC full legal code was not opened; the artist's live generator, animator, high-resolution and prints sub-pages were not opened; the Zen aesthetic essay linked from the statement was not read; no on-chain price history was read; the feature extractor that emits the published traits was not located. Those gaps are recorded here and not counted as sources. |
| Code | Retrieved by HTTP POST, named operation `ProjectBySlug`, variables `{"slug":"focus-by-matto"}`, selecting `script` and `scripts{index script}`. 18,815 bytes, three fragments returned in the order 1, 0, 2 and concatenating in ascending index order to the script field exactly. Digest `6eb9b8939ee875f35ede89fd4f0c936fb3f718b612007481ac1efd28e752c097`, computed with the Web Crypto API, identical across two retrievals either side of a mid-session connection loss, and identical in `record.json.codeInspection.sha256` and `evidence.json.codeSha256` because both are written from the same measured value. The program is not minified. Full reading covered seed handling, parameter selection, rendering sequence, time and interaction behaviour and external dependencies, itemised in `evidence.json.codeInspection.fullReadCoverage`. Execution disclosure: read from text, and separately executed by the official Art Blocks renderer during the observations; not run by the researcher elsewhere. No artist code is reproduced. |
| Visual evidence | Four distinct token identities observed, with observation IDs V01 to V04, each carrying chain, contract, token ID, canonical URL, inspected renderer URL, observer, method, wall-clock window and concrete observations. Two sustained close readings: V01, token 181000122, the minted state plus full control testing across three resulting images, and V02, token 181000176, re-observed on 2026-09-19 across 57.7 seconds after an internal audit found the original four-second window too short to count as sustained. V02 now carries a twenty-second quiet phase of eight samples with the frame counter pinned at 1, the exact key bindings read out of the running keyPressed handler rather than guessed, and every non-destructive control exercised in sequence: six presses, six distinct canvas signatures, the sketch's own state variables moving as predicted at each step, and the canvas returning to exactly its starting signature at the end, which establishes the control set as reversible and lossless. The save key was not pressed because it would initiate a download. Observer is this agent throughout. Motion: three tokens instrumented and each held a frame counter of 1 across its window, establishing single-frame rendering by the sketch's own counter rather than by an unchanging image; V03 is recorded as a viewing rather than an instrumented sample because its counter was not read, and that limitation is stated rather than generalised over. Controls: `h` exercised with a physical key press; arrow keys confirmed by dispatched event after physical presses were intercepted by the browser pane; `s` deliberately not triggered because it initiates a download. Audio: not auditioned and recorded as silent by construction on the evidence of zero media elements, no sound library and no audio call. |
| Header | Complete linked wallet set refreshed this session from the official Hasura endpoint and cross-read on the public profile page; three addresses returned, no fixed count assumed, and the same three returned again after a connection loss. All 567 token owner addresses compared against all three. Exactly one match: token 181000122. No collection gap. Inspected media is the original renderer; the fallback still is recorded; display basis is the artist's published prints permission, recorded as the artist's permission rather than a licence term. |
| History and rights | Four events kept distinct, plus the project page's locally rendered release date identified as the same instant as the opening. Sale duration 597.5 days with both endpoints named and the calculation given. Mint pace reported in buckets from the opening. The current index price is presented as a current observation, and the original mint mechanism is explicitly not asserted because no sales note exists. Rights domains kept separate: artwork under CC BY-NC 4.0 with a resolving link and the deed read, code under an asserted copyright notice with no located grant, and the p5 dependency recorded separately as unknown. The 1000-versus-567 edition discrepancy is recorded as conflicting rather than resolved. |
| Provenance and usage | Original author recorded as Anthropic / claude-opus-5, with the routing label explicitly rejected as a model identifier. No revisions; the revision note states what a later reviser must preserve. Usage counts null with the reason given, scope labelled batch, cached input and reasoning left null rather than folded into a total. `startedAt` timezone-aware; `cutoff` null with an explanation rather than a manufactured value. |
| Validator | Command, identity, exit status and unedited output below. |
| Submission state | **complete-draft**. The supplied validator passes and the research requirements are met. Seven editorial exceptions are recorded for coordinator decision; none is an unmet research requirement. |

## Validator

Command actually executed, from the extracted pack root:

```sh
python3 scripts/validate_series_essays.py submission/focus-by-matto
```

Supplied validator identity: `scripts/validate_series_essays.py` as distributed in this pack, SHA-256 `3b6273b6edaa9eee0f7641f365d4d243f15977e0acdd85bac922a40f157472ca`, 61 lines. Roster dependencies `data/atlas.json` and `data/ab500-contracts.json` present at their required paths. No substitute validator was used.

Exit status: `0`

Unedited output:

```json
{
  "status": "PASS",
  "scope": "Structural package validation only. Does not grant editorial acceptance or confirm publication.",
  "essays": [
    {
      "title": "FOCUS",
      "slug": "focus-by-matto",
      "words": 4536,
      "sources": 8,
      "examples": 4,
      "pendingEditorialExceptions": 7
    }
  ],
  "totalWords": 4536,
  "errors": []
}
```

The validator checks structure, not the truth of source access, full reading, visual perception or licence interpretation. The manual checks above are reported separately and are not covered by this result.

## The three findings that matter most

**Special is a trait with one value.** It reads "Yes" on all 567 tokens. The program reserves two other values, Portal and Truth, for the case where a token has neither a pattern nor a pattern border: paper and a central shape, nothing else. That case never minted. This is checkable three independent ways, and all three agree: the rule read from the program, a census of the published features alone (14 tokens with no border, 56 with no pattern, none with both), and the artist's own statement that the extra traits "never presented themselves in the official mints". In a series explicitly about doing more with less, the emptiest output the algorithm can produce exists only inside the algorithm.

**The edition has three aspect ratios and the platform records one.** The central shape determines the ratio: square, golden-ratio portrait, or golden-ratio landscape, at 196, 184 and 187 tokens. Two measured canvases returned 0.6176 and 0.6178 against 0.618. Both the index field and the project page print a single aspect ratio of 1, correct for 196 of 567.

**It is interactive, not animated.** The drawing routine ends with `noLoop()`, and three instrumented tokens held a frame counter of 1 throughout their observation windows. Every documented control redraws exactly once: pressing the hide key moved the counter from 1 to 2, one arrow press to 3, three more to 6. The index's `display_static` flag reads false, which invites exactly the wrong presentation; the project page, which carries an interactive badge and no animated badge, is the accurate document.

## On the artist's statement

This is the best-documented project encountered in this batch. The artist's own page runs to roughly 24,000 characters and explains the refusal of pseudo-randomness, the hand-recreatability it exists to serve, the stationery palette names that follow from that, the trait overrides, the token-parity parameter, and the interactivity. Nearly every checkable claim checks out against the program and the edition.

One check is worth singling out. A first reimplementation reproduced Shape Recursion Factor on only 450 of 567 tokens. The missing piece was a cascade of three overrides that demote a shape style when its fill would hide its own linework. The artist documents exactly this and states its consequence: the displayed features are "more representative of the final image than what the hash originally called for". Adding the overrides took the reproduction to 567 of 567. The published traits describe the picture, not the raw hash, and the difference is 117 tokens.

One claim could not be reconciled: the statement twice calls FOCUS "a 1000-image long meditation" while the index reports 567 of 567 with the project complete. No record of a maximum being changed was located, and no assumption has been made.

## Failed attempts and access limits

Six, listed in full in `evidence.json.failedAttemptsAndLimits`. The ones that mattered:

Research state was held in the same browser tab used for browsing, and navigating it discarded the retrieved data twice. Rather than reconstruct the example tokens' identity fields from memory, a dedicated four-token query was issued so every hash, owner and mint timestamp in this package comes from a response. This followed a genuine error earlier in the batch, where draft values written from memory were wrong and had to be replaced.

The connection to the coordinator's computer was lost for several minutes during this project. Everything was re-retrieved afterwards and the script digest reconfirmed identical. Both retrievals are recorded rather than presenting the later one as the only one.

Physical arrow key presses did not reach the sketch. The controls were confirmed by dispatched events instead, and the method difference is stated everywhere the result appears.

The frame counter was not read for token 181000029, so that observation is recorded as a viewing and its single-frame behaviour is not claimed as measured.

The original mint mechanism could not be established because no sales note is published, so none is asserted.

## Unresolved leads not converted into sources

The AB5D artist dossier was supplied as a lead and is not counted as a source; nothing here rests on it. The artist's live generator, animator, high-resolution renderer and prints pages were linked from the statement but not opened. The Zen aesthetic essay the artist cites for the more-with-less argument was not read. The full CC BY-NC 4.0 legal code was not opened, only the deed. Artacle, linked from the artist's page, was not consulted.

## Actual model, tools and usage

Model: claude-opus-5, served through the Claude desktop application in Cowork mode on the Claude Agent SDK. The batch routing label was "claude", a routing label and not a model identifier. The agent is not Astra. No other model and no human contributed to this package.

Tools actually used: HTTP POST to the Art Blocks public GraphQL index; a browser pane on the coordinator's computer for page rendering, text extraction, canonical token page status checks, live renderer execution, canvas sampling, screenshots and physical keyboard and mouse input; an independent reimplementation of the trait mapping run against all 567 token hashes; the Web Crypto API for the SHA-256 digest; local shell and file tools; and the supplied validator.

Telemetry: no token usage telemetry is exposed to the agent. All counts are null in usage.json with the reason given, the scope is labelled batch, and no batch figure has been divided into invented per-essay numbers.
