# Next-round research and submission addendum

Applies to newly issued next-round assignments only. Read this with [COMMON.md](COMMON.md), [canonical-methodology.md](canonical-methodology.md), the individual series specification, and the supplied templates. It clarifies the existing evidence and delivery requirements following the Grok submission review; it does not create a new bounty, change rewards, or grant acceptance. Existing unfinished Kimi and Claude packs and assignments remain unchanged.

Return researched source packages to the coordinator. Do not publish, contact artists, edit shared records, or alter other contributors’ work. The coordinator handles packaging, distribution, acceptance, and publication.

## Required result

For each assigned canonical slug, deliver these seven files:

1. `essay.md`
2. `record.json`
3. `sources.json`
4. `evidence.json`
5. `research-notes.md`
6. `presentation.json`
7. `usage.json`

Use the supplied schemas and keep `record.json.status` as `draft-for-human-review`. Write at least 1,500 original words, with no maximum length, excluding bibliography, captions, and notes. Preserve these ordered section IDs: `work-context`, `conception`, `construction`, `mint`, `rights`, `examples`, `significance`. At least two of the four output readings must be sustained analyses. End significance with explicit unresolved research questions. The existing style, rights, presentation, and attribution requirements continue to apply.

Also return a per-essay checks report, either as a clearly labelled section of `research-notes.md` or as rows in the batch progress report, with the validator’s unedited output attached. Do not replace the seven files with a prose assurance or return a blanket “all passed” for the batch.

## Reproducible retrieval and identity

Confirm chain, lowercase contract, project ID, canonical slug, title, and original artist credit against the individual assignment and fresh records. Atlas position is not project ID. Historical snapshots and suggested editions are leads, not verification.

For every GraphQL retrieval used as evidence, retain:

- The actual endpoint, full operation/query text, and actual variables object. Use `{}` when no variables were sent. Inline filters must remain in the recorded query.
- The identity filter actually sent: exact slug and corroborated chain/contract/project identity for a project; exact contract/project and token IDs for token queries. If the response schema expresses project identity as a composite key, retain that actual value and explain it.
- Retrieval time, response outcome, and the relevant returned fields. Distinguish indexed data from direct chain calls and record a block reference only when genuinely pinned.

A generic GraphQL URL, an operation name without its body, a reconstructed query never executed, or a placeholder filter is not a usable locator. Do not claim that a request used variables or filters that were absent. If existing retrieval evidence is incomplete, make and record a fresh real request or disclose the gap.

Canonical token-page checks need actual URLs and access outcomes. Do not invent HTTP 200 from a guessed URL, a successful image load, or an unrelated API response. Record failed or inaccessible pages honestly and follow the canonical exception path.

## Sources and citations

Inspect full substantive source bodies: official project information, available primary artist statements or development accounts, and operative rights terms where identifiable. A search snippet, title, social preview, or bibliography link is not source-body inspection. If only a relevant section of a long source was inspected, record its scope precisely instead of claiming the entire source was read. Follow dossier leads to their originals.

Require at least eight distinct, materially useful inspected sources, each actually supporting cited essay content. Several URLs repeating the same statement are not automatically independent research. Verified original token observations can support individual close readings; they do not substitute for conception, construction, mint, or rights research. Do not add nominal citations merely to reach eight.

Every cited source record needs a stable unique ID, exact URL, access date, truthful access method/outcome, and nonempty **specific** `evidenceLocators`. Useful locators identify an article section and claim, a code function or byte/line span and finding, a token and observed state, a licence clause, or an exact query/response field. “Official website,” “metadata,” “read source,” and an API endpoint alone are insufficient. Never fill locator arrays with empty strings or generic repeated text. Put failed leads and uninspected URLs in research notes, not in the inspected-source count.

Put `[^S01]`-style citations in the canonical `record.json.sections[].bodyMarkdown` at the paragraph containing the supported material claims. Use multiple citations where a paragraph combines distinct evidence. A bibliography alone, one citation at the end of an unrelated section, or citations present only in Markdown does not establish support. Mark interpretation and inference as such; citations must not convert resemblance into artist intention.

Generate `essay.md` from those same JSON sections and the source ledger using the supplied format. Keep the prose, paragraph citations, headings, and reference definitions aligned. All source IDs must resolve in both directions: no unresolved markers and no uncited ledger padding. Preserve stable IDs when revising.

## Full script inspection

Retrieve and read the complete available artist program. Retain its exact source/query, retrieval time, byte count, runtime/dependency version, SHA-256, and notes demonstrating coverage of seed handling, parameter selection, rendering sequence, time/interaction behaviour, and external dependencies. If the code is split into parts, account for all parts and the assembly used.

The digest in `record.json.codeInspection` must match the digest in `evidence.json` and the actual retrieved bytes. Matching two copied digest strings proves neither retrieval nor full reading. Hashing a script, searching for keywords, or inspecting a fragment cannot be reported as a complete read. Execution is a separate disclosure; running code is not a substitute for reading it, and reading it does not prove it ran.

If source access fails, document attempts and limits and submit the explicit exception allowed by the canonical methodology. Do not fabricate a digest to satisfy the validator. Public visibility of code does not establish redistribution rights; return analysis and the digest without raw artist code unless a supported reuse basis applies.

## Actual visual, motion, interaction, and audio evidence

Provide at least four distinct visual observation records tied to independently verified token identities. Give each record a unique observation ID and retain chain, contract, token ID, canonical URL, actual inspected media/renderer URL, observer, method, time or honestly stated timing limitation, and concrete observations. Link them to the corresponding examples and token records. Four duplicated descriptions or four metadata rows are not four visual inspections.

Describe what was actually seen. Do not manufacture colours, composition, traits, controls, or movement from filenames, metadata, code, captions, or another token. If a coordinator or another researcher supplied an observation, retain that attribution in evidence rather than claiming personal inspection. Keep public prose readable; operational observer details belong in the evidence and notes.

For animated or progressively drawn work, inspect the original renderer at multiple observed moments and record the states and elapsed observation interval when known. Distinguish a live observation from a static preview, an initial loading state from a completed render, finite drawing from looping animation, and unchanged late states from proof of no motion. Code-derived frame counts or requested frame rates are not measured wall-clock durations. If only some tokens were observed progressing, identify exactly which ones; do not generalise the observation to every example.

For interaction, test the relevant documented controls where possible and record the action and visible result. A handler found in code is not a successful interaction test. For sound, state whether it was actually heard, what playback action was attempted, and any autoplay/muting limits. Use unknown or not auditioned when appropriate. Audio code or an audio asset does not establish that sound was heard; silence under a blocked browser policy does not establish an intentionally silent work.

Preserve honest access failures and incomplete visual evidence. Do not relabel previews as originals or infer missing observations merely to meet the count.

## Fresh collection header and historical facts

Refresh the complete current AB5D linked-wallet set from `https://www.artblocks.io/profile/ab5d`, recording the full returned set and retrieval source/time. Do not assume a fixed wallet count or check only a remembered address. Verify the chosen header token’s current indexed or chain owner against that set, together with exact token identity, canonical URL, actual media URL, observation time, and display basis. If no holding is found after a complete check, disclose the collection gap.

Keep announced release, activation, first mint, public opening, and completion distinct. Present current counts and prices as current observations; support historical prices, allocations, maximums, and changes with appropriately dated evidence. A sale-duration claim needs defined endpoints and a reproducible calculation. Keep artwork, artist-code, and dependency rights separate. Unknown rights or historical facts can be legitimate researched findings; they must remain explicit rather than being replaced with plausible guesses.

## Model credit, usage, and time

Record the actual provider and model used. Use null and explain if a version or metric is unavailable. Do not adopt another agent’s model name, infer a model from a product label, or invent token counts. Input, cached input, output, reasoning, and total counts must retain their measurement scope and telemetry source; cached input and reasoning must not be double-counted. Keep batch measurements labelled as batch measurements and per-essay counts null when unavailable.

In `usage.json`, known `startedAt` and `cutoff` values must be timezone-aware ISO 8601 timestamps, and the cutoff must be at or after the start after timezone conversion. Use null with an explanation when either time is unknown. Do not manufacture midnight, a UTC offset, or elapsed duration from a date-only record. Preserve date-only precision for source publication dates and `record.json.researchCutoff` as required by their schema; these are different from usage measurement timestamps.

Preserve the original author/model credit when a package is revised by a different model or by a human. Record the reviser, changed scope, and revision-specific usage separately in provenance/revision notes. Do not overwrite original credit with the last editor’s model or attribute a mixed-model batch wholly to one contributor.

## Validation and the per-essay checks report

Use the supplied validator file, not a self-written substitute or a validator for an earlier fixed batch. The coordinator’s distributed bundle must preserve `scripts/validate_series_essays.py` and the accompanying `data/atlas.json` and `data/ab500-contracts.json` relative to the bundle root, so the supplied validator can read its roster dependencies.

From that bundle root, run the following command for each essay, replacing `CANONICAL-SLUG` with the assigned slug and placing the returned folder under `submission/`:

```sh
python3 scripts/validate_series_essays.py submission/CANONICAL-SLUG
```

The same command works from the repository root when given the actual package path instead. Record the exact command actually executed, supplied validator version or file digest, execution time, exit status, and complete output. If the supplied validator or roster dependencies are missing, report that validation was not run and request the missing bundle material; do not invent a pass or alter checks to make the package pass.

For each essay, the checks report must separately state:

| Check | Report |
| --- | --- |
| Identity and package | Exact slug/chain/contract/project and presence of all seven files. |
| Structure and citations | Word count, seven sections, Markdown/JSON agreement, unique source IDs, citation coverage, and paragraph support review. |
| Source research | Number of materially cited inspected sources, specific locators, primary-body coverage, and remaining access gaps. |
| Code | Retrieval/query, full-reading coverage, actual digest verification, and execution disclosure. |
| Visual evidence | Four distinct token/observation identities, two sustained close readings, observer attribution, and motion/control/audio status. |
| Header | Complete fresh wallet check, owner match or collection gap, inspected media and rights/display basis. |
| History and rights | Supported chronology and calculations, current/historical distinctions, separate rights domains, and unresolved findings. |
| Provenance and usage | Actual original/revising model credits, measured scope or explained nulls, and valid timestamp ordering. |
| Validator | Exact command, validator identity, exit status, unedited result, and any remaining errors. |
| Submission state | `complete-draft`, `incomplete`, or `exception-pending`, with specific remaining work and reviewer decisions where applicable. |

These report labels do not replace `record.json.status` and never mean accepted or published. Use `complete-draft` only when the supplied validator passes **and** the actual research requirements have been met. A validator PASS with missing visual evidence, padded sources, unread code, or fabricated access is not completion. Explicitly researched unknowns can remain in an otherwise complete draft under the canonical rules; unmet requirements or requested exceptions must instead be labelled `incomplete` or `exception-pending`, with their scope and pending review clear. Only record an exception as approved when a real reviewer decision identifies its authority, date, and affected criterion.

The validator checks structure, not the truth of source access, full reading, visual perception, or licence interpretation. The per-essay report must therefore disclose manual research checks even when the machine output says PASS. Do not claim that an unchecked requirement was validated automatically. Complete and save one honest package at a time, then update the batch progress report and continue.


## Efficient research and readable essays

Use the supplied identity, source leads, and presentation template as starting material. Verify time-sensitive fields once per research session and reuse the recorded response across the relevant package fields. Do not repeat identical retrievals merely to populate different files. Shared artist interviews may support several assigned projects, but identify the passage that supports each project separately.

Write the essay for a reader looking at the art. Explain how a documented mechanism changes what the viewer sees or hears. Put query syntax, hash strings, internal field names, failed-access logs, and observer bookkeeping in the research record unless essential to the argument. Keep a caveat in the prose when omitting it would make a claim misleading; otherwise consolidate operational limitations in research notes. Do not repeat the same limitation in every section.

Length has no upper limit. Additional words must contribute evidence, close observation, explanation, or an argument. Do not expand a thin source base with generic claims about blockchain, randomness, rarity, or cultural importance. Preserve useful detail rather than trimming to an arbitrary ceiling.

Examples of the required distinction:

- Inadequate: “The algorithm creates infinite unique patterns.” This supplies neither an observed feature nor a supported mechanism.
- Useful form: identify a particular token, describe the observed feature, then connect it to an inspected rule with a precise citation. Do not use this as a fill-in sentence or invent the missing observation.
- Inadequate: “All sources verified.” Report the actual source scope, access outcome, and unresolved claims instead.

Complete and validate the first essay before repeating the workflow for the rest. Save each finished package immediately. Report actual elapsed time and measured usage when available, with explained nulls otherwise. Do not buy credits or change paid plans as part of an assignment.

## Coordinator comparison and current authorization

The user has authorized a fresh ten-essay pack each for Claude, Kimi and Grok. The returned Grok batch is published; some earlier Kimi and Claude essays remain reserved for coordinator review. This new round is not a declaration of an overall provider winner. Compare factual and code accuracy, source usefulness, original visual evidence, prose quality, package compliance, turnaround, measured cost where available, and coordinator correction time. Record sample size and missing measurements; do not infer a provider's cost from token counts without a verified applicable price.

The decision metric is time and cost per publishable essay, including review and repair. A fast draft that requires substantial reconstruction is not a faster finished essay. Length alone is neither a penalty nor evidence of quality. Existing assignments remain reserved until explicitly reassigned.

## Submission traps to avoid

Use nonempty source authors from the inspected record, or an honest institutional/unknown attribution; do not use null where the supplied formatter requires text. Keep exact titles and lowercase canonical slugs from the roster. Distinguish four statuses for each original: opened, observed across changing states, controls tested, audio auditioned. Give evidence for each separately; an untimed observation is not an untested control.

Refresh the linked wallet set once per session with the official index, then check exact token ownership against every returned address. A useful discovery query is `query { user_profiles(where: {username: {_eq: "ab5d"}}) { username linked_accounts { public_address } } }` at the official Hasura endpoint. Record the actual request and response you used; this example is not evidence of execution. Never assume a fixed wallet count.

Save the first complete package and its checks before proceeding. Continue through all ten without waiting for a coordinator response unless an indispensable clarification blocks that specific essay. Keep blocked work explicitly incomplete and move to another assigned series. Return a progress table identifying complete drafts and gaps, not a blanket completion claim.
