Generated assets v13 in UCB Active Archive Object Storage

Documentation index · Stage 13 convergence · Corrected release notes · Superseded standard-only attempt · Release runbook · Historical v12 publication

Generated assets v13 are published separately from the source release at the immutable Berkeley S3 prefix cartofreako/v13/. The recovery archive remains the GitHub release asset; the extracted S3 tree exists for direct previews, PDF/PNG access, and same-origin streaming display of compressed SVGs.

Release identity

Field Value
Endpoint https://s3-ewh.ist.berkeley.edu
Signing region us-east-1
Bucket adekosnik-bucket01
Immutable prefix cartofreako/v13/
Source tag v20260808.1
Source commit e3e2e2a68520010000aeda16d9f1842201da9130
Recovery package package/assets.generated.v13.tar.xz
Package SHA-256 eb1f297fb625fb4c45a4e0b3bbf2b3a041295b8178eaa4bc294b0b078ff427b4
Completion marker release.json

Projection-first object layout

cartofreako/v13/
├── tree/
│   ├── cahill-keyes/{svg,pdf,png,thumbnail}/
│   ├── authagraph/{svg,pdf,png,thumbnail}/
│   ├── dymaxion/{svg,pdf,png,thumbnail}/
│   ├── myriahedral/{svg,pdf,png,thumbnail}/
│   ├── star-x/{svg,pdf,png,thumbnail}/
│   └── voronoi/{svg,pdf,png,thumbnail}/
├── package/assets.generated.v13.tar.xz
├── README.md
├── viewer.html
├── SHA256SUMS
└── release.json

The source archive has 909 regular files: 211 SVG, 84 adjacent deterministic resource SVG-gzip copies, 211 PDF, 211 full-size PNG, and 192 thumbnails. The browser tree has 825 files because every one of the 211 SVGs is stored exactly once as an explicit .svg.gz; raw SVGs are absent. Thirty-two thumbnails are provided for each projection. Exact per-projection checks require both Cloud-atmosphere and Fiber Synthesized in SVG, PDF, full PNG, and thumbnail form.

The sorted SHA256SUMS file covers 828 payload objects. With the manifest and last-written release.json, the completed prefix has 830 objects. Absence of the marker means the prefix is incomplete, regardless of any other files.

Browser delivery

Object class Content-Type Content-Encoding Cache and access
tree/*/svg/*.svg.gz application/gzip absent public-read; one-year immutable
tree/*/thumbnail/*.png image/png absent public-read; one-year immutable
viewer.html text/html absent public-read; one-year immutable
PDF, full PNG, package, and metadata inferred from filename absent public-read; one-year immutable

The six documentation grids embed only the 480-pixel S3 thumbnail PNGs. A selection opens viewer.html?asset=<projection>/svg/<name>.svg.gz. The viewer validates the nested path, fetches it at the same origin, and streams the response through DecompressionStream("gzip"). It offers both compressed and decompressed downloads. This avoids loading multi-megabyte SVG or 4K PNG data for contact-sheet display.

Build, validate, and publish

The builder accepts only the tagged recovery archive, validates the exact projection/format inventory, round-trips every gzip member to its source SVG, and creates a new staging directory rather than modifying an existing one:

scripts/build-generated-assets-s3-release.sh
scripts/upload-generated-assets-s3-release.sh --validate-only

That local-only command is the supported v13 check going forward. The public prefix already has its completion marker, so an applied v13 command must not be rerun. Uploader 6 performed the historical applied run shown in the evidence table below. Uploader 7 subsequently validated the same sealed 830-object tree through shared alpha60-clusterops implementation cebba0d8144f46f75997f568e7f5b3a36e4161ef; v14 is the first intended applied shared-engine release.

For a newly versioned, not-yet-published prefix, an authenticated dry run uses an empty temporary rclone configuration and credentials entered silently through /dev/tty:

scripts/upload-generated-assets-s3-release.sh

An applied new release requires exact destination confirmation, uploads one SVG gzip and thumbnail pilot, checks anonymous bytes and HTTP metadata, publishes general objects and compressed SVGs in separate phases, verifies all payload objects, writes release.json last, and optionally reads every stored object back:

scripts/upload-generated-assets-s3-release.sh --apply --verify-download

The command above documents the versioned adapter workflow; it is not an instruction to mutate completed cartofreako/v13/.

The uploader uses rclone copy --checksum --immutable --check-first; it never uses sync or move. Unexpected pre-existing keys are rejected and nothing is deleted. Credentials are unset before report production.

Active Archive report and delivery

After a successful applied run, the uploader builds the canonical three-page Devastation Pacific report titled cartofreako v13 checked in to UCB Active Archive Object Storage. The tracked source template is docs/releases/v13-active-archive-report.html.in; generated delivery files are:

reports/cartofreako-v13-ucb-active-archive-check-in.html
reports/cartofreako-v13-ucb-active-archive-check-in.pdf

The builder checks the Active Archive document-kind marker, exact title, tagged three-page US Letter structure, embedded/subset Atkinson Next/Mono fonts, Unicode maps, extracted evidence text, and rendered QA pages. It never selects a generic deposit-report.pdf.

Uploader 6 historically opened a desktop composer for this release, but that handoff selected an Emacs buffer and was not used as delivery evidence. After all three QA pages were visually inspected, the canonical PDF was sent directly through authenticated Gmail to b.dekosnik@gmail.com and abigail.dekosnik@gmail.com with the exact report title as its subject. The evidenced automatic delivery completed at 2026-08-08 08:18:28 PT.

Uploader 7 removes xdg-email. It runs the exact Cartofreako validator and then delegates credentials, dry runs, pilots, immutable copies, marker-last publication, and readback to the shared alpha60-clusterops AAO interface. After report construction it writes a credential-free Gmail outbox request. Following report QA, the authenticated release orchestrator consumes that request automatically and records delivery; it does not ask the operator to send or confirm the message. Opening a local composer is explicitly forbidden and never counts as delivery.

Verified publication evidence

Evidence Recorded value
Upload run 20260808T145540Z
Verification completed 2026-08-08 08:12:10 PT
Complete objects 830
Complete stored bytes 2,800,589,791
Manifest SHA-256 63d110a47a9bce5c7ec6e437ac74977e51cd3fe9ab2e01947735c57f69d0083a
Completion-marker SHA-256 1942bfee10dac2804cf4a0db85afe01952cf6fadaab8c7d69909b587098e1723
Full download verification Passed; every remote object was read and re-hashed
Public documentation assets Marker, viewer, and all 12 new Cloud-atmosphere/Fiber thumbnails matched staging byte-for-byte
Report PDF SHA-256 ef8c093e0cafe25ad7c469627cf5a68c303d5d2ae7cb34b64086fd679d8fbd71
Report QA Three US Letter pages structurally checked and visually inspected
Report delivery Automatic authenticated-Gmail delivery completed at 2026-08-08 08:18:28 PT to both required recipients with the canonical PDF attached

Immutability

Never repair or replace bytes under cartofreako/v13/ after its completion marker is public. Corrections require a new generated-assets version and S3 prefix. The historical cartofreako/v12/ release is likewise unchanged.