# The licence ledger.

*Every model our products run — and every model we benched on the way — with its licence **read first-hand and stamped with the date we last read it**. Not a summary of someone's summary: the licence file that ships with the weights, the platform's raw permission record, the vendor's current text. When a clause moves, the row moves, and the change is named here.*

*Published 2026-08-11 · rows last read 2026-08-29 · page updated 2026-09-04 (UTC) · a small (human) team and a fleet of AI agents*

**the short version:** Every model we run or bench, its licence read from the actual text — the page the others cite instead of restating.

7,101 words · about 32 minutes (at 220 words/min) · 0 tables · data kit: no

https://research.strata2signal.com/licences/

---

## How to read this page {#how-to-read-this-page}

Each row carries six columns — the model, the seat it holds here, the licence, the day we last read it, what that licence asks of us, and what it permits you. The method for each read is named once per table, above it, so you can repeat the read yourself. The date on each row is the day that licence text was last read in full by us — not the day the row was written. First things first, the fact every row stands on: **our products ship zero model weights.** In the shipped products, every model is one you choose and download yourself, on your machine, under that model's own licence. And where a licence withholds hosted-service use, we treat that as binding on anyone operating a server, ourselves included — that is why one painter below — Juggernaut-XL v9 — is benched and never wired.

We are not lawyers, and this is research notes, not legal advice — each licence is its own authority, linked or named so you can read it yourself. Corrections welcome: [hello@strata2signal.com](mailto:hello@strata2signal.com). Model, company, and platform names on this page are the trademarks of their respective owners, used only to identify what we read — no affiliation or endorsement is implied, and no licence here grants us any trademark right.

## The brains · chat, vision, memory · all read 2026-08-11 {#the-brains-chat-vision-memory-all-read-2026-08-11}

Read via ollama show <tag> --license — the licence file packaged with the weights themselves, read in full, not skimmed for a name.

gemma4:12b (q4)

the narrator — the locked co-resident chat seat

read 2026-08-11

licence

what it asks of us

what it permits you

gemma4:26b (a4b)

the 96G workstation posture seat (the locked co-resident default remains 12b)

read 2026-08-11

licence

what it asks of us

what it permits you

qwen3-vl:2b

the world's eyes — vision intake

read 2026-08-11

licence

what it asks of us

what it permits you

nomic-embed-text

the world's memory — the pinned embedder (swapping it means re-writing every vector, so it is never swapped casually)

read 2026-08-11

licence

what it asks of us

what it permits you

qwen3.8:27b

the doorman — RuleSage's live question-screening seat (hired 2026-08-17; the audit is exhibit fourteen)

read 2026-08-18

licence

(the text packaged with the weights, read in full — 11,346 bytes, sha256 225c54bacb96eca3…)

what it asks of us

what it permits you

ms-marco-MiniLM-L6-v2

the careful reader — RuleSage's re-ranker, a cross-encoder trimmed to ~22 MB on the serving host

card read 2026-08-18

licence

(declared in the model card, read 2026-08-18; the deployed artifact ships only the quantized graph and carries no packaged licence text — so this row rests on the card's declaration, and says so)

what it asks of us

what it permits you

qwen3.5:27b

the re-bake's best voice — benched, awaiting a second card

read 2026-08-11

licence

what it asks of us

what it permits you

Cards with the oxblood edge are seats our own worlds run today. Receipts from the reads, because a ledger should show its work: the 12b tag ships the Apache body without the appendix (the appendix is the how-to-apply boilerplate, not terms — noted because we read to the end, not because anything is missing); the 26b and qwen3.5:27b blobs are byte-identical stock text; qwen3-vl ships the licence *twice* — two byte-identical copies concatenated by the packager, most likely one per component — a 402-line dump that is still just Apache 2.0; and nomic-embed's blob is the stock text with no addendum of any kind, which is the whole basis for the no-claim-over-embeddings cell in its row. None of the five names a copyright owner in the blob — which means the §4 notice duties cannot be discharged from these files alone: the actual holders live in the upstream model cards, and ollama show --license proves what was packaged, not who licensed the weights. And the claim that matters most, stated exactly as far as our evidence reaches: **the licence blobs these tags ship carry no Gemma custom terms** — earlier gemma generations packaged them, these do not. That is a read of the redistributed file, not of the vendor's own terms page; when we have read that second source first-hand, this row will say so.

Bench history without a fresh stamp: gemma2:9b (the 8G-era voice pick) appears in [the voice trials](../voice-trials/) but is not installed on the bench box today, so we cannot re-read its shipped licence — and this ledger stamps only what we actually re-read. Its row will return if it does. The qwen3.6 of that field was in the same state on 2026-08-11; a qwen3.6 build was pulled for the August trials and read on 2026-08-12, and its row is in the next section — note the tag, qwen3.6:27b, which is not the qwen3.6:latest that field ran.

## The sound department · music generation, stems, encoding · read 2026-08-25 / 26 {#the-sound-department-music-generation-stems-encoding-read}

Read from the LICENSE files in the repositories and the Hugging Face model cards themselves, in full — the same first-hand reads behind the local-music landscape study. Everything below runs on strata→signal hardware, on-prem; nothing is sent to a cloud service. The interactive tools' own sounds carry no third-party licence at all — see the closing note.

ACE-Step 1.5 (turbo · acestep-5Hz-lm)

the song engine — local full-song generation; the source tracks the demos are built from

read 2026-08-25

licence

(the repo LICENSE and the weights' HF cards read end-to-end — plain MIT, no acceptable-use rider; the bundled Qwen3-Embedding component is separately Apache 2.0)

what it asks of us

what it permits you

Demucs · htdemucs / htdemucs\_6s

the splitter — 4- and 6-way stem separation, run on-prem on CPU

read 2026-08-26

licence

(© Meta Platforms; the adefossez fork LICENSE read in full, no weights carve-out)

what it asks of us

what it permits you

FFmpeg (static build)

the encoder — MP3 / WAV export off the generation host

installed 2026-08-25

licence

(the johnvansickle static build bundles GPL-licensed encoders; FFmpeg's own core is LGPL-2.1+. Invoked only as a standalone binary — never linked into our code)

what it asks of us

what it permits you

The Beat Module and the mixing tools ship **no third-party audio code and no samples**: every drum voice, sample-pad sound, filter sweep and reverb is synthesised from first principles in the browser's own Web Audio — nothing borrowed, nothing to license. So the sound the tools *make* is ours; the two models above only ever run on our own hardware, on-prem, to make the source material — nothing in this department reaches a cloud service.

## The trial roster · the August arrivals and one incumbent · read 2026-08-12 {#the-trial-roster-the-august-arrivals-and-one-incumbent-read}

Read via ollama show --license <tag> — the same method as the brains above, on the blobs pulled for the 2026-08 trials. These five rows are **receipts, not readings**: this cycle recorded the first line of each licence text verbatim, a sha256 of the whole text, and its size — and the row says that and stops. No verdict is pre-judged here. One of these tags carries bespoke vendor terms rather than a stock licence, and a row that summarised them from a first line would be exactly the guess this page exists to refuse. The clause-level read is queued; when it lands, these rows say more and carry a newer date. The models themselves sit [the August arrivals](../august-arrivals/), where their numbers are published in full.

muse-glimmer:30b-q8\_0-dflash

benched on both house exams 2026-08-12 — no seat

read 2026-08-12

licence

**no licence text at all**

**Apache 2.0**

what it asks of us

what it permits you

nemotron-3.5-lightning:30b-a3b

benched on both house exams 2026-08-12 — no seat

read 2026-08-12

licence

**"NVIDIA Open Model License Agreement"**

what it asks of us

what it permits you

qwen3.6:27b

benched on both house exams 2026-08-12 — no seat

read 2026-08-12

licence

**"Apache License"**

what it asks of us

what it permits you

olmo-3.1:32b-think-q4\_K\_M

benched on the judge exam 2026-08-12 — no seat

read 2026-08-12

licence

**"Apache License"**

what it asks of us

what it permits you

granite4.1:30b-q8\_0

the incumbent on the roster — cleared both floors of the judge trial

read 2026-08-12

licence

**"Apache License"**

what it asks of us

what it permits you

Receipts, because a ledger should show its work. Three of these five blobs open with the same two words and are still three different files: 11 358 characters over 203 lines, 11 359 over 203, and 11 358 over 202, with three different sha256s between them. That is why the receipt is a hash and a size and not a name — *"Apache License"* is what the first line says, not proof of what the other eleven thousand characters do. The sharpest artifact of the read is the first row: a 30B model packaged with an empty licence file, which no summary of anyone's summary would ever have surfaced. The dates on these five rows are the day the text was read; what the text *means* is a read we still owe, and every row says so until we have made it.

## The new trial roster · the candidate the 24 GB battery brought in · read 2026-08-29 {#the-new-trial-roster-the-candidate-the-24-gb-battery}

One row, and it sits under its own heading rather than with the five above because it was read a different way on a different day. Laguna XS 2.1 sat [the instrument travels](../the-instrument-travels/) as the one candidate of that battery with no earlier bench on this hub, and the packaged blob is not the source here: the read is the vendor's own LICENSE.md at the model repository, opened in full on 2026-08-29 and cross-read against the model card above it and the tag's own library page, which name the same licence and the same publisher.

laguna-xs-2.1:latest

the fifth candidate of the 24 GB battery, 2026-08-26 — benched, no seat

read 2026-08-29

licence

**OpenMDW-1.1**

*"OpenMDW License Agreement, version 1.1 (OpenMDW-1.1)"*

**Poolside**

Three sources, read the same day and named because a maker is a fact this ledger reads rather than infers: the vendor's licence file at huggingface.co/poolside/Laguna-XS-2.1/blob/main/LICENSE.md, the model card above it, and the tag's page at ollama.com/library/laguna-xs-2.1. All three name Poolside as publisher and OpenMDW-1.1 as the licence; the model card's own sentence is *"Laguna XS 2.1 is released under OpenMDW-1.1, a fully permissive license."* Until this read the model roster carried no maker for the tag at all, and said so on its own page rather than guessing one.

what it asks of us

what it permits you

Why one row earns its own heading: the section above is stamped 2026-08-12 and its method is the packaged blob read through the runtime. This row is neither — a later day, a different source — and folding it under that heading would have made the heading untrue of one of its own rows. The other four candidates of that battery already reach [the model roster](../roster/) through the benches that measured them.

## The painters · diffusion · read 2026-08-11 except where a row says otherwise {#the-painters-diffusion-read-2026-08-11-except-where-a-row}

Read via each model's authoritative record: the creator's permission flags fetched as raw JSON from civitai.com/api/v1/models/<id> (not the page prose — the ids are in the rows), and the licence files at their source repositories. The painters' bench story — who paints best — lives on [the diffusion research bench](../diffusion/new-arrivals/); this table is only the law.

The four Civitai permission flags, in words: Image = generated images may be shared · RentCivit = the model may run on Civitai’s own generator · Rent = other hosted services may run it · Sell = the model file itself may be sold. ✓ = granted, ✗ = withheld.

albedobaseXL v2.1

the painter of record

read 2026-08-11

licence

**required**

**Two evidence bars, both ours — and this is the one row on the page that is read to both.** The first bar is the row above: the creator's permission flags, read first-hand from the platform's raw record on 2026-08-11. That is the bar our campaign's own kits ship under, and nothing here withdraws it. The second bar is stricter and this painter does not clear it: our newer bench harness publishes a picture only when the licence *text itself* has been opened and read, and for this model that text has never been found — so the new-arrivals bench (2026-08-23, the section below) withholds this painter's images entirely. Its verdict there is unverified: its renders are counted, painter by painter, and none of its pictures is published. A permission flag is a record of what a creator ticked; a licence text is a document you can read to the end. We would rather name the gap between the two than quietly treat them as the same thing.

what it asks of us

what it permits you

sd\_xl\_base 1.0

the sketch pipeline's base

read 2026-08-11

licence

what it asks of us

what it permits you

flux.1 \[schnell\]

the fast brush — the 4-step painter behind 2,296 of the campaign census's 2,828 renders ([the census](../diffusion/#census))

read 2026-08-11

licence

what it asks of us

what it permits you

Juggernaut-XL v9

bench candidate only — never wired into a product

read 2026-08-11

licence

**Rent ✗**

what it asks of us

what it permits you

**not**

flux.1 \[dev\]

held — shown only as research receipts (ruled 2026-09-04)

read 2026-08-23

licence

(re-read in full 2026-08-23 for the new-arrivals bench, 18 621 bytes, alongside the v2.1 text the 2026 repacks point at — the operative sentences are the same in both, and the re-read confirmed this row rather than moving it. The same hold is enforced per cell on that bench, in the section below.)

what it asks of us

what it permits you

research receipts (ruled 2026-09-04)

[Nine Worlds, One Dog](/nine-worlds-one-dog/)

[The Dog, the Dice, and the Painter](/the-dog-the-dice-and-the-painter/)

*held — nothing published*

pixel-art-xl (LoRA)

quarantined

not re-read this cycle

licence

what it permits you

realvis xl 5.0 · pixel-art-redmond

withheld — unverified

not re-read this cycle

licence

what it asks of us

what it permits you

sd 3.5 · hidream · lumina

candidate painters — in the census, not yet read

not re-read this cycle

licence

what it permits you

A reading trap we hit so you don't: the OpenRAIL++ file as shipped renders its Section III clauses without numerals while the text cross-references "paragraph 5" — map paragraph 4 to *Distribution*, 5 to *Use-based restrictions*, 6 to *Output*, or you will quote the wrong clause. And this read of the civitai flags is finer-grained than our last: the full permission arrays are now recorded verbatim (Rent present for AlbedoBase, absent for Juggernaut) — refining the prior reading, not contradicting it.

## The new painters · the new-arrivals diffusion bench · all read 2026-08-23 {#the-new-painters-the-new-arrivals-diffusion-bench-all-read}

**Update, 2026-08-24 — twelve painters' rows added.** What changed, in plain words: the new-arrivals diffusion bench sat thirteen open-weight image models down in front of one small world and had each of them paint it, and before a single pixel was rendered it opened every one of those painters' licences first-hand. Those reads are folded into this ledger below. The window at both ends: the licence texts were opened on **2026-08-23 (UTC)**; the rows landed on this page on **2026-08-24 (UTC)**. Against what stood here before: until today this ledger carried the three painters our game's own campaign actually ran — AlbedoBase XL 2.1, FLUX.1 \[schnell\] and FLUX.1 \[dev\] — beside the first bench's roster and its quarantined and unread LoRAs, and not one of the twelve models below had a row here at all. The painters' bench story — who paints best — lives in [the diffusion wing](../diffusion/new-arrivals/); this table is only the law.

Read from the licence text itself, at the source the vendor actually publishes it: each file was downloaded, its byte size and sha256 recorded, and diffed against the canonical text of the licence it claims to be — so a row that says *Apache 2.0* here means a file we hashed, not a tag we trusted. Each row is keyed on the **checkpoint filename as it lands on disk**, because a filename is the only thing a render manifest records; a quantisation does not relicense, so a repack takes its parent's reading and the row says so.

The mark at the head of each row is the verdict the bench's own publication law enforced — per painter, per cell, not per page. published means that painter's pictures are on the bench. held and unverified both mean the renders were made and are counted, painter by painter, and none of the pictures was published — and they are *not* the same fact: held is a licence we read that refuses republication of the outputs, unverified is a licence we have never been able to find. Every row below says which, and one row is a read with no verdict at all, because that model never painted a cell.

flux.2 \[klein\] 4B

published — the only Apache FLUX

read 2026-08-23

licence

(opened 2026-08-23: 9 584 bytes, sha256 ca02bc51…; diffed against the canonical Apache text — identical modulo whitespace, bar the "how to apply" appendix, which the vendor omits. No Black Forest Labs rider, no acceptable-use annex, no output clause. The undistilled klein-base-4B ships a byte-identical file. Checkpoint: flux-2-klein-4b.safetensors. Source: huggingface.co/black-forest-labs/FLUX.2-klein-4B/blob/main/LICENSE.md)

what it asks of us

what it permits you

**Not to be confused with the 9B in the next row**

flux.2 \[klein\] 9B-KV (fp8)

held — counts only, no pictures published

read 2026-08-23

licence

(opened 2026-08-23: the edit variant's LICENSE is byte-identical to Black Forest Labs' canonical v2.1 text, 18 157 bytes, sha256 e98f298d…; the distilled 9B and klein-base-9B ship the same text plus a trailing newline. A quantisation does not relicense. Checkpoint: flux-2-klein-9b-kv-fp8.safetensors. Source: huggingface.co/black-forest-labs/FLUX.2-klein-9B/blob/main/LICENSE.md)

what it asks of us

what it permits you

flux.2 \[dev\] (fp8mixed)

held — counts only, no pictures published

read 2026-08-23

licence

(opened 2026-08-23 at the vendor's own code repository, which is where the canonical copy of this licence lives — 18 157 bytes, sha256 e98f298d…; the model pages carry the same text under a different filename. Checkpoint: flux2\_dev\_fp8mixed.safetensors. Source: github.com/black-forest-labs/flux2/blob/main/model\_licenses/LICENSE-FLUX-NON-COMMERICAL)

what it asks of us

what it permits you

flux.2-small-decoder

an accessory, not a painter — read on the way to the bench, never wired

read 2026-08-23

licence

(the repository holds **no LICENSE file**, checked 2026-08-23; the claim is the repo's own metadata plus the model card's sentence "This model is licensed under the Apache 2.0 licence", and the canonical Apache text is what we opened. Checkpoint: full\_encoder\_small\_decoder.safetensors. Source: apache.org/licenses/LICENSE-2.0, by way of huggingface.co/black-forest-labs/FLUX.2-small-decoder)

what it asks of us

**it carries no bench verdict**

what it permits you

**the base model it is paired with sets the picture's posture**

hidream-o1-image-dev (fp8)

published — the pixel-space one, no VAE in the path

read 2026-08-23

licence

(opened 2026-08-23: 1 066 bytes, sha256 05660a75…, canonical MIT text with "Copyright (c) 2026 HiDream.ai" and nothing added. **No LICENSE file sits in any of the model repositories** — the text lives in the vendor's code repository, and the vendor's README says in as many words that the *models*, not only the code, are MIT. Checkpoint: hidream\_o1\_image\_dev\_fp8\_scaled.safetensors. Source: github.com/HiDream-ai/HiDream-O1-Image/blob/main/LICENSE)

what it asks of us

**not**

*separate*

what it permits you

krea 2 turbo (fp8\_scaled)

published — the only row on this page with a revenue ceiling

read 2026-08-23

licence

(a six-page PDF, read in full 2026-08-23: sha256 b82a2805…, byte-identical at the pinned copy the model card itself designates, at the vendor's code repository, and in the ComfyUI repack of the weights. Bespoke terms, not a stock licence, which is why this row is the longest one here. Checkpoint: krea2\_turbo\_fp8\_scaled.safetensors. Source: krea.ai/krea-2-licensing)

what it asks of us

**only while the licensee's company-wide trailing-twelve-month revenue stays under US$1,000,000**

what it permits you

**us**

kandinsky 5.0 image lite

published — a late addition, read before it rendered

read 2026-08-23

licence

(opened 2026-08-23: 1 099 bytes, sha256 94946098…, canonical MIT with "Copyright (c) 2025 Kandinsky Lab" filled in and nothing added. The weights repository carries the licence as a metadata tag only — three files in the whole tree and none of them a LICENSE. Checkpoint: kandinsky5lite\_t2i.safetensors. Source: github.com/kandinskylab/kandinsky-5/blob/main/LICENSE)

what it asks of us

*guessed*

what it permits you

z-image turbo (bf16)

published — an incumbent of the first bench, re-read here

read 2026-08-23

licence

(opened 2026-08-23 at the vendor's code repository: 201 lines, md5 86d3f3a9…; diffed whitespace-insensitively against the canonical Apache text, the only difference is one leading blank line. **Neither model repository carries a LICENSE or NOTICE file** — the Apache claim on the model page is metadata, and the vendor's code repository holds the only text there is. If someone asks you for a licence file beside these weights, the honest answer is that there is not one. Checkpoint: z\_image\_turbo\_bf16.safetensors. Source: github.com/Tongyi-MAI/Z-Image/blob/main/LICENSE)

what it asks of us

what it permits you

z-image base (undistilled)

published — the slow sibling of the row above

read 2026-08-23

licence

(opened 2026-08-23; the same code repository's README announces both the turbo and the base release, so one text governs both. Checkpoint: z\_image\_bf16.safetensors. Source: github.com/Tongyi-MAI/Z-Image/blob/main/LICENSE)

what it asks of us

what it permits you

ernie-image turbo

published — Baidu's 8-step distill

read 2026-08-23

licence

(opened 2026-08-23: 11 366 bytes, sha256 5d7deeaf…; the only difference from the canonical text is the appendix placeholder filled in as "Copyright (c) 2025 Baidu, Inc. All Rights Reserved.". No rider, no acceptable-use annex, no threshold, and the word "output" does not occur. The undistilled sibling's file is byte-identical and carries the same row. Checkpoints: ernie-image-turbo.safetensors and ernie-image.safetensors. Source: huggingface.co/baidu/ERNIE-Image-Turbo/blob/main/LICENSE)

what it asks of us

what it permits you

chroma1-hd (fp8mixed)

published — the stylized independent

read 2026-08-23

licence

(**no LICENSE file exists in any of the author's four model repositories**, checked 2026-08-23. The declaration is the model page's metadata tag plus the README's own sentence — "It is fully Apache 2.0 licensed, ensuring that anyone can use, modify, and build upon it" — and what we opened is the canonical Apache text together with the author's own copy in their training-code repository, which matches it but for one trailing space. That is a licence read, and it is also a weaker footing than a file beside the weights; the row says so rather than levelling the two. A quantisation does not relicense, so this repack takes its parent's reading. Checkpoint: Chroma1-HD-fp8mixed.safetensors. Source: apache.org/licenses/LICENSE-2.0)

what it asks of us

what it permits you

mage-flow 4B turbo (int8)

published — the fastest credible sketch engine on the bench

read 2026-08-23

licence

(opened 2026-08-23: 1 066 bytes, sha256 275b4dd6…, standard MIT with "Copyright (c) 2026 Microsoft"; the vendor's README carries a per-model table whose row for this model reads "MIT". Neither mirror ships a LICENSE file — the text lives only in the vendor's code repository. Checkpoint: mage\_flow\_turbo\_int8\_convrot.safetensors. Source: github.com/microsoft/Mage/blob/main/LICENSE)

what it asks of us

**One:**

**Two:**

what it permits you

Receipts and the finding we did not expect. Across these twelve models the pattern is not the terms — most of them are stock Apache 2.0 or stock MIT, hashed and diffed against the canonical text — it is **where the terms live**. Z-Image, Chroma1, Mage-Flow, Kandinsky, HiDream and the small decoder all ship their weights with **no licence file beside them at all**: the claim is a metadata tag on a model page, and the only text that exists sits in a code repository somewhere else, or at apache.org. That is still a licence and we read it, but it is a weaker footing than a file in the same directory as the weights, and the rows say which footing each one stands on. The second finding is a family trap worth stating twice: **FLUX.2 \[klein\] 4B is Apache 2.0 and FLUX.2 \[klein\] 9B is not** — same vendor, same product name, one letter of difference in the size, and opposite verdicts. A ledger that read the family instead of the file would have got that backwards.

## Why this page is called living {#why-this-page-is-called-living}

A licence table with no date is a rumor with a straight face. Licences move — new versions, changed permission flags, revised clauses (flux's licence is at v1.1.1 and now covers a family of variants it didn't at our first read). So this ledger is **re-read, not archived**: every row carries the date its licence text was last read in full, we re-read whenever a seat changes or a model updates, and when a clause moves the row moves and the change is named in plain text. This page is the licensing authority for everything we publish — [the deep dive](https://realkeep.strata2signal.com/how/), [the diffusion bench](../diffusion/new-arrivals/), and [the voice trials](../voice-trials/) carry short credits and summaries, but none of them is the authority: where a page's wording and this ledger's dated row differ, the row wins, and the difference is a bug we want reported. Two things we owe you about the word *living*. The triggers above are ours to notice, so we also set a floor: **every row gets a fresh read at least every six months.** If the newest date on this page is older than that, we have slipped — that is a bug, and [telling us](mailto:hello@strata2signal.com) is the fastest fix.

## Provenance {#provenance-063a00}

- **First-hand** — every dated row was read from the licence text itself: the file packaged with the weights, the platform's raw permission record, or the vendor's current licence file. The method is named per table so you can repeat the read.
- **Dated** — the stamp is the day (UTC) of the last full read, not the day the row was written. No date, no claim.
- **Refusals count too** — unread models are withheld and say so. The diffusion bench's 1,261 considered renders split 661 published / 338 held / 262 withheld, and 84 of the 262 trace to three models across the two rows above: realvis xl 5.0 (48) and pixel-art-redmond (18), both unread, and pixel-art-xl (18), quarantined. The flux hold is enforced at the experiment level — every flux experiment is held whole — rather than per-render in the publication law; folding it into the law's own reason codes is queued work, and we say so instead of rounding it off.
- **Authorship** — read, drafted, and audited by the workshop's own agents under a human operator's rulings, then revised with that operator — often across many rounds; nothing releases until they have read it and signed off. The same division of labor this whole hub practices — [told in full here](../how-we-work/).

We wrote this page because we got tired of guessing, and because someone deciding whether to trust a small studio's software shouldn't have to read a shelf of licences to do it. So we read them, wrote down what we found, and put the dates on so you can tell how fresh the reading is — including the rows where the honest entry is a dash. The shelf grows; the ledger grows with it.

<!-- derived 2026-10-02 (UTC) by tools/derive_md.py from the served page.
     source html sha256: e9ceba139a4590143fd76df5243ce86ab69803419acffbc634616e6943b6102c
     derivation sha256:  fd2334e53800f5b18417561a926ad5dce80127717b8a19d76155c0e60fdb7efb
     the {#id} on each heading is the anchor that heading carries on the page. -->
