Skip to content

Name the publishing organisation where the tree still stated the answer it replaced (#1) - #129

Merged
iderex merged 1 commit into
mainfrom
decisions/entry-4-names-the-publishing-organisation
Aug 22, 2026
Merged

Name the publishing organisation where the tree still stated the answer it replaced (#1)#129
iderex merged 1 commit into
mainfrom
decisions/entry-4-names-the-publishing-organisation

Conversation

@iderex

@iderex iderex commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

Part of #1, entry 4. It records the answer where the tree still stated the one it replaced, and it does not close the issue: entry 1 still has an open half, which is at the bottom of this body.

What was standing

Entry 4 asks whose name the manifest's owner field carries. Two answers were given and neither was withdrawn, and #1 records the difference rather than my restating it here. At c71e442:

git grep -n -i 'entry 4' origin/main
origin/main:decisions/first-release.md:128:which entry 4 answered on 2026-08-11 with the publishing organisation. The
origin/main:decisions/manifest-schema.md:58:publishing organisation, `Flowfin`, which entry 4 of #1 settled on 2026-08-11 for
origin/main:decisions/manifest-schema.md:234:carries, which is entry 4 and is now in the field list above. And whether the file
origin/main:decisions/names-are-data.md:55:question and is not settled here. Entry 4 of #1 settled it on 2026-08-11 with the
origin/main:decisions/plugin-identity.md:69:`owner` is read from the descriptor like the rest. Entry 4 of #1 decided that the
origin/main:internal/identity/identity_test.go:80:// The owner is read from the release rather than supplied here, which is entry 4

Five of the six name the publishing organisation. decisions/plugin-identity.md:69 names the releasing account, and it also carries the reason the answer was settled against: that the field should show the same name as the release it came from.

What this changes

decisions/plugin-identity.md names the publishing organisation and says what it was settled on, which is that the organisation is a name somebody outside this project can check against a published artefact where the releasing account is a fact about who pressed the button. The superseded reason is written as superseded rather than deleted, in the shape the entry 5 clause in the same file already took, so a reader who meets the older argument somewhere else can see it was answered rather than lost.

Three sentences go in beside it that the old text did not carry. That the reading of owner out of the descriptor is held up by decisions/names-are-data.md rather than by entry 4, so the ground does not move if the answer ever does. That Required in internal/identity/identity.go decides presence and non-whitespace and nothing further. And that the difference a wrong name makes first shows on the server that renders it, which #1 measures.

internal/identity/identity_test.go carried the same attribution a second time, calling the read entry 4 implemented. Entry 4 says which name the catalogue carries and names-are-data.md says where any name comes from, and the comment had them as one sentence. It separates them now. No behaviour changes and no expectation moves.

What I did not touch, and why

The four other sites are left as they are. They were not wrong, and rewriting them to look decided is the tidying the answer on #1 asked not to be done in the same change. They date the answer 2026-08-11, which is the day it was given, and the file this change edits says why that date and 2026-08-22 are both in the tree.

A negative result worth having

The answer on #1 also asks that the files citing entry 4 as unsettled stop citing it that way, and names three of them. I looked for them and found none. At c71e442:

git grep -n -iE 'entry 4[^.]{0,120}(open|unsettled|not settled|undecided)|((open|unsettled|not settled|undecided)[^.]{0,120}entry 4)' origin/main

That returns nothing, and the six sites listed above are the whole population the word reaches. Every one of them states an answer rather than an absence. So that half of the change had nothing to do, and I am saying so rather than leaving it looking done.

The gate at the head of this branch

go run . gate

gate examined 14 of 14 legs.
  build, test, format, editorconfig, tests-reach-nothing, no-hardcoded-names,
  site-fetches-nothing-outside, site-links-resolve, coverage,
  site-declares-its-language, install-address-is-answered,
  colour-stands-off-every-surface, page-matches-the-token-file, pr-hygiene
  all passed

Run 2026-08-22 at 15efd3e.

No guard, and nothing that would catch this

This adds no check, so there is no refusal to show. Nothing in this tree reads a decision file for an answer that has been replaced, and nothing could without being told which answers are live, so a sentence like the one repaired here is caught by a reader or not at all. That is the state rather than a gap I am opening.

Why this does not close #1

Entry 1's second half is open. The comment of 2026-08-11 on #1 records that AGPL-3.0-or-later and AGPL-3.0-only were both given for the code, and that the CC-BY-4.0 half needs a form as well as a variant because the boundary does not fall between files. Nothing since answers either. The tree states the first variant:

git grep -n 'AGPL-3.0-or-later' origin/main -- README.md
origin/main:README.md:134:| `manifest/`, `internal/`, `main.go` | The generator, which is a program | AGPL-3.0-or-later |
origin/main:README.md:135:| `docs/` | The published site, including the design system | AGPL-3.0-or-later |
origin/main:README.md:136:| `decisions/`, `*.md` | The documents | AGPL-3.0-or-later |
origin/main:README.md:137:| `sources/` | The declared source set, which is data | AGPL-3.0-or-later |

Run 2026-08-22 at c71e442.

Reading

This has had no second reader, and nothing here stands in for one. What is here instead is the commands: the population before the change, the population after it, the search that came back empty, and the gate at the head.

…er it replaced (#1)

Entry 4 of #1 asks whose name the catalogue's owner field carries, and two answers
were given without either being withdrawn. Four sites named the publishing
organisation and one named the releasing account, and that one also gave the reason
the answer was settled against: that the field should show the same name as the
release it came from.

decisions/plugin-identity.md now names the organisation and says what it was
settled on, and the superseded reason is written as superseded rather than deleted,
so a reader meeting the older argument elsewhere can see it was answered rather
than lost. The date the other four carry is 2026-08-11, the day the answer was
given, and they are left alone; this file says why the two dates differ.

The same attribution stood a second time in internal/identity, where a test comment
called reading the owner out of the release entry 4 implemented. It is not: entry 4
says which name the catalogue carries and decisions/names-are-data.md says where any
name comes from, and the two were written as one sentence. The comment now separates
them, and no behaviour changes with it.

What this prevents is the failure a superseded sentence causes rather than a broken
one: a decision file describing an answer that was replaced is indistinguishable
from one describing the answer in force, so the next reader takes it for current and
builds on it.

Nothing here adds a guard, and nothing in this tree refuses a decision file that
states a withdrawn answer, so this repair is carried by reading.

Signed-off-by: Nils Lehnen <30603423+iderex@users.noreply.github.com>
@iderex iderex added this to the 1. Decisions of record milestone Aug 22, 2026
@iderex iderex self-assigned this Aug 22, 2026
@iderex
iderex merged commit 8dc007d into main Aug 22, 2026
36 checks passed
@iderex
iderex deleted the decisions/entry-4-names-the-publishing-organisation branch August 22, 2026 18:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Decisions that are not mine to take

1 participant