A dataset can contain 46 outcome records without containing 46 experiments. If your dashboard calls both “studies,” the code can execute perfectly while the conclusion is wrong.
Whispart's review manuscript on AI-art valuation provides a concrete example: 12 selected reports contain 25 study units and 46 outcome-family records. The useful engineering problem is preserving those units all the way from extraction to display.
Context and disclosure: Whispart develops selected GAN images into physical wall art. This article and the research workflow used substantive AI assistance. The manuscript is not peer reviewed; it is a purposive methodological review, not an exhaustive database of the field.
Keep the hierarchy in the data
In the downloadable evidence.json, reports contain studies, and studies contain outcomes. A report has a report_id; a study has a study_id and source_locator; each outcome has an outcome_id, construct, response_format and financial_consequence. That structure preserves the connection between a count and the passage it represents.
Figure 1 from Measuring Value in AI Generated Visual Art (20 October 2026 manuscript, not peer reviewed): classify the response format, perspective and financial consequences. This is a research diagram, not a GAN artwork.
The diagram separates the response task before counting it. “Worth,” a predicted selling price and a consequential bid should not be collapsed into one numeric value field. The response unit, perspective and payment rule carry meaning that a label alone cannot supply.
Reproduce a small part of the evidence map
Download the evidence archive from the Research page, extract it, and run this Python 3 snippet beside evidence.json. It uses the standard library and reads the supplied classifications; it does not infer classifications from the paper titles.
from collections import defaultdict
from pathlib import Path
import json
reports = json.loads(Path("evidence.json").read_text(encoding="utf-8"))
studies_by_family = defaultdict(set)
reports_by_family = defaultdict(set)
report_ids, study_ids, outcome_ids = set(), set(), set()
for report in reports:
rid = report["report_id"]
if rid in report_ids:
raise ValueError(f"Duplicate report: {rid}")
report_ids.add(rid)
for study in report["studies"]:
sid = study["study_id"]
if sid in study_ids:
raise ValueError(f"Duplicate study: {sid}")
study_ids.add(sid)
for outcome in study["outcomes"]:
oid = outcome["outcome_id"]
if oid in outcome_ids:
raise ValueError(f"Duplicate outcome: {oid}")
outcome_ids.add(oid)
family = outcome["construct"]
studies_by_family[family].add(sid)
reports_by_family[family].add(rid)
print(len(report_ids), len(study_ids), len(outcome_ids))
key = "auction_bid"
print(len(studies_by_family[key]), len(reports_by_family[key]))
For the 20 October 2026 manuscript dataset, the output is 12 25 46, followed by 2 1. Two auction study units belong to one report. That second line is why a distinct report count matters: more study units do not necessarily mean more independent research programs.
Make the display preserve the distinction
Use explicit headings such as “Study units containing this family” and “Reports containing this family.” Families overlap, so their counts must not be stacked as mutually exclusive shares of 25. The records are measurement families, not a count of independent dependent variables or a pooled effect estimate.
The complete archive also includes reproduce_counts.py, which checks identifiers, JSON/CSV agreement and coverage scenarios. The short snippet above only demonstrates the counting units; it is not a substitute for those checks or for reading the original source passages.
Keep the object separate from the response
The Tree That Stayed — Whispart supplied framed-product presentation; GAN-generated artwork. Presentation image, not an installation photograph.
Where Silence Is Kept — Whispart supplied framed-product presentation; GAN-generated artwork. Presentation image, not an installation photograph.
These supplied product presentations of The Tree That Stayed and Where Silence Is Kept illustrate our studio context. They are not experimental stimuli from the reviewed reports. A response to a digital image and a decision about a specified physical framed work concern different objects and conditions. Store the object description and acquisition rule explicitly rather than assuming a shared artwork name makes the records comparable.
That distinction also applies to publishing metrics: page views, reactions, product visits and completed orders need separate event definitions. None is automatically evidence of the next. No conversion or pricing effect is estimated here.
Read the manuscript and download the evidence archive on Whispart Research to reproduce the counts and inspect the codebook. The classifications were prepared in one AI-assisted workflow without independent duplicate human extraction; computational consistency does not remove that limitation.
Figure 1 is the existing manuscript diagram. The two artworks are GAN-generated and shown in supplied framed-product presentations, not installation photographs.



Top comments (0)