Exhibit four · the licence ledger · living
The licence ledger.
exhibit four Workshop notes
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
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.
ask about this page → assistant.strata2signal.com · in beta, still being tested
hardware on this page: RTX PRO 6000 Blackwell (96 GB) → research.strata2signal.com/hardware/ · the roster is in beta, still being tested
the short version
Every model we run or bench, its licence read from the actual text — the page the others cite instead of restating.
- The qwen3.8:27b doorman row contains a licence text of 11,346 bytes (see The brains · chat, vision, memory · all read 2026-08-11)
- The flux.1 [schnell] model is the painter behind 2,296 (see The painters · diffusion · read 2026-08-11 except where a row says otherwise)
- The krea 2 turbo row is the only one with a revenue ceiling of US$1,000,000 (see The new painters · the new-arrivals diffusion bench · all read 2026-08-23)
7,101 words, about 32 minutes to read.
The summary is this page’s own; the receipt lines were drafted by a model on this workshop’s network and every figure in them is in the article, checked before this page went out — what was dropped, and why, is in this page’s receipt file.
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. 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
Read via ollama show <tag> --license — the licence file packaged with the weights themselves, read in full, not skimmed for a name.
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 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
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.
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
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, where their numbers are published in full.
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
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 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.
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 through the benches that measured them.
The painters · diffusion · read 2026-08-11 except where a row says otherwise
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; 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.
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.
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
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; 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.
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
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, the diffusion bench, and the 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 is the fastest fix.
Provenance
- 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.
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.