# Research notes

Series: Patterns of Life by Vamoss. Assignment AB5D-SERIES-087. Package status draft-for-human-review.

## Sources and access

Ten sources were inspected and all ten are cited. Source identifiers are not contiguous because one planned source was dropped when its access failed and its identifier was not reused.

Identity confirmed before research: chain 1, contract `0xa7d8d9ef8d8ce8992df33d8b8cf4aebabd5bd270`, project id 87, slug patterns-of-life-by-vamoss. The atlas position for this series is also 87, which is a coincidence and was not relied on. The supplied metadata snapshot was treated as a lead and every field re-read live; refreshed values agreed with the snapshot.

Access route: the cloud container has no egress to artblocks.io, the Art Blocks index, the media proxy or the generator, all failing at the outbound proxy with 403 on CONNECT. All live observation ran through the browser pane on the operator's computer, which also supplied the mouse input used to test the artwork's undocumented control.

Failed access: `vamoss.com.br`, the artist website recorded on the project. Browser navigation was denied and scripted requests to the apex domain, the www subdomain and the plain HTTP variant all failed at name resolution. No archived copy was pursued. This is a gap, not an inspected source, and it is cited only as a failed access.

No interview exists in the index and none was located. The mint-page statement is the only primary artist text.

## Full script inspection

Retrieved from `projects_metadata` filtered on the exact slug, with contract address and project id checked in the same response. Length 2,739 bytes. SHA-256 `ddb00353034971c2a682a85e206e87ff085b8ddd678e0ac5127704ed7c12e469`, computed over the UTF-8 bytes via the Web Crypto API in the browser. Script count 1 and the single fragment reproduces the script field exactly.

Coverage: the entire script was read in one pass. Structures traced: the hash decomposition into thirty-two bytes and their reduction modulo ten; the cellular automaton constructor and its matrix allocation; the restart, randomize, setRule, generate, display, rules, colorRules and finished methods; the setup routine including canvas sizing, graphics buffer creation, pixel density, the colour array and the three-ruleset construction; the draw routine including the collapse detection and reseeding, the buffer display and the four mirrored image placements; the mouse press handler; and the rule advance function.

Direct findings: there is no random number generator anywhere in the program, and every decision is a modulo of a hash byte; the automaton is one-dimensional and elementary, wrapping horizontally on a ninety by ninety grid; colour is indexed by the same three-bit neighbourhood value that decides cell state, from a hard-coded array of eight that does not vary between tokens; rows that go uniformly empty or uniformly full two steps ahead are overwritten from the hash; the buffer is mirrored into a two by two block so four-fold symmetry is structural; the piece cycles through three rulesets indefinitely; a mouse press advances the ruleset; a randomiser helper and a counter variable are dead.

One structural finding is recorded with deliberate restraint. The routine that writes the colour grid indexes it by column then row; the routine that paints it reads by row then column. The grid is square, so the read is always in bounds and the program never errors, but the painted values are the transpose of the written ones. This is reported as an observation. No claim is made that it is a bug, because the mirroring already imposes symmetry and the visual consequence is not separable by inspection alone, and no claim is made that it is intended either.

External dependencies: declared `p5@1.0.0`, external asset dependency count zero. p5 is used for the canvas, an offscreen graphics buffer, pixel density and colour objects. No network requests and no audio.

No block reference was pinned; this was an index retrieval. Script content is not redistributed.

## Token identity and visual observation

Five token identities were confirmed on the exact contract before use, plus a full sweep of all 512 rows. All four candidate identifiers supplied in the assignment exist, so no substitution was needed. No token in this edition carries an empty trait object.

Sampling rationale: invocation 0 was retained because it is the artist's own proof and, uniquely in this batch, is still held by the artist address on the project. Invocation 10 was retained as a structural opposite within the same fixed palette. Invocation 20 was retained specifically because it is the sparsest output in the sample and shows how close some automata run to collapse even with the reseeding logic active. Invocation 361 is the AB5D holding and carried the sustained analysis.

Token page checks: five token URLs and the collection URL were requested and all returned status 200 at 2026-09-18T00:21:08Z. No status has been fabricated.

Images: four were loaded at native 2400 by 2400 through the platform media proxy and viewed. A fifth visual observation, a live mid-pass capture of invocation 361, is recorded separately because it differs visibly from that token's stored preview.

## Motion, interaction and audio

Both were tested rather than inferred, which matters because the project page declares neither.

Motion: the running sketch for invocation 361 was read repeatedly. The generation counter advanced from 35 to 64 across a measured thirty second interval, which is 0.97 rows per second. The grid is ninety rows, so a pass takes about ninety-three seconds and a full cycle through the token's three rules takes about four and a half minutes. During the observation the rule index advanced from 0 to 1 without intervention, that is the piece completed a pass by itself.

A discrepancy between the code and the machine is recorded. The script requests thirty frames per second; the renderer reported an actual rate of one. Since the program draws one row per frame, the achieved rate is what sets the pace. The figures above are what a viewer sees, not what the script nominally specifies.

The three rulesets for this token were decoded from the live sketch to Wolfram elementary rules 105, 250 and 200. Naming them is possible because the rulesets are plain eight-bit arrays in the running program.

Interaction: the script binds a mouse press to the rule-advance function. A single left click inside the canvas moved the rule index from 1 to 2, and reading the sketch immediately afterwards showed the active ruleset had become rule 200. The control works and is undocumented on the project page.

An earlier attempt to sample canvas pixel signatures on this token returned zeros, because the readback was taken from a copy before the artwork canvas had resolved. That attempt was discarded rather than reported, and the motion conclusion rests on the generation counter, the unprompted rule advance and the visual difference between the live capture and the stored preview.

Audio: no audio or video element in the rendered document and no audio anywhere in the script. No sound was heard because there is none. Autoplay policy never engaged.

## Header ownership and media

The complete current AB5D wallet set was read from the platform's own profile record: `0xce6dc14c5494d8a4325a81d3b257d130fa2039d1`, `0x2247247ee0eee59557e6cd14f7e047f6a9309b5c` and `0xdd19308a9731cdecb67e0d80ca6823394208c045`. The ownership sweep returned token 87000361 held by the third address. The assignment's cached candidate named the same token and owner; the live check confirms rather than repeats it.

The presentation file recommends the live renderer with two cautions for the coordinator: the motion is slow enough that a viewer glancing at the embed will take it for a still, so the caption should say the work is evolving; and the embed is interactive, so a click inside it changes which automaton is running.

## Mint chronology and calculations

Events distinguished: first indexed mint 2021-06-10T22:46:04Z; activation 2021-07-16T22:17:58Z; second indexed mint 2021-07-17T14:01:45Z, duplicated in `start_datetime`; completion 2021-07-17T14:10:01Z.

The thirty-six day gap between the first mint and activation is the largest in this batch and is recorded as such. The owner of invocation 0 is the artist address on the project, which is the only case of that in this batch.

One calculation is performed: second indexed mint to completion, 8 minutes and 16 seconds, covering invocations 1 through 511. Labelled inferred. Not presented as a public sellout time, and the sixteen hour gap between activation and the second mint is recorded because it shows activation did not open the sale.

Invocations 1, 10 and 20 carry the identical timestamp to the second, consistent with several mints landing in one block. This is stated as an observation about three sampled tokens.

Timezone handling: the project page displays 18 July 2021 when read from a UTC+10 browser, which is the second-mint timestamp rendered locally; in UTC that timestamp is 17 July.

Price: 100000000000000000 wei, that is 0.1 ETH, recorded as the currently configured value and as reported. No primary announcement of an original price was located.

## Rights and conflicts

The only rights statement located is the index field `license` reading "CC BY-NC-SA 4.0" with `link_to_license` null. The project page publishes none and the artist website does not resolve, so there is no second place to look.

Two matters are recorded as unresolved rather than settled. First, this is the only label in the batch carrying a ShareAlike term, which if operative would require derivatives to be licensed on the same terms; with no published terms document that obligation cannot be confirmed and must not be presented as settled. Second, the eight-colour palette is hard-coded and shared by every token, so it is a fixed authored element rather than generated output, and nothing in the available material addresses whether that is treated differently. No position is invented.

The licence census across all 359 projects on this contract returns 34 distinct strings with only 87 carrying any link, which establishes the field as unvalidated free text.

Artwork rights recorded as category creative-commons, label preserved exactly, terms url null, status reported. Code rights unknown and kept separate. Third-party p5 licensing recorded separately and not inspected.

## Unresolved questions and exceptions

Eight exceptions are raised, all pending, all assigned to the publication coordinator: missing licence terms with a ShareAlike implication; unknown code rights; the artist record gap; the unexplained trait vocabulary; the project page declaring neither animated nor interactive; the preview being one frame of a pass; the index transposition; and the unverified original price.

Unresolved leads not converted into sources: the artist website does not resolve; no interview was located; the trait extractor producing the seven age names is not in the retrieved script and was not located; the artist's own reference to weaving machines was not traced to any further statement; upstream p5 licensing was not inspected.

## Actual model, tools, elapsed time and measured 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.

Tools actually used: HTTP POST to the Art Blocks public GraphQL index; a browser pane on the operator's computer for page rendering, text extraction, image inspection, live renderer execution, sketch state sampling and mouse input to the artwork; the Web Crypto API for the SHA-256 digest; local shell and file tools for package assembly and validation. No human reviewed or edited the prose.

Word count: the coordinator waived the 1,500 to 2,500 word limit for this batch during the session. This essay runs longer than the original cap by that instruction.

Elapsed work: produced within a single continuous session on 18 September 2026, Melbourne time.

Telemetry: no token usage telemetry is exposed to the agent. All counts are null in usage.json with the reason given. Nothing estimated and labelled measured; batch totals not divided into invented per-essay figures.


## Independent coordinator revision
Complete script read and four original renderers inspected. Fresh512-token census and linked-wallet ownership retained. Removed fixed timing and full-cycle claims, proof-allocation inference, conventional-row simplifications and standard-licence unavailability claim. Reviewed scopes are in coordinator evidence; original submission claims remain attributed separately.
