Milo BRAND + INTERFACE SYSTEM V1.0
18Standard

Provenance

NO ASSET WITHOUT A RECORDVALIDATOR: tools/validate_provenance.pySCHEMA: docs/MILO_PROVENANCE_STANDARD_V1.md

Every image in this system can say who made it, where it lives, what rights allow its use, and what Milo did to it. The validator fails the build if any of that is missing.

Three source kinds18.01

What kind of thing is this?

Human-created, computationally transformed, or generated — every image says which.

Human-created sourceA work of art or a photograph made by a person, held by an institution or agency, with explicit reuse rights. The original is never altered; the file in originals/ is the institution's own reproduction.
Computationally transformedA Milo derivative: the original run through a named recipe by milo-image-engine. The record carries the recipe, the full config and the source id, so it can be regenerated and always credits the human source.
Generated sourceImagery made by a model (Codex Image 2.5) for UI visualisation, icon exploration or storyboards. Carries generator, model, date and inputs. Never used in place of a real artist or a real photograph.
Schema18.02

Required fields

Eleven fields on every record, plus what art, nature and generated records add.

Every field, by kind
All records
FieldMeaning
id reqStable slug; derivative filenames derive from it
type reqart · nature · generated
title reqThe institution's title, unedited
creator reqArtist, photographer, agency or generator
institution_or_agency reqHolding institution or issuing agency
source_url reqThe object page at the institution
rights reqRights statement in the institution's words
rights_urlWhere the statement lives, when published
date_accessed reqISO date the record was verified
local_file reqPath inside the package
source_kind reqOne of the three kinds above
derivatives[]Each: file, recipe, config, engine, source, source_kind
Art adds
object_id reqAccession / object number
date, mediumAs catalogued
image_sourceThe IIIF or CDN URL fetched
themeCuration theme: creation, sublime, light, work…
Nature adds
locationPlace, orbit or field
dateWhen available
agencyNASA, Library of Congress…
subjectmountains, water, clouds, geology, astronomy…
Generated adds
generator reqTool and account, e.g. Codex Image 2.5 (codex --2)
modelModel identifier
source_inputs reqPrompt, palette tokens, reference ids (may be empty list)
transformation_statusuntransformed · transformed by recipe
Validator18.03

Deterministic, fails loud

One script, run before packaging, exits non-zero on any missing field.

Runspython3 tools/validate_provenance.py over both manifests, before packaging and in the JEV provenance gate.
Fails onAny missing required field; an art record without object_id; a generated record without generator or inputs; a local_file or derivative that does not exist on disk; a derivative whose source is not a record.
ReportsCount by type and source kind, and the first missing fields by record id. Exit code 1 on any failure.
Downloadsart/manifest.json · art/manifest.csv · nature/manifest.json · nature/manifest.csv · the standard
Register18.04

Every packaged source

The full register of art, nature and generated records with rights and source links.

The register, record by record
KindCreatorTitleInstitution / agencyObjectRightsSourceDeriv.