From 5b51270459cebd2d74f76e533abcb95a3288dcc8 Mon Sep 17 00:00:00 2001 From: Implementer Date: Wed, 30 Sep 2026 21:29:49 +0200 Subject: [PATCH] Takes conventions v1.38.0 The family resync moves robertblust/conventions in `conventions.json` from v1.37.0 to v1.38.0. The upstream notes are at https://github.com/robertblust/conventions/releases/tag/v1.38.0. Verified: `sh conventions/conventions-sync sync`, `./mvnw -B verify`, `sh service-conventions/regen-er && git diff --exit-code docs/er-schema.mmd`, `sh service-conventions/service-conventions-sync check`, `sh service-conventions/service-conventions-check` and `sh service-conventions/regen-api && git diff --exit-code src/main/resources/api/openapi.yaml` passed. Process: Delivery Phase: Implement Track: Code --- .github/workflows/conventions.yml | 2 +- AGENTS.md | 2 +- conventions.json | 2 +- conventions/AGENTS.md | 2 +- conventions/BACKREADER.md | 2 +- conventions/EDITOR.md | 2 +- conventions/TRANSLATOR.md | 4 ++-- conventions/WRITING.md | 2 +- conventions/manifest.json | 12 ++++++------ 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/.github/workflows/conventions.yml b/.github/workflows/conventions.yml index 81bed84..7ddae12 100644 --- a/.github/workflows/conventions.yml +++ b/.github/workflows/conventions.yml @@ -5,4 +5,4 @@ on: pull_request: jobs: conventions: - uses: robertblust/conventions/.github/workflows/check.yml@v1.37.0 + uses: robertblust/conventions/.github/workflows/check.yml@v1.38.0 diff --git a/AGENTS.md b/AGENTS.md index ab7d71b..2c0802f 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,4 +1,4 @@ - + Shared conventions of the robertblust, guestgraph and companygraph organizations live in `conventions/`, vendored from robertblust/conventions at the release `conventions.json` names. Read them before writing or committing anything here. - `conventions/WRITING.md` — how we write: one voice, three registers, English and German. diff --git a/conventions.json b/conventions.json index 3e32a3c..ce0b3ee 100644 --- a/conventions.json +++ b/conventions.json @@ -1 +1 @@ -{ "repo": "robertblust/conventions", "tag": "v1.37.0", "exclude": ["target", ".specify", ".claude", "docs/superpowers"], "format-exclude": ["target", ".specify", ".claude"] } +{ "repo": "robertblust/conventions", "tag": "v1.38.0", "exclude": ["target", ".specify", ".claude", "docs/superpowers"], "format-exclude": ["target", ".specify", ".claude"] } diff --git a/conventions/AGENTS.md b/conventions/AGENTS.md index 9fd87b5..81d8489 100644 --- a/conventions/AGENTS.md +++ b/conventions/AGENTS.md @@ -1,4 +1,4 @@ - + Shared conventions of the robertblust, guestgraph and companygraph organizations live in `conventions/`, vendored from robertblust/conventions at the release `conventions.json` names. Read them before writing or committing anything here. - `conventions/WRITING.md` — how we write: one voice, three registers, English and German. diff --git a/conventions/BACKREADER.md b/conventions/BACKREADER.md index d22033f..f524abb 100644 --- a/conventions/BACKREADER.md +++ b/conventions/BACKREADER.md @@ -4,7 +4,7 @@ The role that says in English what a page's German says, literally. It is given ## What it takes -Every German value of one page in the page's order, with its id. +Every German value of one page in the page's order, with its id. On a page of a model, the values are the elements of its `## de-CH` section. ## What it produces diff --git a/conventions/EDITOR.md b/conventions/EDITOR.md index 4ab1214..5c59d37 100644 --- a/conventions/EDITOR.md +++ b/conventions/EDITOR.md @@ -4,7 +4,7 @@ The role that reads a page's German as German. It is given the German alone, nev ## What it takes -Every German value of one page in the page's order, with its id and what kind of value it is — a heading, a paragraph, a speaker note a voice reads aloud, a label read to a screen reader, a title, a description. `GLOSSARY.md` and `GERMAN.md`, read before the page. +Every German value of one page in the page's order, with its id and what kind of value it is — a heading, a paragraph, a speaker note a voice reads aloud, a label read to a screen reader, a title, a description. `GLOSSARY.md` and `GERMAN.md`, read before the page. On a page of a model, the values are the elements of its `## de-CH` section. ## What it produces diff --git a/conventions/TRANSLATOR.md b/conventions/TRANSLATOR.md index 10fc5cb..a3f5d8c 100644 --- a/conventions/TRANSLATOR.md +++ b/conventions/TRANSLATOR.md @@ -4,7 +4,7 @@ The role that makes the German of a page whose English the owner has reviewed. I ## What it takes -A page, not a list of elements: every German value the page carries, each beside its English and the German it carries now, in the page's order. The page is the unit because a sentence is translated against the one before it — a pronoun names what the reader has met, *page* and *site* are told apart, and a term is the same term from the top of the page to the bottom. Reviewed means the owner has said the English is done; a draft is not reviewed, and the translator says so rather than assuming. A page's own agent file says where that page carries German. +A page, not a list of elements: every German value the page carries, each beside its English and the German it carries now, in the page's order. The page is the unit because a sentence is translated against the one before it — a pronoun names what the reader has met, *page* and *site* are told apart, and a term is the same term from the top of the page to the bottom. Reviewed means the owner has said the English is done; a draft is not reviewed, and the translator says so rather than assuming. A page's own agent file says where that page carries German. A page of a model is taken the same way, where the instance's `model/localization.md` declares de-CH translated: its values are the elements of its `## de-CH` section, its name, its statement and each section, and an entity that other pages list under a grouped heading is translated before them, so the German name those headings take already exists. ## What it produces @@ -18,7 +18,7 @@ The marks and forms are the German section of `WRITING.md`: Sie, ss, «» and ## What it never does -It never changes an English word, never translates an element whose English is not reviewed, never renders a glossary term in any form but the glossary's, never writes German on a page whose note says the model's own words stay English in both views, and never commits. +It never changes an English word, never translates an element whose English is not reviewed, never renders a glossary term in any form but the glossary's, never writes a model's German where the instance's `model/localization.md` does not declare de-CH, and never commits. Where it does, the German goes into the page's `## de-CH` section and nowhere else, in the shape R19 gives it: the page's elements under the schema's English headings, a table repeated whole with only its free text translated, a grouped heading as the German name of the entity it names, and the frontmatter untouched. ## Before it reports diff --git a/conventions/WRITING.md b/conventions/WRITING.md index c78e18e..0ea4057 100644 --- a/conventions/WRITING.md +++ b/conventions/WRITING.md @@ -14,7 +14,7 @@ A text starts from a brief that names the audience, the one point, the facts it The writer of `WRITER.md` drafts the English on the branch, in the register the place calls for, and reports what it wrote and which claims it could not trace to the brief or the repository. The owner reviews on the branch, in the diff and on the rendered page, because that is the review a pull request gets anyway and a second channel would be a second place to lose a correction. -The translator of `TRANSLATOR.md` makes the German of a whole page from its reviewed English, with `GLOSSARY.md` and `GERMAN.md` open. The editor of `EDITOR.md` reads that German without the English, corrects what a rule decides and flags what is a choice. The back-reader of `BACKREADER.md`, once the editor's corrections and each flag's first option are in, renders the German into literal English without having seen the original, and the session that dispatched them sets the English against that rendering and sends back every value whose meaning moved. The owner then reads the flags and the translator's term doubts and picks; a term choice becomes a row of `GLOSSARY.md`, and a sentence choice that generalizes becomes a row of `GERMAN.md`. German made from a draft is German that has to be made again, and an English edit re-runs the roles on the values it touched. +The translator of `TRANSLATOR.md` makes the German of a whole page from its reviewed English, with `GLOSSARY.md` and `GERMAN.md` open. The editor of `EDITOR.md` reads that German without the English, corrects what a rule decides and flags what is a choice. The back-reader of `BACKREADER.md`, once the editor's corrections and each flag's first option are in, renders the German into literal English without having seen the original, and the session that dispatched them sets the English against that rendering and sends back every value whose meaning moved. The owner then reads the flags and the translator's term doubts and picks; a term choice becomes a row of `GLOSSARY.md`, and a sentence choice that generalizes becomes a row of `GERMAN.md`. German made from a draft is German that has to be made again, and an English edit re-runs the roles on the values it touched. A model whose `model/localization.md` declares de-CH carries its German inside the model, in each page's `## de-CH` section, made by the same roles and the owner's picks; a pull request that changes a page's English changes its German with it, or says in a `Translation-unchanged:` trailer why the German stands. The writer and the translator edit files, the editor and the back-reader only report, and none of them commits. `WORKING.md` says who does. diff --git a/conventions/manifest.json b/conventions/manifest.json index f297cc2..1a7ef5e 100644 --- a/conventions/manifest.json +++ b/conventions/manifest.json @@ -1,18 +1,18 @@ { "repo": "robertblust/conventions", - "tag": "v1.37.0", + "tag": "v1.38.0", "files": { - "conventions/WRITING.md": "sha256:51d9a902ec3038392160df07f86aba98d34db1d4dbfaa5f4a647590eaccfb390", + "conventions/WRITING.md": "sha256:625c12b0d52ac3ad74c8a364228005e3441818297022246865f884a687f96e71", "conventions/WORKING.md": "sha256:8fa553323ec1d53c8a2b4b5f260790731db69856a1053896f771db3caf94ee1c", "conventions/REPOSITORIES.md": "sha256:c37d322b74344a7677ab5248841b230612c42107e6721123971458abde03dddd", "conventions/PINS.md": "sha256:ccfa0b7876eb3b71127cfe1db573e03a0ed42b84cd0c4b80270a2ba0bef80bd9", "conventions/WRITER.md": "sha256:bc3b92683130b75993f824f0e34073d4344846c91be2009fd90c39099fd4fd48", - "conventions/TRANSLATOR.md": "sha256:026c4767347ea907e6ef285f7ccf8192e0b3dec12b40207acd32ad3a2f9b5140", + "conventions/TRANSLATOR.md": "sha256:d56af63a98ce17c0219efc09a368a1a21f52b5dded59cef7aa83471383fd9183", "conventions/GLOSSARY.md": "sha256:ffad6b58a3c3b5c92109ec15b1aa0669a2915e9641b7d240c3126a65a16a3cbf", "conventions/GERMAN.md": "sha256:2f4651dd74e2970f0751621bf9264441b43ee619b8a6e1373d5f3c7809581f77", - "conventions/EDITOR.md": "sha256:e65d0b2893ac841faefede9b873f7e33c1fd7b02bedf97d37d5362c0e83c08ea", - "conventions/BACKREADER.md": "sha256:36b12d4bee8e4fe190469e2f550d50d8a7f6dcab6bec573da17eb1c165c417cd", - "conventions/AGENTS.md": "sha256:44f02db310f5ae86489c11e5cc4fc54f56a5e67a17dae43933a28dd044e54433", + "conventions/EDITOR.md": "sha256:5f761da18ae1b6c6e953b71cf79573c9dd1896db44c0c61593540281e8eb0777", + "conventions/BACKREADER.md": "sha256:9f114bedb78e18d6c9505f95728992f06fd334a08c6aab66b18a31882d7c0ebd", + "conventions/AGENTS.md": "sha256:13d15a8a1f1994e0b20a3fe11cfc8d46a758dd47ee0e869d66d9f705ad9b712a", "conventions/conventions-sync": "sha256:a190ff79c2d8d3f6f6d9a597e9f261654f2419d30e2ac43abf6c64ebe2c47ed9", "conventions/conventions-check": "sha256:30b2528e84381f04fd6b06b26ef103cd2360d877639706eb0b53f362a10fc433", "conventions/conventions-format": "sha256:2911a0d30dda1bc0f621522a9538b3e39704eee03458e65ba320eccbf39b5c7f",