Name the laboratory, not its upstream, on every public surface #161

Merged
claude merged 2 commits from oss-oo/lab-naming-public-surfaces into main 2026-10-27 15:27:18 +00:00
Member

Owner decision 2026-10-27 (Claudiu, in chat): the public face of oss-oo.io speaks of the laboratory — Labor, Laboratory, Laboratorium — and the name of the upstream software stays out of rendered texts and previews ("our origin, soon no longer recognisable"). Repositories that are literally about the upstream product (forgejo-core, forgejo-patches) keep their names on the owner's word.

What changes (rendered texts only, 8 files)

Surface Before After
Landing chips (site/landing/index.html) Forgejo 16 · laboratory engine / forgejo-runner · CI gates Forge core · laboratory engine / Forge runner · CI gates (the version number is dropped: the live core runs a 17.0.0-dev line, the old "16" was stale)
Agents page (site/agents/index.html) "the plain Forgejo API"; card "Forgejo Actions CI" "the plain laboratory API"; card "CI gates"
Forge footer hook (forgejo-custom/templates/custom/extra_links_footer.tmpl) "Powered by Forgejo" (external link) + "with Laboratory modifications" one link "Forged in the Laboratorium" → this repository (title: "The forge core and our modifications to it — the laboratory hosts its own recipe"); Donate ♥, Imprint, Status unchanged
Legal page (site/legal/index.html) "We run free software (Forgejo) on our own infrastructure." "We run free software on our own infrastructure."
Observatory (site/observatory/index.html, users.html) forge-meta label forgejo <version> · oss-oo.io forge core <version before the "+" build suffix> · oss-oo.io
Landing sitemap comment "(Forgejo serves its own, native ones…" "(the forge serves its own, native ones…"
docs/RUNBOOK.md footer row old footer text new footer text (now also lists Status)

Unchanged on purpose

  • Identifiers and paths: FORGEJO_TOKEN (agents page, it is the gateway's env var), compose service names, FORGEJO__… env keys, .forgejo/, forgejo-custom/, tests/fixtures/forgejo-head-upstream.tmpl.
  • forgejo-custom/templates/base/UPSTREAM-NOTICE.md, docs/third-party/forgejo-LICENSE.txt and the head.tmpl attribution comment — license attribution stays exactly as it is (the footer link was never a legal notice; the stock "powered by" line is already off via SHOW_FOOTER_POWERED_BY=false).
  • Operator docs (RUNBOOK beyond the footer row, RUNNERS, README component table): they describe what the recipe installs — a decision for the house, not for this PR.

Independent review (read-only subagent, no credentials, 2026-10-27 16:05–16:15)

No blocking finding; verdict "mergeable as is". Folded in by 51384ad: the stale engine version in the chip (should-fix), the card title "CI gates" and the observatory version suffix (nits). Verified by the reviewer: footer hook is valid Go html/template with one <a> per line; HTML/UTF-8 intact; both observatory scripts pass node --check; sitemap parses; RUNBOOK row keeps two columns; no test, script or CI step depends on the old strings (tests/seo_templates_test.go asserts on head.tmpl output and the landing JSON-LD only); license files untouched; dropping the external "powered by" link raises no GPLv3 attribution concern (no credit line is required, the stock footer credit was already off).

Left for the house (needs the e2e gate, a separate PR, or a design decision)

  1. compose.yml lines 35–37: the comment still quotes the old footer wording. Touching compose*.yml requires scripts/e2e-local.sh (AGENTS.md), which I did not run — fold it into the next compose change.
  2. Forge pages still render <meta name="author" content="Forgejo – Beyond coding. We forge."> and <meta name="keywords" content="git,forge,forgejo"> from the stock [ui.meta] defaults — FORGEJO__ui_0X2E_meta__AUTHOR / …__KEYWORDS in compose (uppercase X, the spelling the repo documents) would replace them; same gate.
  3. README.md prose (lines 18, 59; the component table rows 24 and 27 name the actual software, which may be wanted in a recipe): the footer link now lands on this repository, whose README names the upstream in its first screen — a separate small PR, no gate.
  4. /api/swagger is the stock swagger UI titled "Forgejo API" (linked from the agents page) — a forgejo-custom/templates/swagger/ui.tmpl override would be the follow-up.
  5. forgejo-custom/public/assets/img/BRANDING.md is an operator note served publicly at /assets/img/BRANDING.md and names the upstream — moving it out of public/ (e.g. docs/) needs no gate.
  6. Done already with the agent identities' admin rights: the repository description of OSS-OO/laboratory now reads "… Forge core, CI runner, MCP agent gateway …"; topics in both orgs carry no upstream name.

Verification

  • Live grep (anonymous, 2026-10-27 15:55 CET) before the change: / 2 hits (the chips), /agents/ 3 (two prose, one env var), /legal/ 1 sentence, /user/login footer link + the two meta tags — confirmed independently by the reviewer; this PR removes every rendered prose hit under site/ and the footer link.
  • The station has no go; the SEO test runs in CI only. CI on 21952ae: ci / ci and access-validation-contract / contract both green; CI on 51384ad: see the checks.
  • Stage reached: code + independent review, awaiting the re-run of CI; nothing deployed — the deploy follows the house's release chain.

🤖 Generated with Claude Code

Owner decision 2026-10-27 (Claudiu, in chat): the public face of oss-oo.io speaks of the laboratory — Labor, Laboratory, Laboratorium — and the name of the upstream software stays out of rendered texts and previews ("our origin, soon no longer recognisable"). Repositories that are literally about the upstream product (`forgejo-core`, `forgejo-patches`) keep their names on the owner's word. ## What changes (rendered texts only, 8 files) | Surface | Before | After | |---|---|---| | Landing chips (`site/landing/index.html`) | **Forgejo 16** · laboratory engine / **forgejo-runner** · CI gates | **Forge core** · laboratory engine / **Forge runner** · CI gates (the version number is dropped: the live core runs a 17.0.0-dev line, the old "16" was stale) | | Agents page (`site/agents/index.html`) | "the plain Forgejo API"; card "Forgejo Actions CI" | "the plain laboratory API"; card "CI gates" | | Forge footer hook (`forgejo-custom/templates/custom/extra_links_footer.tmpl`) | "Powered by Forgejo" (external link) + "with Laboratory modifications" | one link **"Forged in the Laboratorium"** → this repository (title: "The forge core and our modifications to it — the laboratory hosts its own recipe"); Donate ♥, Imprint, Status unchanged | | Legal page (`site/legal/index.html`) | "We run free software (Forgejo) on our own infrastructure." | "We run free software on our own infrastructure." | | Observatory (`site/observatory/index.html`, `users.html`) | forge-meta label `forgejo <version> · oss-oo.io` | `forge core <version before the "+" build suffix> · oss-oo.io` | | Landing sitemap comment | "(Forgejo serves its own, native ones…" | "(the forge serves its own, native ones…" | | `docs/RUNBOOK.md` footer row | old footer text | new footer text (now also lists Status) | ## Unchanged on purpose - Identifiers and paths: `FORGEJO_TOKEN` (agents page, it is the gateway's env var), compose service names, `FORGEJO__…` env keys, `.forgejo/`, `forgejo-custom/`, `tests/fixtures/forgejo-head-upstream.tmpl`. - `forgejo-custom/templates/base/UPSTREAM-NOTICE.md`, `docs/third-party/forgejo-LICENSE.txt` and the `head.tmpl` attribution comment — license attribution stays exactly as it is (the footer link was never a legal notice; the stock "powered by" line is already off via `SHOW_FOOTER_POWERED_BY=false`). - Operator docs (RUNBOOK beyond the footer row, RUNNERS, README component table): they describe what the recipe installs — a decision for the house, not for this PR. ## Independent review (read-only subagent, no credentials, 2026-10-27 16:05–16:15) No blocking finding; verdict "mergeable as is". Folded in by 51384ad: the stale engine version in the chip (should-fix), the card title "CI gates" and the observatory version suffix (nits). Verified by the reviewer: footer hook is valid Go html/template with one `<a>` per line; HTML/UTF-8 intact; both observatory scripts pass `node --check`; sitemap parses; RUNBOOK row keeps two columns; no test, script or CI step depends on the old strings (`tests/seo_templates_test.go` asserts on `head.tmpl` output and the landing JSON-LD only); license files untouched; dropping the external "powered by" link raises no GPLv3 attribution concern (no credit line is required, the stock footer credit was already off). ## Left for the house (needs the e2e gate, a separate PR, or a design decision) 1. `compose.yml` lines 35–37: the comment still quotes the old footer wording. Touching `compose*.yml` requires `scripts/e2e-local.sh` (AGENTS.md), which I did not run — fold it into the next compose change. 2. Forge pages still render `<meta name="author" content="Forgejo – Beyond coding. We forge.">` and `<meta name="keywords" content="git,forge,forgejo">` from the stock `[ui.meta]` defaults — `FORGEJO__ui_0X2E_meta__AUTHOR` / `…__KEYWORDS` in compose (uppercase X, the spelling the repo documents) would replace them; same gate. 3. `README.md` prose (lines 18, 59; the component table rows 24 and 27 name the actual software, which may be wanted in a recipe): the footer link now lands on this repository, whose README names the upstream in its first screen — a separate small PR, no gate. 4. `/api/swagger` is the stock swagger UI titled "Forgejo API" (linked from the agents page) — a `forgejo-custom/templates/swagger/ui.tmpl` override would be the follow-up. 5. `forgejo-custom/public/assets/img/BRANDING.md` is an operator note served publicly at `/assets/img/BRANDING.md` and names the upstream — moving it out of `public/` (e.g. `docs/`) needs no gate. 6. Done already with the agent identities' admin rights: the repository description of `OSS-OO/laboratory` now reads "… Forge core, CI runner, MCP agent gateway …"; topics in both orgs carry no upstream name. ## Verification - Live grep (anonymous, 2026-10-27 15:55 CET) before the change: `/` 2 hits (the chips), `/agents/` 3 (two prose, one env var), `/legal/` 1 sentence, `/user/login` footer link + the two meta tags — confirmed independently by the reviewer; this PR removes every rendered prose hit under `site/` and the footer link. - The station has no `go`; the SEO test runs in CI only. CI on 21952ae: `ci / ci` and `access-validation-contract / contract` both green; CI on 51384ad: see the checks. - Stage reached: code + independent review, awaiting the re-run of CI; nothing deployed — the deploy follows the house's release chain. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude agent added 1 commit 2026-10-27 14:57:04 +00:00
Name the laboratory, not its upstream, on every public surface
All checks were successful
access-validation-contract / contract (pull_request) Successful in 3m19s
ci / ci (pull_request) Successful in 5m27s
21952ae76b
Owner decision 2026-10-27: the public face of oss-oo.io speaks of the
laboratory (Labor, Laboratory, Laboratorium); the name of the upstream
software stays out of rendered texts and previews.

Rendered texts that change:
- landing chips: "Forge core 16 · laboratory engine" and
  "Forge runner · CI gates"
- agents page: "the plain laboratory API"; card title "Actions CI"
- forge footer hook: one link "Forged in the Laboratorium" to the
  laboratory repository replaces "Powered by … with Laboratory
  modifications" (Donate, Imprint, Status unchanged)
- legal page: "We run free software on our own infrastructure."
- observatory pages: forge-meta label "forge core <version> · oss-oo.io"
- landing sitemap comment: "the forge serves its own"
- RUNBOOK footer row follows the new footer text

Unchanged on purpose: code identifiers and paths (FORGEJO_TOKEN,
compose service names, env keys, .forgejo/, forgejo-custom/), the
UPSTREAM-NOTICE and third-party license attribution, operator docs.
Not in this change because it needs the e2e gate or admin rights:
the compose.yml footer comment and the [ui.meta] author/keywords
defaults, the repository descriptions and topics.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude agent added 1 commit 2026-10-27 15:16:13 +00:00
Fold in the independent review of the public-surface renames
All checks were successful
access-validation-contract / contract (pull_request) Successful in 3m17s
ci / ci (pull_request) Successful in 6m32s
51384ad0bf
- landing chip: drop the engine version number — the live core runs a
  17.0.0-dev line (compose.prod.yml pin, /api/v1/version), the old "16"
  was stale and a dev-line version does not belong in a chip
- agents page: the CI card is named by its gate, "CI gates", matching
  the landing chip and the card's own text about verification gates
- observatory pages: the forge-meta label keeps only the version before
  the "+" build suffix, which names another upstream

Review (read-only subagent, 2026-10-27 16:05–16:15): no blocking
finding; this commit folds in the one should-fix and the two nits that
sit inside the PR's files.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
claude agent merged commit 00435ff970 into main 2026-10-27 15:27:18 +00:00
claude agent deleted branch oss-oo/lab-naming-public-surfaces 2026-10-27 15:27:18 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
OSS-OO/laboratory!161
No description provided.