art-project / r20260903-190616

Figure composite · 1 photograph · rosette · 6 rays · 1 unit per ray · 6 total · 2048×2048px · no AI — deterministic photographic composite · draft checks passed

Click the artwork for the full-resolution master. Below: how it was made, stage by stage.

STAGE 1
Ingest & Trust
complete
STAGE 2
Recipe
complete
STAGE 3
Compose
complete
STAGE 4
Evaluate
complete
STAGE 5
Provenance
complete

1Ingest & Trust

What happened: 1 photograph fingerprinted, matched to the signed attestation, orientation-normalized, and stripped of private metadata.

Output: 1 protected working copy with fingerprints.

DSCF4196.jpg
  • Original fingerprinted
  • Development attestation matched
  • Orientation normalized
  • Private metadata removed
Technical details
SHA-256 7394d814a5c78b824b66898954efa4f564f2c0a150eb7eae76529a8244259146
pHash c7b238878798b761
working copy 1350×1800px

2Recipe

What happened: 1 figure group cut from the black mirror with their real reflections; mirror lines detected for alignment.

Output: the recipe — rosette using DSCF4196.jpg; 6 rays, 1 unit per ray, 6 total (centre radius 0.1, unit height 0.34, figures outward).

DSCF4196.jpg

636×1370px · coverage 7.95% · mirror line 53%

3Compose

What happened: source units were placed whole along one ray with the mirror line a fixed distance from the centre, then the ray was repeated 6 times around the centre (lighten blend).

Output: the artwork above.

Step 1: Source units placed radially on one ray (the fundamental domain)
DSCF4196.jpg
Step 2: Rotated — the ray is repeated around the centre
DSCF4196.jpg

4Evaluate

What happened: the artwork was checked automatically before anything was signed.

Output: all checks passed.

No close pHash match detected against the source photographs (closest distance 23; anything under 12 would fail this preliminary check)
Image has real content (luminance spread 0.0932; under 0.04 would fail)
6-fold rotational symmetry holds (error 0.000341; over 0.01 would fail)
Colour scheme stays within the photographs' own (artwork chroma 0.003 vs source 0.004; over 1.005 would fail)
Raw check data
{
 "near_copy": {
  "distances": {
   "DSCF0639.jpg": 23,
   "DSCF4196.jpg": 33
  },
  "min_distance": 23,
  "passed": true,
  "threshold": 12,
  "note": "pHash only \u2014 add copy-detection embedding lane before production"
 },
 "blank": {
  "luminance_std": 0.0932,
  "passed": true,
  "threshold": 0.04
 },
 "symmetry": {
  "rotational_error": 0.000341,
  "fold": 6,
  "passed": true,
  "threshold": 0.01
 },
 "color_scheme": {
  "canvas_chroma_p99": 0.003,
  "source_chroma_p99": 0.004,
  "passed": true,
  "threshold": 1.005
 }
}

5Provenance

What happened: the recipe, source fingerprints, every contribution, and the final hash were recorded in a manifest containing the signed artist attestation.

Output: a manifest and this offline verification report — DRAFT CHECKS PASSED.

artwork hash matches · development attestation signature valid · 1 of 1 photographs attested and contributing · no platform signature yet (dev run)

All assertions
assertionleveldetail
final_artifact_hashcryptographically_verified54d1f70935ac46a5962d4dea97fcb48e378e46b41869784fab1f379ab092728a
artist_attestationartist_attestedEd25519 signature valid — manually witnessed ceremony, not institutional identity proofing
source_attested:figurecryptographically_verified7394d814a5c78b82
source_file:figurecryptographically_verifiedDSCF4196.jpg
source_contributes:7394d814a5c7cryptographically_verifiedhas material deterministic contribution
contribution:figurecryptographically_verifiedop=figure_cutout_placement materiality={'affected_area_pct': 1.35, 'mean_delta': 0.2624} post_genera
platform_signaturenot_collectedno platform signature in bundle (unsigned draft)

Audit

program mirror_frieze v0.1.0 · family symmetry_guaranteed · assignment grammar · model none · output 2048×2048px · final sha256 54d1f70935ac46a5962d4dea97fcb48e378e46b41869784fab1f379ab092728a

Technical operation log
tstageoptooldetail
0.0s1 · Ingest & Trustsha256_originalhashlib (stdlib)DSCF0639.jpg → c6799ba1d425373e…
0.0s1 · Ingest & Trustattestation_checkEd25519 (cryptography)DSCF0639.jpg: hash covered by signed attestation ✓
0.3s1 · Ingest & Trustperceptual_hashimagehash (DCT pHash)DSCF0639.jpg → cb6d3096c6593b2c
1.2s1 · Ingest & Trustnormalize_working_copyPillow (exif_transpose · LANCZOS · PNG)DSCF0639.jpg → working_c6799ba1d425.png (EXIF/GPS stripped, 1800px) sha b61f7865ea99bd66…
1.2s1 · Ingest & Trustsha256_originalhashlib (stdlib)DSCF4196.jpg → 7394d814a5c78b82…
1.2s1 · Ingest & Trustattestation_checkEd25519 (cryptography)DSCF4196.jpg: hash covered by signed attestation ✓
1.6s1 · Ingest & Trustperceptual_hashimagehash (DCT pHash)DSCF4196.jpg → c7b238878798b761
3.1s1 · Ingest & Trustnormalize_working_copyPillow (exif_transpose · LANCZOS · PNG)DSCF4196.jpg → working_7394d814a5c7.png (EXIF/GPS stripped, 1800px) sha 6438ef2e040be352…
5.1s2 · Recipeextract_figure_unitfigure.py (luminance ramp × component mask)DSCF4196.jpg → unit 636×1370px, coverage 7.95%, waterline 0.5277
7.6s2 · Recipeextract_figure_unitfigure.py (luminance ramp × component mask)DSCF0639.jpg → unit 1091×1336px, coverage 7.69%, waterline 0.4222
7.9s2 · Recipecanonical_reciperfc8785 (JCS) · hashlibpattern=rosette source_units=['DSCF4196.jpg'] rays=6 rings=1 · source chroma envelope p99 0.004 — stage 2 complete
8.6s3 · Composecompose_layerfigure.py (deterministic placement)rosette: 1 unit placed radially on the fundamental domain (one of 6 rays)
10.9s3 · Composerosette_completefigure.py (PIL rotate · NumPy max)layer rotated 6× about the centre and lighten-blended
11.7s4 · Evaluatedeterministic_gategate.py (pHash · rotation · luminance · LAB chroma)PASS
11.7s5 · Provenancemanifest_writtenrfc8785 · hashlib · pydanticfinal sha 54d1f70935ac46a5… → manifest.json
Raw signed manifest
{
  "manifest": {
    "schema_version": "1.5.0",
    "family": "symmetry_guaranteed",
    "program": "mirror_frieze",
    "program_version": "0.1.0",
    "grammar": {
      "pattern": "rosette",
      "k": 6,
      "spacing_frac": 0.06,
      "axis_gap_frac": 0.02,
      "fig_h_frac": 0.34,
      "alternate": true,
      "figure_order": [
        "DSCF4196.jpg",
        "DSCF0639.jpg"
      ],
      "rings": 1,
      "radius_frac": 0.1,
      "head_out": true
    },
    "parent_works": [],
    "symmetry_program_version": "0.1.0",
    "recipe_sha256": "95daf956deef9acbd921ffa29765a1bfb2e5cb48bc38db292eb89017ebbb8263",
    "sources": [
      {
        "roles": [
          "figure"
        ],
        "original_sha256": "7394d814a5c78b824b66898954efa4f564f2c0a150eb7eae76529a8244259146",
        "working_copy_sha256": "6438ef2e040be352c6d1096e1c98aabe6de52dea9acd7350dc41dffbdca7ba30",
        "asset_id": "7394d814a5c78b824b66898954efa4f564f2c0a150eb7eae76529a8244259146",
        "role_scores": {}
      }
    ],
    "contributions": [
      {
        "role": "figure",
        "source_sha256": "7394d814a5c78b824b66898954efa4f564f2c0a150eb7eae76529a8244259146",
        "tier": "deterministically_incorporated",
        "artifact_sha256": "14a5f6bab1209ac3d78ec29dd170fbfa023e55e0cab4cccc940272b76c85768d",
        "op": "figure_cutout_placement",
        "op_params": {
          "pattern": "rosette",
          "waterline": 0.5277,
          "placement_count_per_half": 1,
          "materiality_metric": "leave_one_source_out_mean_abs_rgb_delta"
        },
        "materiality": {
          "affected_area_pct": 1.35,
          "mean_delta": 0.2624
        },
        "post_generative": true,
        "receipt_sha256": "not_collected"
      }
    ],
    "model_calls": [],
    "intermediate_sha256s": [
      "0ac257399520e21ce1ffc69570602a111de631e8b25b2ba12cb5f314468f3a72"
    ],
    "evaluations": [
      {
        "evaluator": "deterministic",
        "passed": true,
        "checks": {
          "near_copy": {
            "distances": {
              "DSCF0639.jpg": 23,
              "DSCF4196.jpg": 33
            },
            "min_distance": 23,
            "passed": true,
            "threshold": 12,
            "note": "pHash only \u2014 add copy-detection embedding lane before production"
          },
          "blank": {
            "luminance_std": 0.0932,
            "passed": true,
            "threshold": 0.04
          },
          "symmetry": {
            "rotational_error": 0.000341,
            "fold": 6,
            "passed": true,
            "threshold": 0.01
          },
          "color_scheme": {
            "canvas_chroma_p99": 0.003,
            "source_chroma_p99": 0.004,
            "passed": true,
            "threshold": 1.005
          }
        }
      }
    ],
    "human_approval": "not_collected",
    "artist_attestation": {
      "artist_pubkey_b64": "bGAayhjZWs4GhVnN4UThcVqmF5ZgaPkudAzZhm84j8c=",
      "ceremony_ref": "NONE-DEV",
      "payload_sha256": "0889c24d5f510b512435a49684f798754577525e1a528aa91b274815647754dd",
      "signature_b64": "PuphVGkqtdE+eth/zg9H5q88nG5A+PtwHz0GlGJSYJZuucm8A8rHs3cZx4QcNKekN+4s4I2wP4SPAJDKIJKBDw=="
    },
    "container_image_digest": "not_collected",
    "final_master_sha256": "54d1f70935ac46a5962d4dea97fcb48e378e46b41869784fab1f379ab092728a",
    "created_at": "2026-09-03T19:12:19+00:00"
  },
  "attestation_payload": {
    "statement": "DEV-ONLY attestation for pipeline testing; no ceremony performed.",
    "artist": "Dev Preview (unwitnessed)",
    "source_sha256s": [
      "c6799ba1d425373efae26267d23716ff8d30f80162b79b02249d6e645d1c58d7",
      "7394d814a5c78b824b66898954efa4f564f2c0a150eb7eae76529a8244259146"
    ],
    "source_names": [
      "DSCF0639.jpg",
      "DSCF4196.jpg"
    ],
    "attested_at": "2026-09-03T19:06:16+00:00",
    "ceremony_ref": "NONE-DEV"
  }
}