Skip to content

Hold the licence-field claim to what the reading supports (#1) - #144

Merged
iderex merged 1 commit into
mainfrom
decisions/licence-field-claim-held-to-its-reading
Aug 25, 2026
Merged

Hold the licence-field claim to what the reading supports (#1)#144
iderex merged 1 commit into
mainfrom
decisions/licence-field-claim-held-to-its-reading

Conversation

@iderex

@iderex iderex commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Scope: decisions/, README.md

A correction to two sentences that landed with #142 and were argued in #1.

What was wrong

README.md and decisions/licensing.md each said that nothing on the platform
side can be made to state both licences this tree grants under. One command sat
behind that, and it says something narrower:

gh api repos/Flowfin/hub --jq '.license.spdx_id'
AGPL-3.0

That reading is about one field. Whether some other surface of the platform could
be made to carry a second licence was never looked at, so the sentence asserted an
absence over a population that had not been read. It is the defect the first rule
here is written against, and it is worse in these two files than it would be
almost anywhere else: they are what a reader consults about licences, so the
sentence would have been quoted onward rather than checked.

What is here instead

The property the reading actually shows, which is that the field is a single
object and cannot hold two:

gh api repos/Flowfin/hub --jq '.license | type'
object

gh api repos/Flowfin/hub --jq '.license'
{"key":"agpl-3.0","name":"GNU Affero General Public License v3.0","node_id":"MDc6TGljZW5zZTE=","spdx_id":"AGPL-3.0","url":"https://api.github.com/licenses/agpl-3.0"}

Run 2026-08-25. Both sites now state that, say in one sentence that no claim is
being made about other surfaces, and give the positive reason the declaration is
a file in the tree: the tree is where this repository answers a licence question.

Nothing about which licence reaches which byte changes, and the parts of the
declaration are untouched.

The means

Markdown, in the two files being corrected. No language, no runtime and no
dependency is added, and site-links-resolve, format and editorconfig read
these bytes as they read the rest.

The gate

go run . gate

green at 8456e13, 14 of 14 legs examined and passed.

The harness did not run and none of its three requirements was asked for:
needs-network, needs-browser, needs-jellyfin. No leg depends on any of them, so
this verdict is complete for what the gate covers and is evidence of nothing the
harness would have measured.

Guards

None added. This is prose, and no leg of this gate has a licence as its subject.

The reader

There is no second reader on this board tonight. Every claim above carries the
command that produced it, re-runnable at 8456e13, and that stands in place of
one.

Two sites landed with a sentence saying nothing on the platform side can be made
to state both licences. The reading behind it was one command, `.license.spdx_id`
returning a single value, and that command says something narrower: this field
holds one licence. What the platform can be made to say on some other surface was
never read, so the sentence asserted an absence over a population nobody had
looked at.

The failure this prevents is the one rule 1 is written against. A claim wider
than its evidence reads exactly like a measured one, and this pair sits in the
two documents a reader most trusts about licences, so it would have been quoted
onward rather than checked.

Both sites now state the property the command shows, `.license` is an object and
not a list, and say plainly that no claim is being made about other surfaces.
The reason the declaration is a file in the tree is restated as the positive one
it always was: the tree is where this repository answers a licence question.

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex iderex added the documentation Improvements or additions to documentation label Aug 25, 2026
@iderex iderex self-assigned this Aug 25, 2026
@iderex iderex added this to the 1. Decisions of record milestone Aug 25, 2026
@iderex
iderex merged commit 8844521 into main Aug 25, 2026
36 checks passed
@iderex
iderex deleted the decisions/licence-field-claim-held-to-its-reading branch August 25, 2026 06:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant